Commit Graph

10243 Commits

Author SHA1 Message Date
Sage Weil
7ec68dcbd7 mds: add removal snap_seq to removed_snaps
This prevents lots of fragmentation in removed_snaps interval set.
2010-05-03 16:41:16 -07:00
Sage Weil
14dd8a9a8a mds: acquire anchor_create locks in caller
We're not allowed to call acquire_locks again once we've completed locking.
Do it in the caller.  Add a helper that will also take an rdlock to ensure
the anchor doesn't go away due to a racing operation.
2010-05-03 15:04:16 -07:00
Sage Weil
11184b90e1 objecter: fix ~Message() calls (use ->put()) 2010-05-03 14:11:52 -07:00
Sage Weil
53a5b4a5e8 mdsmap: cleanup up braces 2010-05-03 14:11:52 -07:00
Sage Weil
632b24f782 mds: fix EXCL rdlock rule
Only the exclusive client should be able to rdlock.  (if anyone!)

No observed problems, caught by inspection.
2010-05-03 14:02:29 -07:00
Sage Weil
409a54f175 mds: fix lock->sync rdlock rule
Observed symptom was touch foo on one node, and missing from ls on another
node.

Since auth rdlock isn't allowed for LOCk, it clearly shouldn't be for
LOCK->SYNC while e.g. wrlock modifications are still being flushed to the
journal and aren't yet applied.
2010-05-03 14:02:29 -07:00
Sage Weil
291c0ab7bd filejournal: create if mkfs and journal is small OR dne. 2010-05-03 10:17:53 -07:00
Sage Weil
b53d0ed61a filejournal: return error instead of asserting 2010-05-02 20:50:58 -07:00
Sage Weil
60095d9daf mon: correctly update up map when taking over for creating|starting mds
Otherwise we can get crap like

in <0>
up <{0=4103}>
failed <>
stopped <>
4300: 192.168.141.103:6800/9446 '0' mds0.0 up:creating seq 2
2010-04-30 16:24:34 -07:00
Sage Weil
3374fbfc0a Merge commit 'v0.20' into unstable
Conflicts:
	src/mon/LogMonitor.cc
	src/mon/MDSMonitor.cc
	src/mon/Monitor.cc
	src/mon/OSDMonitor.cc
	src/mon/PGMonitor.cc
2010-04-30 15:44:54 -07:00
Sage Weil
266d2076b6 debian: fix up debian scripts 2010-04-30 15:11:19 -07:00
Sage Weil
b022a285c6 ceph.spec.in: updates 2010-04-30 14:22:30 -07:00
Sage Weil
f244067aab ceph.spec.in: from Josef 2010-04-30 14:22:30 -07:00
Sage Weil
974f2eeec2 mds: fix trim_dentry on dentry under unlinked dir
We can get a dentry that is trimmable (e.g. null) under a new unlinked dir,
which has no subtree.  This will only happen on the auth.  In that case,
having no container is harmless--it's only needed for replicas.

This fixes the following crash:

mds/MDCache.cc: In function 'void MDCache::trim_dentry(CDentry*, std::map<int, MCacheExpire*, std::less<int>, std::allocator<std::pair<const int, MCacheExpire*> > >&)':
mds/MDCache.cc:4797: FAILED assert(con)
 1: (MDCache::trim(int)+0x214) [0x4ffbc4]
 2: (MDS::tick()+0x4c1) [0x48f3b1]
 3: (SafeTimer::EventWrapper::finish(int)+0x269) [0x683a89]
 4: (Timer::timer_entry()+0x819) [0x685909]
 5: (Timer::TimerThread::entry()+0xd) [0x47528d]
 6: (Thread::_entry_func(void*)+0x7) [0x48a8a7]
 7: /lib/libpthread.so.0 [0x7ffe62356fc7]
 8: (clone()+0x6d) [0x7ffe615835ad]
 NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.

Signed-off-by: Sage Weil <sage@newdream.net>
2010-04-30 13:02:11 -07:00
Sage Weil
aebc239ef2 osd: fix pg_to_acting_osds() calculation to consider pg_temp
The OSD was using pg_to_up_acting, the client uses pg_to_acting, and their
calculations of 'acting' weren't consistent because the latter did not
consider pg_temp.

Use new helpers to clean this up.

Signed-off-by: Sage Weil <sage@newdream.net>
2010-04-30 13:02:11 -07:00
Sage Weil
17a2dcbd15 objecter: show osds in laggy debug output 2010-04-30 12:58:56 -07:00
Sage Weil
0b0e120178 mds: fix trim_dentry on dentry under unlinked dir
We can get a dentry that is trimmable (e.g. null) under a new unlinked dir,
which has no subtree.  This will only happen on the auth.  In that case,
having no container is harmless--it's only needed for replicas.

This fixes the following crash:

mds/MDCache.cc: In function 'void MDCache::trim_dentry(CDentry*, std::map<int, MCacheExpire*, std::less<int>, std::allocator<std::pair<const int, MCacheExpire*> > >&)':
mds/MDCache.cc:4797: FAILED assert(con)
 1: (MDCache::trim(int)+0x214) [0x4ffbc4]
 2: (MDS::tick()+0x4c1) [0x48f3b1]
 3: (SafeTimer::EventWrapper::finish(int)+0x269) [0x683a89]
 4: (Timer::timer_entry()+0x819) [0x685909]
 5: (Timer::TimerThread::entry()+0xd) [0x47528d]
 6: (Thread::_entry_func(void*)+0x7) [0x48a8a7]
 7: /lib/libpthread.so.0 [0x7ffe62356fc7]
 8: (clone()+0x6d) [0x7ffe615835ad]
 NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.

Signed-off-by: Sage Weil <sage@newdream.net>
2010-04-30 12:58:56 -07:00
Sage Weil
1b3e4fb088 osd: fix pg_to_acting_osds() calculation to consider pg_temp
The OSD was using pg_to_up_acting, the client uses pg_to_acting, and their
calculations of 'acting' weren't consistent because the latter did not
consider pg_temp.

Use new helpers to clean this up.

Signed-off-by: Sage Weil <sage@newdream.net>
2010-04-30 10:46:17 -07:00
Sage Weil
5210d6c386 objecter: show osds in laggy debug output 2010-04-30 10:11:16 -07:00
Sage Weil
0cb8ad43d9 filestore: fail to mount if journal open fails
Clean up error reporting too.
2010-04-29 21:43:12 -07:00
Sage Weil
dc84acd659 filestore: fail to mount if journal open fails
Clean up error reporting too.
2010-04-29 21:43:07 -07:00
Sage Weil
7ad4202320 msgr: fix sigint/term signal handler to actually quit (by chaining) 2010-04-29 21:12:38 -07:00
Sage Weil
3480dc696d msgr: fix sigint/term signal handler to actually quit (by chaining) 2010-04-29 21:12:16 -07:00
Sage Weil
269d142634 librados: fix blank pool stats 2010-04-29 15:05:39 -07:00
Sage Weil
96a90efcf2 librados: fix blank pool stats 2010-04-29 15:04:59 -07:00
Sage Weil
61b4b2956b qa: make pjd clean up 2010-04-29 14:29:36 -07:00
Sage Weil
ebe05ae6b4 mds: clean up MIN/MAX, client_ranges
Avoid double evaluation via macros...
2010-04-29 14:29:33 -07:00
Sage Weil
d595ad4481 msgr: remove pid file on SIGINT, SIGTERM 2010-04-29 14:29:23 -07:00
Sage Weil
8fcb0cc423 qa: make pjd clean up 2010-04-29 14:28:51 -07:00
Sage Weil
3a9439caa9 mds: clean up MIN/MAX, client_ranges
Avoid double evaluation via macros...
2010-04-29 14:28:51 -07:00
Sage Weil
30561d8433 msgr: remove pid file on SIGINT, SIGTERM 2010-04-29 14:28:44 -07:00
Sage Weil
a31ea46f35 config: post-process default config options too
Previously we were only doing the ones we read out of the .conf.
2010-04-29 11:57:38 -07:00
Sage Weil
d1441462a0 config: post-process default config options too
Previously we were only doing the ones we read out of the .conf.
2010-04-29 11:56:49 -07:00
Sage Weil
318dfbeb80 mon: use (robust) buffer::list::write_fd() to write to disk 2010-04-29 10:43:55 -07:00
Sage Weil
63385d02e3 mon: use (robust) buffer::list::write_fd() to write to disk 2010-04-29 10:43:24 -07:00
Sage Weil
1f55b17594 mon: m->get_session() may return null if session has closed
because the session close clears connection->priv.  We need to check at
each site anyway, either for null session, or for session->closed.  So
check for null session.

Conflicts:

	src/mon/Monitor.cc
	src/mon/OSDMonitor.cc
	src/mon/PGMonitor.cc
2010-04-29 10:27:02 -07:00
Sage Weil
84c386ea0d mon: m->get_session() may return null if session has closed
because the session close clears connection->priv.  We need to check at
each site anyway, either for null session, or for session->closed.  So
check for null session.
2010-04-29 10:22:13 -07:00
Sage Weil
a846236ba5 configure: remove second AM_INIT_AUTOMAKE line 2010-04-28 15:55:22 -07:00
Sage Weil
6e7ff1a215 msgr: fix segfault sending msg on closed Connection/pipe 2010-04-28 14:22:48 -07:00
Sage Weil
48c086a5b5 string fix 2010-04-28 14:18:05 -07:00
Sage Weil
2e2222f803 msgr: fix segfault sending msg on closed Connection/pipe 2010-04-28 14:07:20 -07:00
Greg Farnum
59e77b353c msgr: add message throttling; with a default max of 100MB waiting for dispatch 2010-04-28 13:56:43 -07:00
Sage Weil
b8cca8f34b replace nstring with std::string 2010-04-28 13:45:55 -07:00
Sage Weil
07e1a2f6d3 throttle: add fairness
This assumes that SignalOne() will wake people up in the right order.  Not
sure if that's true...
2010-04-28 10:36:30 -07:00
Sage Weil
218f031a37 mds: fix snaprealm split on capless inode 2010-04-26 14:51:15 -07:00
Sage Weil
f688ffabe6 mds: fix snaprealm split on capless inode 2010-04-26 14:08:27 -07:00
Sage Weil
b3bb8c608c buffer: clean up namespace pollution 2010-04-26 14:08:19 -07:00
Yehuda Sadeh
6ec8870d08 poolop: rename and move definitions to ceph_fs.h
This was done so that we can use it in the kclient
2010-04-24 10:10:00 -07:00
Sage Weil
0decb33d4a Makefile: define __CEPH__ in ceph builds. use it.
Avoid breakage when headers are used outside of ceph build (librados-dev)
2010-04-23 15:50:29 -07:00
Sage Weil
a6ee3aef93 mds: fix req use-after-free to get connection to direct reply 2010-04-23 15:22:34 -07:00