提交 24be0c48 编写于 作者: S Sage Weil

ceph: fix erroneous cap flush to non-auth mds

The int flushing is global and not clear on each iteration of the loop,
which can cause a second flush of caps to any MDSs with ids greater than
the auth.
Signed-off-by: NSage Weil <sage@newdream.net>
上级 50aac4fe
......@@ -1658,6 +1658,8 @@ void ceph_check_caps(struct ceph_inode_info *ci, int flags,
if (cap == ci->i_auth_cap && ci->i_dirty_caps)
flushing = __mark_caps_flushing(inode, session);
else
flushing = 0;
mds = cap->mds; /* remember mds, so we don't repeat */
sent++;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册