From: Ruediger Meier Date: Tue, 1 Mar 2016 20:03:13 +0000 (+0100) Subject: mkfs.minix: fix v2/v3 .badblocks inode number for big endian X-Git-Tag: v2.28-rc1~54^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7252874a48e3cc7382d579254a19fc4c309442c1;p=thirdparty%2Futil-linux.git mkfs.minix: fix v2/v3 .badblocks inode number for big endian For minix v2/v3 on big endian systems the inode number of the unwanted ".badblocks" file was not set to zero. This was introduced when v3 was added in a2657ae3. Actually it did not seem to cause any problems but since we zero it out at all we should do it correctly. Now we zero out the whole directory entry (inclusive ".badblocks" file name, also for v1). Unfortunately we have to update the test data checksums. CC: Davidlohr Bueso Signed-off-by: Ruediger Meier --- diff --git a/disk-utils/mkfs.minix.c b/disk-utils/mkfs.minix.c index b472242ed6..24e618871b 100644 --- a/disk-utils/mkfs.minix.c +++ b/disk-utils/mkfs.minix.c @@ -369,8 +369,7 @@ static void make_root_inode_v1(struct fs_control *ctl) { if (ctl->fs_bad_blocks) inode->i_size = 3 * ctl->fs_dirsize; else { - root_block[2 * ctl->fs_dirsize] = '\0'; - root_block[2 * ctl->fs_dirsize + 1] = '\0'; + memset(&root_block[2 * ctl->fs_dirsize], 0, ctl->fs_dirsize); inode->i_size = 2 * ctl->fs_dirsize; } inode->i_mode = S_IFDIR + 0755; @@ -391,7 +390,7 @@ static void make_root_inode_v2_v3 (struct fs_control *ctl) { if (ctl->fs_bad_blocks) inode->i_size = 3 * ctl->fs_dirsize; else { - root_block[2 * ctl->fs_dirsize] = '\0'; + memset(&root_block[2 * ctl->fs_dirsize], 0, ctl->fs_dirsize); inode->i_size = 2 * ctl->fs_dirsize; } diff --git a/tests/expected/minix/fsck-images-check-blocks b/tests/expected/minix/fsck-images-check-blocks index 883d1e81d9..fce90fd89b 100644 --- a/tests/expected/minix/fsck-images-check-blocks +++ b/tests/expected/minix/fsck-images-check-blocks @@ -25,7 +25,5 @@ fsck return value: 0 00001410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00001420 01 00 2e 2e 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00001430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00001440 00 00 2e 62 61 64 62 6c 6f 63 6b 73 00 00 00 00 |...badblocks....| -00001450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00004000 diff --git a/tests/expected/minix/fsck-images-v1c14 b/tests/expected/minix/fsck-images-v1c14 index b3301d983c..75e3310f27 100644 --- a/tests/expected/minix/fsck-images-v1c14 +++ b/tests/expected/minix/fsck-images-v1c14 @@ -23,7 +23,6 @@ fsck return value: 0 * 00001400 01 00 2e 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00001410 01 00 2e 2e 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00001420 00 00 2e 62 61 64 62 6c 6f 63 6b 73 00 00 00 00 |...badblocks....| -00001430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00001420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00004000 diff --git a/tests/expected/minix/fsck-images-v1c30 b/tests/expected/minix/fsck-images-v1c30 index 883d1e81d9..fce90fd89b 100644 --- a/tests/expected/minix/fsck-images-v1c30 +++ b/tests/expected/minix/fsck-images-v1c30 @@ -25,7 +25,5 @@ fsck return value: 0 00001410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00001420 01 00 2e 2e 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00001430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00001440 00 00 2e 62 61 64 62 6c 6f 63 6b 73 00 00 00 00 |...badblocks....| -00001450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00004000 diff --git a/tests/expected/minix/fsck-images-v2c14 b/tests/expected/minix/fsck-images-v2c14 index 5e155b7887..e8bc4e35e3 100644 --- a/tests/expected/minix/fsck-images-v2c14 +++ b/tests/expected/minix/fsck-images-v2c14 @@ -24,7 +24,6 @@ fsck return value: 0 * 00001400 01 00 2e 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00001410 01 00 2e 2e 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00001420 00 00 2e 62 61 64 62 6c 6f 63 6b 73 00 00 00 00 |...badblocks....| -00001430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00001420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00004000 diff --git a/tests/expected/minix/fsck-images-v2c30 b/tests/expected/minix/fsck-images-v2c30 index 5f35ed78f5..0066e49488 100644 --- a/tests/expected/minix/fsck-images-v2c30 +++ b/tests/expected/minix/fsck-images-v2c30 @@ -26,7 +26,5 @@ fsck return value: 0 00001410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00001420 01 00 2e 2e 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00001430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00001440 00 00 2e 62 61 64 62 6c 6f 63 6b 73 00 00 00 00 |...badblocks....| -00001450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00004000 diff --git a/tests/expected/minix/fsck-images-v3c60 b/tests/expected/minix/fsck-images-v3c60 index be2b54d0ae..89ac9c99d1 100644 --- a/tests/expected/minix/fsck-images-v3c60 +++ b/tests/expected/minix/fsck-images-v3c60 @@ -28,7 +28,4 @@ fsck return value: 0 00001440 01 00 00 00 2e 2e 00 00 00 00 00 00 00 00 00 00 |................| 00001450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * -00001480 00 00 00 00 2e 62 61 64 62 6c 6f 63 6b 73 00 00 |.....badblocks..| -00001490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -* 00004000