- 17 Feb, 2010 1 commit
-
-
Sage Weil authored
Signed-off-by:
Sage Weil <sage@newdream.net>
-
- 11 Feb, 2010 2 commits
-
-
Sage Weil authored
Grab inode ref in helper. Make work functions static, with consistent naming. Signed-off-by:
Sage Weil <sage@newdream.net>
-
Yehuda Sadeh authored
A truncation should occur when either we have the specified caps for the file, or (in cases where we are not the only ones referencing the file) when it is mapped or when it is opened. The latter two cases were not handled. Signed-off-by:
Yehuda Sadeh <yehuda@hq.newdream.net> Signed-off-by:
Sage Weil <sage@newdream.net>
-
- 29 Jan, 2010 1 commit
-
-
Yehuda Sadeh authored
We never truncate to a smaller size without contacting the MDS. Signed-off-by:
Yehuda Sadeh <yehuda@hq.newdream.net> Signed-off-by:
Sage Weil <sage@newdream.net>
-
- 25 Jan, 2010 1 commit
-
-
Sage Weil authored
Previously, if the MDS request was interrupted, we would unregister the request and ignore any reply. This could cause the caps or other cache state to become out of sync. (For instance, aborting dbench and doing rm -r on clients would complain about a non-empty directory because the client didn't realize it's aborted file create request completed.) Even we don't unregister, we still can't process the reply normally because we are no longer holding the caller's locks (like the dir i_mutex). So, mark aborted operations with r_aborted, and in the reply handler, be sure to process all the caps. Do not process the namespace changes, though, since we no longer will hold the dir i_mutex. The dentry lease state can also be ignored as it's more forgiving. Signed-off-by:
Sage Weil <sage@newdream.net>
-
- 14 Jan, 2010 1 commit
-
-
Yehuda Sadeh authored
This fixes a bug, where we had the parent list have dentries with offsets that are not monotonically increasing, which caused the ceph dcache_readdir to skip entries. Signed-off-by:
Yehuda Sadeh <yehuda@hq.newdream.net> Signed-off-by:
Sage Weil <sage@newdream.net>
-
- 22 Dec, 2009 1 commit
-
-
Sage Weil authored
This works around a bug in vfs_rename_dir() that rehashes the target dentry. Ensure such dentries always fail revalidation by timing out the dentry lease and kicking it out of the current directory lease gen. This can be reverted when the vfs bug is fixed. Signed-off-by:
Sage Weil <sage@newdream.net>
-
- 07 Dec, 2009 1 commit
-
-
Sage Weil authored
We never allocate the ceph_buffer and buffer separtely, so use a single constructor. Disallow put on NULL buffer; make the caller check. Signed-off-by:
Sage Weil <sage@newdream.net>
-
- 11 Nov, 2009 1 commit
-
-
Sage Weil authored
Signed-off-by:
Sage Weil <sage@newdream.net>
-
- 21 Oct, 2009 1 commit
-
-
Sage Weil authored
We can't fill i_size with rbytes at the fill_file_size stage without adding additional checks for directories. Notably, we want st_blocks to remain 0 on directories so that 'du' still works. Fill in i_blocks, i_size specially in ceph_getattr instead. Signed-off-by:
Sage Weil <sage@newdream.net>
-
- 06 Oct, 2009 1 commit
-
-
Sage Weil authored
Inode cache and inode operations. We also include routines to incorporate metadata structures returned by the MDS into the client cache, and some helpers to deal with file capabilities and metadata leases. The bulk of that work is done by fill_inode() and fill_trace(). Signed-off-by:
Sage Weil <sage@newdream.net>
-