]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/blobdiff - db/crc.c
xfs_repair: skip block reservation when fixing freelist
[thirdparty/xfsprogs-dev.git] / db / crc.c
index b6775bc7652a2969bcdaac0fa0ae5cc52725e414..95161c6dfe6a557afd790ab86f6956de8f32c6ac 100644 (file)
--- a/db/crc.c
+++ b/db/crc.c
@@ -17,6 +17,7 @@
 #include "output.h"
 #include "bit.h"
 #include "print.h"
+#include "crc.h"
 
 static int crc_f(int argc, char **argv);
 static void crc_help(void);
@@ -130,7 +131,7 @@ crc_f(
                flist_t         *sfl;
                int             bit_length;
                int             parentoffset;
-               int             crc;
+               uint32_t        crc;
 
                sfl = fl;
                parentoffset = 0;
@@ -144,8 +145,8 @@ crc_f(
                bit_length *= fcount(sfl->fld, iocur_top->data, parentoffset);
                crc = getbitval(iocur_top->data, sfl->offset, bit_length,
                                BVUNSIGNED);
-               /* Off by one.. */
-               crc = cpu_to_be32(crc + 1);
+               /* Off by one, ignore endianness - we're just corrupting it. */
+               crc++;
                setbitval(iocur_top->data, sfl->offset, bit_length, &crc);
 
                /* Temporarily remove write verifier to write a bad CRC */