]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
kclient: hold onto dir EXCL cap
authorSage Weil <sage@newdream.net>
Mon, 12 Jan 2009 22:52:24 +0000 (14:52 -0800)
committerSage Weil <sage@newdream.net>
Mon, 12 Jan 2009 23:06:36 +0000 (15:06 -0800)
src/kernel/caps.c

index f1d5921f30c56a39f027a2681f90637816d618e4..2de5c40dc78d61a9cfe80edc405ec0d19dfe9c45 100644 (file)
@@ -745,7 +745,7 @@ retry_locked:
                         CEPH_CAP_ANY_RD);
 
                /* keep any EXCL bits too, while we are holding caps anyway */
-               if (want)
+               if (want || S_ISDIR(inode->i_mode))
                        retain |= CEPH_CAP_ANY_EXCL;
        }
        retain &= ~drop;