aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2010-04-15 17:08:49 -0400
committerSage Weil <sage@newdream.net>2010-05-17 18:25:27 -0400
commite8a7498715181ece36130335536e13733a5c3187 (patch)
tree3a8afe3901eecfefd833e024cf6f661c6992a12c /fs
parentf1f2765faedc24f8f2e9fd68521a5ea469801b60 (diff)
ceph: skip set_dentry_offset work if directory not I_COMPLETE
Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs')
-rw-r--r--fs/ceph/inode.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/ceph/inode.c b/fs/ceph/inode.c
index 913cafd70cd0..49a0935c4390 100644
--- a/fs/ceph/inode.c
+++ b/fs/ceph/inode.c
@@ -861,6 +861,10 @@ static void ceph_set_dentry_offset(struct dentry *dn)
861 di = ceph_dentry(dn); 861 di = ceph_dentry(dn);
862 862
863 spin_lock(&inode->i_lock); 863 spin_lock(&inode->i_lock);
864 if ((ceph_inode(inode)->i_ceph_flags & CEPH_I_COMPLETE) == 0) {
865 spin_unlock(&inode->i_lock);
866 return;
867 }
864 di->offset = ceph_inode(inode)->i_max_offset++; 868 di->offset = ceph_inode(inode)->i_max_offset++;
865 spin_unlock(&inode->i_lock); 869 spin_unlock(&inode->i_lock);
866 870