]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
Correct size check for realtime summary inode (not the same
authorEric Sandeen <sandeen@sgi.com>
Mon, 24 Mar 2003 18:06:38 +0000 (18:06 +0000)
committerEric Sandeen <sandeen@sgi.com>
Mon, 24 Mar 2003 18:06:38 +0000 (18:06 +0000)
as the realtime bitmap inode).

repair/dinode.c

index e3a483c01c7a052d930ca9af5e92f9adadb60b6b..47abc3b6d5ee1fd345edfb6cf0a822734f544208 100644 (file)
@@ -2085,8 +2085,13 @@ process_dinode_int(xfs_mount_t *mp,
         * are extent format files.  If anything's wrong, clear
         * the inode -- we'll recreate it in phase 6.
         */
-       if (do_rt && INT_GET(dinoc->di_size, ARCH_CONVERT)
-                       != mp->m_sb.sb_rbmblocks * mp->m_sb.sb_blocksize)  {
+       if (do_rt &&
+           ((lino == mp->m_sb.sb_rbmino &&
+             INT_GET(dinoc->di_size, ARCH_CONVERT)
+                         != mp->m_sb.sb_rbmblocks * mp->m_sb.sb_blocksize) ||
+            (lino == mp->m_sb.sb_rsumino &&
+             INT_GET(dinoc->di_size, ARCH_CONVERT) != mp->m_rsumsize))) {
+
                do_warn(_("bad size %llu for realtime %s inode %llu\n"),
                        INT_GET(dinoc->di_size, ARCH_CONVERT), rstring, lino);