xfs
[Top] [All Lists]

[v2 PATCH 8/14] xfsprogs: fix issues with e0607266f23

To: Eric Sandeen <sandeen@xxxxxxxxxxx>
Subject: [v2 PATCH 8/14] xfsprogs: fix issues with e0607266f23
From: Ben Myers <bpm@xxxxxxx>
Date: Thu, 8 Aug 2013 17:28:21 -0500
Cc: xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <5204183E.2000902@xxxxxxxxxxx>
References: <1370564771-4929-1-git-send-email-david@xxxxxxxxxxxxx> <20130806214154.GM3111@xxxxxxx> <20130808210600.GN3111@xxxxxxx> <20130808215330.GV3111@xxxxxxx> <52041686.4040703@xxxxxxxxxxx> <5204183E.2000902@xxxxxxxxxxx>
User-agent: Mutt/1.5.20 (2009-06-14)
* remove unused uuid unparse in xfs_agf_verify
* fix an unnecessary loop in clear_dinode_core

Signed-off-by: Ben Myers <bpm@xxxxxxx>

---
[v2: address Eric's suggestions]

Eric,
        Seems like you are correct, we should get this in pronto.
-Ben

 libxfs/xfs_alloc.c |    9 ++-------
 repair/dinode.c    |   10 +++-------
 2 files changed, 5 insertions(+), 14 deletions(-)

Index: b/libxfs/xfs_alloc.c
===================================================================
--- a/libxfs/xfs_alloc.c        2013-08-08 17:23:56.860817670 -0500
+++ b/libxfs/xfs_alloc.c        2013-08-08 17:23:57.800818754 -0500
@@ -2173,13 +2173,8 @@ xfs_agf_verify(
        struct xfs_agf  *agf = XFS_BUF_TO_AGF(bp);
 
        if (xfs_sb_version_hascrc(&mp->m_sb) &&
-           !uuid_equal(&agf->agf_uuid, &mp->m_sb.sb_uuid)) {
-               char uu[64], uu2[64];
-               platform_uuid_unparse(&agf->agf_uuid, uu);
-               platform_uuid_unparse(&mp->m_sb.sb_uuid, uu2);
-
-                       return false;
-       }
+           !uuid_equal(&agf->agf_uuid, &mp->m_sb.sb_uuid))
+               return false;
 
        if (!(agf->agf_magicnum == cpu_to_be32(XFS_AGF_MAGIC) &&
              XFS_AGF_GOOD_VERSION(be32_to_cpu(agf->agf_versionnum)) &&
Index: b/repair/dinode.c
===================================================================
--- a/repair/dinode.c   2013-08-08 17:23:56.870818288 -0500
+++ b/repair/dinode.c   2013-08-08 17:23:57.810818146 -0500
@@ -88,7 +88,6 @@ static int
 clear_dinode_core(struct xfs_mount *mp, xfs_dinode_t *dinoc, xfs_ino_t ino_num)
 {
        int dirty = 0;
-       int i;
 
 #define __dirty_no_modify_ret(dirty) \
        ({ (dirty) = 1; if (no_modify) return 1; })
@@ -182,12 +181,9 @@ clear_dinode_core(struct xfs_mount *mp, 
                platform_uuid_copy(&dinoc->di_uuid, &mp->m_sb.sb_uuid);
        }
 
-       for (i = 0; i < 16; i++) {
-               if (dinoc->di_pad[i] != 0) {
-                       __dirty_no_modify_ret(dirty);
-                       memset(dinoc->di_pad, 0, 16);
-                       break;
-               }
+       if (dinoc->di_pad2 != 0) {
+               __dirty_no_modify_ret(dirty);
+               memset(dinoc->di_pad2, 0, sizeof(dinoc->di_pad2));
        }
 
        if (be64_to_cpu(dinoc->di_flags2) != 0)  {

<Prev in Thread] Current Thread [Next in Thread>