summaryrefslogtreecommitdiff
path: root/net/ceph
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2011-02-04 21:38:47 -0800
committerSage Weil <sage@newdream.net>2011-03-15 09:14:03 -0700
commit09adc80c611bb8902daa8ccfe34dbbc009d6befe (patch)
tree56d6096d2c4983a47acd7bb0a0f5d6e9c7fae331 /net/ceph
parentb09734b1f4abd86e046777f0f268215b4ef1b523 (diff)
ceph: preserve I_COMPLETE across rename
d_move puts the renamed dentry at the end of d_subdirs, screwing with our cached dentry directory offsets. We were just clearing I_COMPLETE to avoid any possibility of trouble. However, assigning the renamed dentry an offset at the end of the directory (to match it's new d_subdirs position) is sufficient to maintain correct behavior and hold onto I_COMPLETE. This is especially important for workloads like rsync, which renames files into place. Before, we would lose I_COMPLETE and do MDS lookups for each file. With this patch we only talk to the MDS on create and rename. Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'net/ceph')
0 files changed, 0 insertions, 0 deletions