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