提交 d84b37f9 编写于 作者: Y Yan, Zheng 提交者: Ilya Dryomov

ceph: limit rate of cap import/export error messages

Signed-off-by: N"Yan, Zheng" <zyan@redhat.com>
Signed-off-by: NIlya Dryomov <idryomov@gmail.com>
上级 7d9c9193
...@@ -3438,7 +3438,14 @@ static void handle_cap_export(struct inode *inode, struct ceph_mds_caps *ex, ...@@ -3438,7 +3438,14 @@ static void handle_cap_export(struct inode *inode, struct ceph_mds_caps *ex,
*/ */
issued = cap->issued; issued = cap->issued;
WARN_ON(issued != cap->implemented); if (issued != cap->implemented)
pr_err_ratelimited("handle_cap_export: issued != implemented: "
"ino (%llx.%llx) mds%d seq %d mseq %d "
"issued %s implemented %s\n",
ceph_vinop(inode), mds, cap->seq, cap->mseq,
ceph_cap_string(issued),
ceph_cap_string(cap->implemented));
tcap = __get_cap_for_mds(ci, target); tcap = __get_cap_for_mds(ci, target);
if (tcap) { if (tcap) {
...@@ -3584,12 +3591,13 @@ static void handle_cap_import(struct ceph_mds_client *mdsc, ...@@ -3584,12 +3591,13 @@ static void handle_cap_import(struct ceph_mds_client *mdsc,
if ((ph->flags & CEPH_CAP_FLAG_AUTH) && if ((ph->flags & CEPH_CAP_FLAG_AUTH) &&
(ocap->seq != le32_to_cpu(ph->seq) || (ocap->seq != le32_to_cpu(ph->seq) ||
ocap->mseq != le32_to_cpu(ph->mseq))) { ocap->mseq != le32_to_cpu(ph->mseq))) {
pr_err("handle_cap_import: mismatched seq/mseq: " pr_err_ratelimited("handle_cap_import: "
"ino (%llx.%llx) mds%d seq %d mseq %d " "mismatched seq/mseq: ino (%llx.%llx) "
"importer mds%d has peer seq %d mseq %d\n", "mds%d seq %d mseq %d importer mds%d "
ceph_vinop(inode), peer, ocap->seq, "has peer seq %d mseq %d\n",
ocap->mseq, mds, le32_to_cpu(ph->seq), ceph_vinop(inode), peer, ocap->seq,
le32_to_cpu(ph->mseq)); ocap->mseq, mds, le32_to_cpu(ph->seq),
le32_to_cpu(ph->mseq));
} }
__ceph_remove_cap(ocap, (ph->flags & CEPH_CAP_FLAG_RELEASE)); __ceph_remove_cap(ocap, (ph->flags & CEPH_CAP_FLAG_RELEASE));
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册