Date: Mon, 11 Sep 2023 17:50:35 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 273725] makefs command creates corrupted UFS fs when size option (-s) is specified Message-ID: <bug-273725-227@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D273725 Bug ID: 273725 Summary: makefs command creates corrupted UFS fs when size option (-s) is specified Product: Base System Version: 13.2-RELEASE Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: bin Assignee: bugs@FreeBSD.org Reporter: jane062019a@gmail.com Verified on FreeBSD 13.2, but it happens also on freebsd 15.0-CURRENT: makefs command executed without parameters creates a UFS clean fs as expect= ed, but if size option is used the fs is corrupt.=20 A simplified test: root@freebsd:~ # uname -a FreeBSD freebsd 13.2-RELEASE-p3 FreeBSD 13.2-RELEASE-p3 GENERIC amd64 E.g. I use the content of /usr/bin to fill out the new fs with makefs: root@freebsd:~ # du -hs /usr/bin/ 328M /usr/bin/ Without the -s option the fs is good: # makefs ./image1 /usr/bin Calculated size of `./image1': 400621568 bytes, 368 inodes Extent size set to 32768 ./image1: 382.1MB (782464 sectors) block size 32768, fragment size 4096 using 1 cylinder groups of 382.06MB, 12226 blks, 512 inodes. super-block backups (for fsck -b #) at: 64, Populating `./image1' Image `./image1' complete root@freebsd:/makefs_test # mdconfig -a -t vnode -f ./image1 md0 root@freebsd:/makefs_test # fsck /dev/md0 ** /dev/md0 ** Last Mounted on ** Phase 1 - Check Blocks and Sizes ** Phase 2 - Check Pathnames ** Phase 3 - Check Connectivity ** Phase 4 - Check Reference Counts ** Phase 5 - Check Cyl groups 367 files, 83999 used, 13768 free (40 frags, 1716 blocks, 0.0% fragmentatio= n) ***** FILE SYSTEM IS CLEAN ***** root@freebsd:/makefs_test # mount /dev/md0 /mnt root@freebsd:/makefs_test # du -hs /mnt 328M /mnt If any size is specified, the created fs is corrupt: root@freebsd:/makefs_test # makefs -s 600m ./image2 /usr/bin Calculated size of `./image2': 629145600 bytes, 368 inodes Extent size set to 32768 density reduced from 1709635 to 8192 ./image2: 600.0MB (1228800 sectors) block size 32768, fragment size 4096 using 1 cylinder groups of 600.00MB, 19200 blks, 76800 inodes. super-block backups (for fsck -b #) at: 64, Populating `./image2' Image `./image2' complete root@freebsd:/makefs_test # mdconfig -a -t vnode -f ./image2 md1 root@freebsd:/makefs_test # fsck /dev/md1 ** /dev/md1 ** Last Mounted on ** Phase 1 - Check Blocks and Sizes UFS1 cylinder group 0 failed: cgp->cg_old_niblk ("11264") !=3D sblock.fs_ipg ("76800") CYLINDER GROUP 0: INTEGRITY CHECK FAILED REBUILD CYLINDER GROUP? [yn] y ** Phase 2 - Check Pathnames ** Phase 3 - Check Connectivity ** Phase 4 - Check Reference Counts ** Phase 5 - Check Cyl groups SUMMARY INFORMATION BAD SALVAGE? [yn] y BLK(S) MISSING IN BIT MAPS SALVAGE? [yn] y 367 files, 83999 used, 67176 free (40 frags, 8392 blocks, 0.0% fragmentatio= n) ***** FILE SYSTEM IS CLEAN ***** ***** FILE SYSTEM WAS MODIFIED ***** The fs is not repaired despite repeated fsck and the 'clean' final status: root@freebsd:/makefs_test # fsck -y /dev/md1 ** /dev/md1 ** Last Mounted on /mnt ** Phase 1 - Check Blocks and Sizes UFS1 cylinder group 0 failed: cgp->cg_old_niblk ("11264") !=3D sblock.fs_ipg ("76800") CYLINDER GROUP 0: INTEGRITY CHECK FAILED REBUILD CYLINDER GROUP? yes ** Phase 2 - Check Pathnames ** Phase 3 - Check Connectivity ** Phase 4 - Check Reference Counts ** Phase 5 - Check Cyl groups SUMMARY INFORMATION BAD SALVAGE? yes BLK(S) MISSING IN BIT MAPS SALVAGE? yes 367 files, 83999 used, 67176 free (40 frags, 8392 blocks, 0.0% fragmentatio= n) ***** FILE SYSTEM MARKED CLEAN ***** ***** FILE SYSTEM WAS MODIFIED ***** Thank you! --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-273725-227>