From: Sage Weil Date: Fri, 17 Sep 2010 16:54:08 +0000 (-0700) Subject: ceph: check mapping to determine if FILE_CACHE cap is used X-Git-Tag: v2.6.36-rc6~84^2~1 X-Git-Url: http://bbs.cooldavid.org/git/?a=commitdiff_plain;h=a43fb73101eaf6db0b33d22c152b338ab8b3edbb;p=net-next-2.6.git ceph: check mapping to determine if FILE_CACHE cap is used See if the i_data mapping has any pages to determine if the FILE_CACHE capability is currently in use, instead of assuming it is any time the rdcache_gen value is set (i.e., issued -> used). This allows the MDS RECALL_STATE process work for inodes that have cached pages. Signed-off-by: Sage Weil --- diff --git a/fs/ceph/caps.c b/fs/ceph/caps.c index b01c316a814..73c153092f7 100644 --- a/fs/ceph/caps.c +++ b/fs/ceph/caps.c @@ -814,7 +814,7 @@ int __ceph_caps_used(struct ceph_inode_info *ci) used |= CEPH_CAP_PIN; if (ci->i_rd_ref) used |= CEPH_CAP_FILE_RD; - if (ci->i_rdcache_ref || ci->i_rdcache_gen) + if (ci->i_rdcache_ref || ci->vfs_inode.i_data.nrpages) used |= CEPH_CAP_FILE_CACHE; if (ci->i_wr_ref) used |= CEPH_CAP_FILE_WR;