All of lore.kernel.org
 help / color / mirror / Atom feed
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;
  				}
  			}


             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.