From: Eric Sandeen <sandeen@redhat.com>
To: linux-xfs <linux-xfs@vger.kernel.org>
Subject: [PATCH] xfs_repair: fix libxfs api violations in quota repair code
Date: Tue, 29 May 2018 15:40:14 -0500 [thread overview]
Message-ID: <6aeb5192-00b5-175d-fa3d-7864a2ba2d27@redhat.com> (raw)
My "repair quotas" patch forgot about our libxfs API tricks,
fix that.
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
---
diff --git a/libxfs/libxfs_api_defs.h b/libxfs/libxfs_api_defs.h
index 56f9f8c..63bf27e 100644
--- a/libxfs/libxfs_api_defs.h
+++ b/libxfs/libxfs_api_defs.h
@@ -126,6 +126,10 @@
#define xfs_sb_quota_from_disk libxfs_sb_quota_from_disk
#define xfs_sb_to_disk libxfs_sb_to_disk
+#define xfs_calc_dquots_per_chunk libxfs_calc_dquots_per_chunk
+#define xfs_dquot_verify libxfs_dquot_verify
+#define xfs_dquot_repair libxfs_dquot_repair
+
#define xfs_symlink_blocks libxfs_symlink_blocks
#define xfs_symlink_hdr_ok libxfs_symlink_hdr_ok
diff --git a/repair/dinode.c b/repair/dinode.c
index e8edcd4..49d5d05 100644
--- a/repair/dinode.c
+++ b/repair/dinode.c
@@ -1345,7 +1345,7 @@ process_quota_inode(
}
dqchunklen = XFS_FSB_TO_BB(mp, XFS_DQUOT_CLUSTER_SIZE_FSB);
- dqperchunk = xfs_calc_dquots_per_chunk(dqchunklen);
+ dqperchunk = libxfs_calc_dquots_per_chunk(dqchunklen);
dqid = 0;
qbno = NULLFILEOFF;
@@ -1367,12 +1367,12 @@ _("cannot read inode %" PRIu64 ", file block %" PRIu64 ", disk block %" PRIu64 "
dqb = bp->b_addr;
for (i = 0; i < dqperchunk; i++, dqid++, dqb++) {
- xfs_failaddr_t fa;
int bad_dqb = 0;
/* We only print the first problem we find */
if (xfs_sb_version_hascrc(&mp->m_sb)) {
- if (!xfs_verify_cksum((char *)dqb, sizeof(*dqb),
+ if (!libxfs_verify_cksum((char *)dqb,
+ sizeof(*dqb),
XFS_DQUOT_CRC_OFF)) {
do_warn(_("%s: bad CRC for id %u. "),
quota_string, dqid);
@@ -1388,8 +1388,8 @@ _("cannot read inode %" PRIu64 ", file block %" PRIu64 ", disk block %" PRIu64 "
goto bad;
}
}
- fa = xfs_dquot_verify(mp, &dqb->dd_diskdq, dqid, quota_type, 0);
- if (fa) {
+ if (libxfs_dquot_verify(mp, &dqb->dd_diskdq, dqid,
+ quota_type, 0) != NULL) {
do_warn(_("%s: Corrupt quota for id %u. "),
quota_string, dqid);
bad_dqb = 1;
@@ -1401,7 +1401,8 @@ bad:
do_warn(_("Would correct.\n"));
else {
do_warn(_("Corrected.\n"));
- xfs_dquot_repair(mp, &dqb->dd_diskdq, dqid, quota_type);
+ libxfs_dquot_repair(mp, &dqb->dd_diskdq,
+ dqid, quota_type);
writebuf = 1;
}
}
next reply other threads:[~2018-05-29 20:40 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-29 20:40 Eric Sandeen [this message]
2018-05-29 21:14 ` [PATCH] xfs_repair: fix libxfs api violations in quota repair code Darrick J. Wong
2018-05-29 21:41 ` Eric Sandeen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6aeb5192-00b5-175d-fa3d-7864a2ba2d27@redhat.com \
--to=sandeen@redhat.com \
--cc=linux-xfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.