- Aug 23, 2010
-
-
Sage Weil authored
When a realm is updated, we need to queue writeback on inodes in that realm _and_ its children. Otherwise, if the inode gets cowed on the server, we can get a hang later due to out-of-sync cap/snap state. Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
When we snapshot dirty metadata that needs to be written back to the MDS, include dirty xattr metadata. Make the capsnap reference the encoded xattr blob so that it will be written back in the FLUSHSNAP op. Also fix the capsnap creation guard to include dirty auth or file bits, not just tests specific to dirty file data or file writes in progress (this fixes auth metadata writeback). Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
We should include the xattr metadata blob in the cap update message any time we are flushing dirty state, NOT just when we are also dropping the cap. This fixes async xattr writeback. Also, clean up the code slightly to avoid duplicating the bit test. Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
The use of a completion when waiting for session shutdown during umount is inappropriate, given the complexity of the condition. For multiple MDS's, this resulted in the umount thread spinning, often preventing the session close message from being processed in some cases. Switch to a waitqueue and defined a condition helper. This cleans things up nicely. Signed-off-by:
Sage Weil <sage@newdream.net>
-
- Aug 11, 2010
-
-
Yehuda Sadeh authored
Generalize the current statfs synchronous requests, and support pool_ops. Signed-off-by:
Yehuda Sadeh <yehuda@hq.newdream.net> Signed-off-by:
Sage Weil <sage@newdream.net>
-
- Aug 06, 2010
-
-
Sage Weil authored
Normally, if the Fb cap bit is being revoked, we queue an async writeback. If there is no dirty data but we still hold the cap, this leaves the client sitting around doing nothing until the cap timeouts expire and the cap is released on its own (as it would have been without the revocation). Instead, only queue writeback if the bit is actually used (i.e., we have dirty data). If not, we can reply to the revocation immediately. Signed-off-by:
Sage Weil <sage@newdream.net>
-
- Aug 04, 2010
-
-
Sage Weil authored
Actually apply the mount option to the mount_args struct. Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
This makes checkpatch happy. Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
Signed-off-by:
Sage Weil <sage@newdream.net>
-
- Aug 03, 2010
-
-
Greg Farnum authored
Implement flock inode operation to support advisory file locking. All lock/unlock operations are synchronous with the MDS. Lock state is sent when reconnecting to a recovering MDS to restore the shared lock state. Signed-off-by:
Greg Farnum <gregf@hq.newdream.net> Signed-off-by:
Sage Weil <sage@newdream.net>
-
Greg Farnum authored
Define the MDS operations and data types for doing file advisory locking with the MDS. Signed-off-by:
Greg Farnum <gregf@hq.newdream.net> Signed-off-by:
Sage Weil <sage@newdream.net>
-
Greg Farnum authored
This informs the server that we will accept v2 client_caps format and v2 client_reconnect format messages. Signed-off-by:
Greg Farnum <gregf@hq.newdream.net> Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
Encode either old or v2 encoding of client_reconnect message, depending on whether the peer has the FLOCK feature bit. Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
Add support for v2 encoding of MClientCaps, which includes a flock blob. Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
The pool info contains a vector for snap_info_t, not snap ids. This fixes the broken decoding, which would declare teh update corrupt when a pool snapshot was created. Signed-off-by:
Sage Weil <sage@newdream.net>
-
- Aug 02, 2010
-
-
Sage Weil authored
The ->sync_fs() super op only needs to wait if wait is true. Otherwise, just get some dirty cap writeback started. Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
Well, this Shouldn't Happen, so it would be helpful to know the caller when it does. Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
Include the crush_ruleset in the error message. Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
Define ROLLBACK op, IFLOCK inode lock (for advisory file locking). Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
Specify the supported/required feature bits in super.h client code instead of using the definitions from the shared kernel/userspace headers (which will go away shortly). Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
Specify the fsid mount option in hex, not via the major/minor u64 hackery we had before. Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
Signed-off-by:
Sage Weil <sage@newdream.net>
-
Greg Farnum authored
Signed-off-by:
Greg Farnum <gregf@hq.newdream.net> Signed-off-by:
Sage Weil <sage@newdream.net>
-
Greg Farnum authored
Signed-off-by:
Greg Farnum <gregf@hq.newdream.net> Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
When we get a cap EXPORT message, make sure we are connected to all export targets to ensure we can handle the matching IMPORT. Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
If an MDS we are talking to may have failed, we need to open sessions to its potential export targets to ensure that any in-progress migration that may have involved some of our caps is properly handled. Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
There are a few cases where we need to open sessions with a given mds's potential export targets. Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
Setting it elsewhere is unnecessary and more fragile. Signed-off-by:
Sage Weil <sage@newdream.net>
-
Yehuda Sadeh authored
Caps related accounting is now being done per mds client instead of just being global. This prepares ground work for a later revision of the caps preallocated reservation list. Signed-off-by:
Yehuda Sadeh <yehuda@hq.newdream.net> Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
Signed-off-by:
Sage Weil <sage@newdream.net>
-
Yehuda Sadeh authored
Mainly fixing minor issues reported by sparse. Signed-off-by:
Yehuda Sadeh <yehuda@hq.newdream.net> Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
If we have a capsnap but no auth cap (e.g. because it is migrating to another mds), bail out and do nothing for now. Do NOT remove the capsnap from the flush list. Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
The caps revocation should either initiate writeback, invalidateion, or call check_caps to ack or do the dirty work. The primary question is whether we can get away with only checking the auth cap or whether all caps need to be checked. The old code was doing...something else. At the very least, revocations from non-auth MDSs could break by triggering the "check auth cap only" case. Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
No functional change, aside from more useful debug output. Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
Signed-off-by:
Sage Weil <sage@newdream.net>
-
Sage Weil authored
If the file mode is marked as "lazy," perform cached/buffered reads when the caps permit it. Adjust the rdcache_gen and invalidation logic accordingly so that we manage our cache based on the FILE_CACHE -or- FILE_LAZYIO cap bits. Signed-off-by:
Sage Weil <sage@newdream.net>
-