diff --git a/[refs] b/[refs] index 3d2e99a32c7e..58d555980336 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 679ceace848e9fd570678396ffe1ef034e00e82d +refs/heads/master: 124514918b030d74f1f3e15483b7bf3b85268082 diff --git a/trunk/fs/ceph/inode.c b/trunk/fs/ceph/inode.c index 5d893d31e399..3e6b52cb5ee8 100644 --- a/trunk/fs/ceph/inode.c +++ b/trunk/fs/ceph/inode.c @@ -677,6 +677,7 @@ static int fill_inode(struct inode *inode, if (ci->i_files == 0 && ci->i_subdirs == 0 && ceph_snap(inode) == CEPH_NOSNAP && (le32_to_cpu(info->cap.caps) & CEPH_CAP_FILE_SHARED) && + (issued & CEPH_CAP_FILE_EXCL) == 0 && (ci->i_ceph_flags & CEPH_I_COMPLETE) == 0) { dout(" marking %p complete (empty)\n", inode); ci->i_ceph_flags |= CEPH_I_COMPLETE;