From: Sage Weil Date: Mon, 19 Jan 2009 20:21:33 +0000 (-0800) Subject: kclient: retain comments X-Git-Tag: v0.6~1^2~9 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9ccd599f201685831bf5f812bd754c851fe0ff8b;p=ceph.git kclient: retain comments --- diff --git a/src/kernel/caps.c b/src/kernel/caps.c index 4680e81c104a..009fa4801a2c 100644 --- a/src/kernel/caps.c +++ b/src/kernel/caps.c @@ -745,7 +745,13 @@ retry_locked: retain = want; if (!mdsc->stopping) { - retain |= CEPH_CAP_PIN | CEPH_CAP_ANY_RDCACHE; + /* + * we cannot retain anything outside of + * (wanted|EXPIREABLE), or else we run the risk of the + * MDS' wanted value getting out of sync, and we have + * no mechanism to adjust that (besides open()). + */ + retain |= CEPH_CAP_EXPIREABLE; /* keep any EXCL bits too, while we are holding caps anyway */ if (want || S_ISDIR(inode->i_mode))