Commit Graph

6701 Commits

Author SHA1 Message Date
Sage Weil
01512cd1a3 kclient: fix mount err reporting
No more delay
2009-05-19 09:57:53 -07:00
Sage Weil
2e03c11275 filer: make probe recover size and/or mtime; fix some bugs
This fixes up MDS recovery to find the file size.  And makes
probe actually work.. it was pretty broken before.
2009-05-18 16:52:30 -07:00
Sage Weil
3b6db0d6f0 osd: cleanly implement OSD_OP_STAT
Put stat result (size AND mtime) in read result bufferlist.
2009-05-18 16:52:26 -07:00
Sage Weil
b064ed3598 uclient: fix missing cap behavior
Ignore cap messages if we don't have the inode or cap.
2009-05-18 14:48:54 -07:00
Sage Weil
507cd9a8c2 kclient: style fixes 2009-05-18 13:22:03 -07:00
Sage Weil
bd5319bac8 kclient: strip trailing whitespace 2009-05-18 13:21:58 -07:00
Sage Weil
de0611c260 initscript: make sure cmdline instance exists 2009-05-18 12:01:21 -07:00
Sage Weil
04e072c5b6 kclient: make bookkeeper compile when not in .config 2009-05-18 11:28:49 -07:00
Sage Weil
791d9163d9 osd: clean up output 2009-05-18 11:20:31 -07:00
Sage Weil
3563d61c6d mds: drop mut locks after file_recover_cow 2009-05-18 11:27:06 -07:00
Sage Weil
76d831d0a9 mds: fix caps issued on snapped inodes
Do not adjust Capability on snapped inodes (otherwise cap state
gets out of sync with client).
2009-05-18 11:27:06 -07:00
Yehuda Sadeh
0e590b781d kclient: keep page locked after page_mkwrite call 2009-05-18 11:11:22 -07:00
Yehuda Sadeh
e7036c8055 kclient: disable bookkeeper when including some kernel headers 2009-05-18 11:03:10 -07:00
Sage Weil
5d43e278a3 mds: kill fugly arg to rdlock_path_pin_ref
The caller (readdir, in this case) can do it now, since it now does the
acquire_locks() call.
2009-05-14 16:33:48 -07:00
Sage Weil
713da5c70f mds: rdlock filelock during readdir
This ensures any uncommitted creates/whatevers in the directory flush
(and we see them!).
2009-05-14 16:31:29 -07:00
Sage Weil
3caa38683a mds: no rdlock in filelock LOCK state
Otherwise we get wrlocks AND rdlocks at the same time, which is clearly
problematic.  Der.

Also fix _rdlock_kick to not simple_lock, since that won't help us.
2009-05-14 16:30:51 -07:00
Sage Weil
f275b458fb mds: drain wrlocks before going from LOCK->SYNC in file_eval
This avoids excessive waits for the journal to flush on lock->sync
when a client request holds a wrlock.  There's no reason to hurry.. if
someone needs it sync we can to the transition then; otherwise, it'll
happen when the wrlock is dropped.
2009-05-14 16:10:27 -07:00
Sage Weil
3b6a6f1e24 .gitignore update 2009-05-14 14:23:40 -07:00
Sage Weil
c840445512 mds: break CAP_RDCACHE into CAP_SHARED, CAP_CACHE
FILE_CAP_RDCACHE was being used to mean both read access to the
file attributes (size, mtime) and permission to retain cached
data.  That lead to an incorrect definition of the filelock in the
mds, and in turn bugs with multiple client access.  These are now
CAP_*_SHARED (all locks) and CAP_FILE_CACHE (filelock only).

The main observed symptom was a client creating files in a
directory and a second client not seeing them, due to RDCACHE not
being revoked and rdcache_gen thus not incrementing, allowing a
dcache readdir to proceed.
2009-05-14 13:57:25 -07:00
Sage Weil
4ba1d99eef kclient: don't skip EXPIREABLE caps
EXPIREABLE is obsolete.  We need to reconnect _all_ caps!
2009-05-14 13:47:31 -07:00
Sage Weil
c0aa0e2548 kclient: fix crush decoding for recent changes 2009-05-13 17:02:44 -07:00
Sage Weil
56cc833e27 rev osd protocol, disk format to reflect crush changes 2009-05-13 16:49:05 -07:00
Sage Weil
bc58419f99 crush: fix crush_perm_choose; optimize r=0 case.
This was misbehaving for x=0, among other things.

Avoid filling in perm array for the initial (p)r=0 call.  We only
need to do a full permutation for subsequent r.
2009-05-13 16:46:20 -07:00
Sage Weil
0c2871fb0d psim: count result set sizes 2009-05-13 14:57:14 -07:00
Sage Weil
904b299ab4 crush: fall back to exhaustive bucket search for any bucket type
If we don't get a bucket-specific choice in 5 tries, do an
exhaustive search (based on a random permutation).  Only then give
up on the bucket and retry descent.

Note that the search-based fallback does not honor weighting at
all.
2009-05-13 14:57:10 -07:00
Sage Weil
94983dc90e crush: ditch prime number theorem; generate random permutation on the fly 2009-05-13 14:57:07 -07:00
Sage Weil
39f31ae459 crush: improve uniform selection a bit
Shift to a new prime (and thus permutation) every few r.
2009-05-13 14:57:04 -07:00
Sage Weil
f528c893fc mds todo 2009-05-11 14:33:17 -07:00
Sage Weil
7ce1f09741 kclient: fail connection when s_addr==0 and port/nonce don't match
Even if s_addr is 0, the port and nonce should match.  We were
previously going ahead with the connection when we shouldn't have
been.
2009-05-11 14:00:52 -07:00
Sage Weil
75ebabf63e mds: maintain capid across mds restart and client reconnect 2009-05-11 13:54:03 -07:00
Sage Weil
9689aca082 mon: don't replace standby mds 2009-05-11 13:21:26 -07:00
Sage Weil
9cc69584f9 mds: handle MMonMap 2009-05-11 13:09:30 -07:00
Sage Weil
5d51f27e64 journaler: fix replay
Broken by commit 497ade3b90.

Use objecter to write header (not just to read it).

Also reset the prefetch values each time the layout is set.
2009-05-11 13:09:22 -07:00
Sage Weil
94ea226cca mds: fix loner drops
This was broken way back by commit 0c3becdf.

Only drop loner in eval().
2009-05-11 11:34:37 -07:00
Sage Weil
1424a3695a rev protocols
Just for good measure, since I missed a few changes earlier.
2009-05-11 11:15:44 -07:00
Sage Weil
ceac0e0023 debian: new rules file. don't strip. 2009-05-11 11:02:04 -07:00
Sage Weil
9418e2896b osd: fix accounting .snap thing 2009-05-11 11:02:04 -07:00
Sage Weil
0fca6d31ff conf: improved sample 2009-05-09 11:26:40 -07:00
Sage Weil
f67390848e mon: check for osd exists before up/down 2009-05-08 14:04:58 -07:00
Sage Weil
026166ff53 osd: maintain up_epoch AND boot_epoch; revise OSDSuperblock accordingly
In order to make the superblock clean interval meaningful after we
are marked down and then up again (over the life of a single
cosd process insance), we track both boot_epoch and up_epoch,
and keep [boot_epoch,clean_thru] in the superblock.

This avoids seeing crashed pgs when and osd is wrongly marked down
and the osd marks itself up again.
2009-05-08 14:04:03 -07:00
Sage Weil
18851ce0f5 osd: adjust heartbeat peer lock
Need it to protect heartbeat_from_stamp.
2009-05-08 12:58:23 -07:00
Sage Weil
79f9c3cc05 osd: reset heartbeat peer set on osd down
This clears out the timers.
2009-05-08 12:58:23 -07:00
Sage Weil
24f8b808ae osd: adjust snap collection memberships during pg split 2009-05-07 21:49:17 -07:00
Sage Weil
ddbadfe54f osd: adjust pg_stats during pg split 2009-05-07 21:49:13 -07:00
Sage Weil
c24acf870c osd: generate correct child pg when doing pg split 2009-05-07 21:49:09 -07:00
Sage Weil
89aa789eca ceph: don't choke on unexpected MMonMap 2009-05-07 21:49:00 -07:00
Sage Weil
05466bad5a kclient: recalculate pgid each time request is sent
The pg calculation depends on osdmap parameters that are transient.  In
contrast, the rest of calc_layout is concerned with file striping, which
is fixed (at least over the lifetime of the request).
2009-05-07 14:39:47 -07:00
Sage Weil
d90ebc82c6 mds: include CAP_PIN in caps_liked()
Among other things, this prevents confusion in the uclient.
2009-05-07 14:14:29 -07:00
Sage Weil
2c980d1384 osd: fix bug in recovery ops accounting
Adjust osd global counter too!
2009-05-07 13:55:52 -07:00
Yehuda Sadeh
c5e64e1f3c kclient: a few sparse fixes 2009-05-07 11:04:37 -07:00