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

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: NSage Weil <sage@newdream.net>
上级 e835124c
...@@ -814,7 +814,7 @@ int __ceph_caps_used(struct ceph_inode_info *ci) ...@@ -814,7 +814,7 @@ int __ceph_caps_used(struct ceph_inode_info *ci)
used |= CEPH_CAP_PIN; used |= CEPH_CAP_PIN;
if (ci->i_rd_ref) if (ci->i_rd_ref)
used |= CEPH_CAP_FILE_RD; 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; used |= CEPH_CAP_FILE_CACHE;
if (ci->i_wr_ref) if (ci->i_wr_ref)
used |= CEPH_CAP_FILE_WR; used |= CEPH_CAP_FILE_WR;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册