提交 b545cc15 编写于 作者: S Sage Weil

ceph: do not set I_COMPLETE

Do not set the I_COMPLETE flag on directories until we resolve races with
dcache pruning.
Signed-off-by: NSage Weil <sage@newdream.net>
上级 9bde178d
...@@ -409,7 +409,7 @@ static int ceph_readdir(struct file *filp, void *dirent, filldir_t filldir) ...@@ -409,7 +409,7 @@ static int ceph_readdir(struct file *filp, void *dirent, filldir_t filldir)
spin_lock(&inode->i_lock); spin_lock(&inode->i_lock);
if (ci->i_release_count == fi->dir_release_count) { if (ci->i_release_count == fi->dir_release_count) {
dout(" marking %p complete\n", inode); dout(" marking %p complete\n", inode);
ci->i_ceph_flags |= CEPH_I_COMPLETE; /* ci->i_ceph_flags |= CEPH_I_COMPLETE; */
ci->i_max_offset = filp->f_pos; ci->i_max_offset = filp->f_pos;
} }
spin_unlock(&inode->i_lock); spin_unlock(&inode->i_lock);
......
...@@ -707,7 +707,7 @@ static int fill_inode(struct inode *inode, ...@@ -707,7 +707,7 @@ static int fill_inode(struct inode *inode,
(issued & CEPH_CAP_FILE_EXCL) == 0 && (issued & CEPH_CAP_FILE_EXCL) == 0 &&
(ci->i_ceph_flags & CEPH_I_COMPLETE) == 0) { (ci->i_ceph_flags & CEPH_I_COMPLETE) == 0) {
dout(" marking %p complete (empty)\n", inode); dout(" marking %p complete (empty)\n", inode);
ci->i_ceph_flags |= CEPH_I_COMPLETE; /* ci->i_ceph_flags |= CEPH_I_COMPLETE; */
ci->i_max_offset = 2; ci->i_max_offset = 2;
} }
break; break;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册