Page MenuHomeFreeBSD
Feed Search

Aug 11 2023

mckusick committed rG886fd36e1ac2: Clean up and document UFS/FFS error returns..
Aug 11 2023, 12:54 AM

Aug 10 2023

mckusick accepted D41387: UFS: panic rather than forcibly unmount the root fs.

This looks like the correct solution to me. We are at the point where we decide we need to do a forcible unmount and realize that we are about to do it on the root filesystem.

Aug 10 2023, 12:16 AM

Aug 9 2023

mckusick committed rGc52b5d16ccf2: Remove a partial UFS/FFS snapshot if it fails to build successfully..
Aug 9 2023, 11:45 PM
mckusick committed rG6dff61a1d187: Rate limit kernel UFS/FFS cylinder group check-hash error messages..
Aug 9 2023, 12:12 AM

Aug 7 2023

mckusick committed rGd4a8f5bf1339: Handle UFS/FFS file deletion from cylinder groups with check-hash failure..
Aug 7 2023, 11:29 PM

Aug 6 2023

mckusick committed rG4ce2a2db41f9: Update newfs(8) and tunefs(8) manual pages..
Aug 6 2023, 6:41 AM
mckusick committed rG02b7bf07c5d2: Improve dumpfs(8) error messages when a cylinder group read fails..
Aug 6 2023, 6:11 AM
mckusick committed rGd69d55f78b93: UFS/FFS: Migrate to modern uintXX_t from u_intXX_t..
Aug 6 2023, 4:31 AM

Aug 5 2023

mckusick committed rG44e4279e565f: Add diagnostics to fsck_ffs(8) for journaled soft-updates debugging..
Aug 5 2023, 6:26 AM
mckusick committed rG98b660abffac: Add quitclean command to fsdb(8) to request a filesystem not be marked dirty..
Aug 5 2023, 6:22 AM
mckusick committed rGbcbb927b97cb: Have fsdb(8) only mark a filesystem dirty when it is modified..
Aug 5 2023, 6:20 AM
mckusick committed rG080ebe84fb42: Comment cleanup..
Aug 5 2023, 6:16 AM
mckusick committed rGf40d616aecd7: Debugging output additions. No functional changes intended..
Aug 5 2023, 6:15 AM
mckusick committed rG1cd2b2f96fad: Text format cleanups. No functional changes intended..
Aug 5 2023, 6:12 AM

Aug 1 2023

mckusick committed rG344b5bf82528: Support background fsck_ffs(8) on filesystems using journaled soft updates.
Aug 1 2023, 8:18 PM

Jul 27 2023

mckusick committed rG831b1ff7913f: UFS/FFS: Migrate to modern uintXX_t from u_intXX_t..
Jul 27 2023, 10:28 PM

Jul 26 2023

mckusick committed rG6f0ca273a393: Add diagnostics to fsck_ffs(8) for journaled soft-updates debugging..
Jul 26 2023, 9:51 PM
mckusick committed rGd059e44b800a: Add quitclean command to fsdb(8) to request a filesystem not be marked dirty..
Jul 26 2023, 2:44 AM
mckusick committed rGd51bdf327d93: Have fsdb(8) only mark a filesystem dirty when it is modified..
Jul 26 2023, 2:30 AM

Jul 25 2023

mckusick committed rG4a3444428de5: Comment cleanup..
Jul 25 2023, 9:09 PM
mckusick committed rG4d512b07357f: Debugging output additions. No functional changes intended..
Jul 25 2023, 9:04 PM

Jul 22 2023

mckusick committed rG17207eae668b: Write out corrected superblock when creating a UFS/FFS snapshot..
Jul 22 2023, 12:23 AM

Jul 18 2023

mckusick committed rG239597e0309d: Text format cleanups. No functional changes intended..
Jul 18 2023, 12:30 AM

Jun 13 2023

mckusick committed rGf1549d7d5229: Write out corrected superblock when creating a UFS/FFS snapshot..
Jun 13 2023, 7:23 AM

Jun 7 2023

mckusick committed rG95fc911fe9f2: Updates to UFS/FFS superblock integrity checks when reading a superblock..
Jun 7 2023, 11:16 PM
mckusick committed rGa4bea5c479d8: Fix a bug in fsck_ffs(8) triggered by corrupted filesystems..
Jun 7 2023, 11:16 PM
mckusick committed rG90532db778dc: Cleanups to fsck_ffs(8)..
Jun 7 2023, 11:16 PM
mckusick committed rGda8749afdca8: Fix a bug in fsck_ffs(8) triggered by corrupted filesystems..
Jun 7 2023, 11:16 PM
mckusick committed rG3035f98d56eb: Fix a bug in fsck_ffs(8) triggered by corrupted filesystems..
Jun 7 2023, 11:16 PM
mckusick committed rG52f50301aaab: Correct two bugs in fsck_ffs(8) triggered by corrupted filesystems..
Jun 7 2023, 11:16 PM
mckusick committed rGfbfbd0638a5a: Fix a bug in fsck_ffs(8) triggered by corrupted filesystems..
Jun 7 2023, 11:16 PM
mckusick committed rG77cbed11b2ea: Do not try to adjust a directory depth when its reconnection is declined..
Jun 7 2023, 10:38 PM
mckusick committed rG007322a94cee: Add the ability to adjust directory depths to background fsck_ffs(8)..
Jun 7 2023, 10:35 PM

May 30 2023

mckusick added a comment to D38459: timerfd: Add native support for Linux's timerfd.

For system calls you do need annotations, you cannot properly understand the purpose of any pointer passed to syscall otherwise. Is it in, out, in/out, or even just an abstract address like mmap/munmap/madvise arguments?

For ioctls, the meaning of the command/arg is quite formalized, at least in BSDs. You are well aware that we encode both sizes and directions for copyin and copyout. After I took some time thinking how to implement what you described, I was surprised by the statement that syscalls are easier than ioctls.

That said, I am quite dislike extending the syscall semantical coverage by adding one-off operations. In the case of special fds, having all ops grouped together (under ioctl umbrella) localizes the interfaces and make them more comprehensive. This is, of course, my opinion, but all my experience supports the claim.

May 30 2023, 11:28 PM ยท linuxkpi, Linux Emulation

May 29 2023

mckusick committed rG6a71277c3037: Fix a bug in fsck_ffs(8) triggered by corrupted filesystems..
May 29 2023, 9:59 PM
mckusick committed rG5267120645fa: Cleanups to fsck_ffs(8)..
May 29 2023, 9:57 PM

May 28 2023

mckusick committed rGb796bfce4869: Fix a bug in fsck_ffs(8) triggered by corrupted filesystems..
May 28 2023, 10:24 PM
mckusick committed rG101a9ac07128: Fix a bug in fsck_ffs(8) triggered by corrupted filesystems..
May 28 2023, 12:13 AM

May 27 2023

mckusick committed rG11ce203e0535: Fix a bug in fsck_ffs(8) triggered by corrupted filesystems..
May 27 2023, 11:08 PM
mckusick committed rGc79a1416955a: Updates to UFS/FFS superblock integrity checks when reading a superblock..
May 27 2023, 7:24 PM
mckusick committed rG49943856eb27: Do not try to adjust a directory depth when its reconnection is declined..
May 27 2023, 5:56 AM
mckusick committed rG03a8680202ef: Correct two bugs in fsck_ffs(8) triggered by corrupted filesystems..
May 27 2023, 5:44 AM

May 26 2023

mckusick committed rGb51ac373dd38: Updates to UFS/FFS superblock integrity checks when reading a superblock..
May 26 2023, 9:38 PM
mckusick committed rG4a3834e31fdf: Fix size differences between architectures of the UFS/FFS CGSIZE macro value..
May 26 2023, 9:26 PM
mckusick committed rGe4a905d1e0d9: Add the ability to adjust directory depths to background fsck_ffs(8)..
May 26 2023, 2:29 AM
mckusick committed rG4b08a62ed441: When running fsck_ffs(8) in background ensure that a superblock has been read..
May 26 2023, 2:00 AM

May 19 2023

mckusick committed rG5188186cd4dd: newfs: fix up 32-bit compile (authored by mjg).
May 19 2023, 11:56 PM
mckusick committed rG8e0b31c791cf: Fix off-by-one error in fsck_ffs(8) chkrange() block-number check..
May 19 2023, 11:56 PM
mckusick committed rGeefbecaab1b1: Updates to UFS/FFS superblock integrity checks when reading a superblock..
May 19 2023, 11:56 PM
mckusick committed rG0fc13be84735: Additional validity checking in newfs(8)..
May 19 2023, 11:56 PM
mckusick committed rGa6916c2bd084: Yet another try to fix printf format conflict..
May 19 2023, 11:55 PM
mckusick committed rG4921003d448e: Fix printf format conflict.
May 19 2023, 11:55 PM
mckusick committed rG7ad0e9f1e696: Additional output from dumpfs(8)..
May 19 2023, 11:55 PM

May 15 2023

mckusick committed rG0a6e34e950cd: Fix size differences between architectures of the UFS/FFS CGSIZE macro value..
May 15 2023, 7:58 PM

May 9 2023

mckusick committed rGb3fe5d932264: Fix off-by-one error in fsck_ffs(8) chkrange() block-number check..
May 9 2023, 8:09 PM

Apr 30 2023

mckusick committed rG2e7797cd9bba: Yet another try to fix printf format conflict..
Apr 30 2023, 7:01 AM
mckusick committed rG6995e6b3237e: Fix printf format conflict.
Apr 30 2023, 12:56 AM
mckusick committed rG62dc21b10731: Additional validity checking in newfs(8)..
Apr 30 2023, 12:02 AM
mckusick committed rG04997e19e27b: Additional output from dumpfs(8)..
Apr 30 2023, 12:02 AM
mckusick committed rGa2d1957bbcc8: Updates to UFS/FFS superblock integrity checks when reading a superblock..
Apr 30 2023, 12:02 AM

Apr 29 2023

mckusick committed rG0c6c748f7827: Skip Pass 5 in fsck_ffs(8) when corrupt cylinder groups remain unfixed..
Apr 29 2023, 6:16 PM
mckusick committed rGb180a0773bef: Bug fixes for fsck_ffs(8)..
Apr 29 2023, 6:11 PM
mckusick committed rG146ba7a1d60c: Add `chdb' command to fsdb(8) to set direct block numbers..
Apr 29 2023, 6:08 PM
mckusick committed rG427b3d970ad9: Improvement in UFS/FFS directory placement when doing mkdir(2)..
Apr 29 2023, 6:02 PM

Apr 18 2023

mckusick committed rGda86e7a20dc4: Skip Pass 5 in fsck_ffs(8) when corrupt cylinder groups remain unfixed..
Apr 18 2023, 11:14 PM
mckusick committed rG18746531a881: Bug fixes for fsck_ffs(8)..
Apr 18 2023, 11:14 PM
mckusick committed rG7636973c68f1: Add `chdb' command to fsdb(8) to set direct block numbers..
Apr 18 2023, 11:14 PM

Apr 16 2023

mckusick accepted D39070: makefs: move brelse into bread.

Now looks good. Sorry for the slow response.

Apr 16 2023, 2:45 PM

Apr 7 2023

mckusick requested changes to D39070: makefs: move brelse into bread.

The use of brelse in makefs/ffs/ffs_balloc.c is inconsistent. Assuming you are consistent in having bwrite brelse in both error and non-error cases there are two places in ffs_balloc.c that need to have brelse removed.

Apr 7 2023, 6:31 AM
mckusick accepted D39386: Fix panic and other issues in msdosfs.

Looks ready to commit.

Apr 7 2023, 4:50 AM

Apr 5 2023

mckusick added a comment to D39386: Fix panic and other issues in msdosfs.

Have you verified that these changes resolve the issues reported in PR #270587?

Apr 5 2023, 11:11 PM
mckusick accepted D39442: Report sensible values for blocks and inodes of procfs etc..

Looks good.

Apr 5 2023, 10:58 PM

Mar 30 2023

mckusick committed rG40f022975df9: Rewrite function definitions with identifier lists..
Mar 30 2023, 4:33 AM
mckusick committed rGfe5e6e2cc5d6: Improvement in UFS/FFS directory placement when doing mkdir(2)..
Mar 30 2023, 4:14 AM
mckusick closed D39246: Improvement in UFS/FFS directory placement when doing mkdir(2).
Mar 30 2023, 4:14 AM

Mar 28 2023

mckusick accepted D38987: Count used root directory entries in FAT12/16 file systems.

This looks ready to go to me. I concur with putting off your other issues for another change later.

Mar 28 2023, 11:12 PM
mckusick committed rGbfd32571efc7: Updates to UFS/FFS superblock integrity checks when reading a superblock..
Mar 28 2023, 10:51 PM
mckusick added a comment to D39246: Improvement in UFS/FFS directory placement when doing mkdir(2).
In D39246#894573, @chs wrote:

The concern I have with this change is about user interface. With this patch, if someone renames a directory that is the root of a subtree containing other directories and then unmounts the file system cleanly, fsck will report that the file system is now corrupted because all of the dirdepth values for directories in that subtree are wrong. In fact, every existing file system will immediately be reported as corrupted the first time that the new fsck is run. There are millions of people in the world who know what the fsck output for a clean and uncorrupted UFS file system looks like, and that clean fsck output is very easy to recognize because it's very short and always the same (modulo the line with the last-mounted-on path and the line at the end with the block/inode usage and fragmentation summary). After this patch, fsck can produce millions of lines of output for file systems that aren't really corrupted but rather are merely not optimal, and it will no longer be so simple to tell if a file system is corrupted or not by looking at the fsck output.

I think that fsck should not report incorrect dirdepth values at all, because an incorrect dirdepth value is not considered corruption. It would still be desirable for fsck to set the dirdepth fields to their optimal values, but producing potentially a huge number of lines of output while doing so would obscure the fact that the file system may otherwise be completely consistent, so it would be best if these updates to dirdepth values were done silently. I realize that this changes a different long-standing tradition that fsck reports (and asks about) every individual change that it makes, but prior to this patch, everything that fsck would change represented either a kernel bug or a hardware failure of some kind (ie. a serious problem), whereas a dirdepth value being wrong is a normal situation that the kernel creates intentionally and is thus nothing to worry about.

Mar 28 2023, 5:45 AM
mckusick committed rGa0cd0329512f: Correct several bugs in fsck_ffs(8) triggered by corrupted filesystems..
Mar 28 2023, 12:27 AM

Mar 27 2023

mckusick committed rG4660b60a00c3: Updates to UFS/FFS superblock integrity checks when reading a superblock..
Mar 27 2023, 11:47 PM

Mar 26 2023

mckusick added a comment to D39246: Improvement in UFS/FFS directory placement when doing mkdir(2).

Responding to comment.

Mar 26 2023, 11:20 PM
mckusick added a comment to D38987: Count used root directory entries in FAT12/16 file systems.

These changes look good. I recommend adding the changes to the df(1) and msdos(5) man pages here so it all gets checked in together.

Mar 26 2023, 6:56 AM
mckusick added a comment to D39246: Improvement in UFS/FFS directory placement when doing mkdir(2).

IMO not adding extra deductible data to the on-disk format is good, or if we do add such data, then we should check it dynamically. I think you would go with the dinode field re-use, but then please check that the condition that I formulated, and do the usual action when the broken metadata detected.

Mar 26 2023, 6:09 AM

Mar 25 2023

mckusick added a comment to D39246: Improvement in UFS/FFS directory placement when doing mkdir(2).

I do not mean to check it all way back to the root. I mean, if ufs_lookup(dvp) found vp which is directory, then vp.dirdepth must be dvp.dirdepth + 1 or both must be zero.

Mar 25 2023, 6:50 AM

Mar 24 2023

mckusick added a comment to D39246: Improvement in UFS/FFS directory placement when doing mkdir(2).
In D39246#893800, @kib wrote:

If I mount a filesystem without running fsck on it at all, then the things are undefined? For instance, I often boot my crash boxes single-user and directly mount some partition r/w

Mar 24 2023, 10:38 PM
mckusick accepted D39253: Status/2023Q1/ufs_snapshots.adoc: Add report.

Thanks for cleanup.

Mar 24 2023, 10:26 PM
mckusick requested review of D39246: Improvement in UFS/FFS directory placement when doing mkdir(2).
Mar 24 2023, 6:10 AM

Mar 23 2023

mckusick committed rG42c82aad327d: Improve chance of finding an alternate superblock in sbsearch(3)..
Mar 23 2023, 8:06 PM

Mar 22 2023

mckusick committed rGe5d0d1c5fbbc: Rewrite function definitions with identifier lists..
Mar 22 2023, 10:59 PM

Mar 20 2023

mckusick committed rG85dc1a471591: FFS/UFS snapshots: improve documentation for removal (deletion) and unlinking..
Mar 20 2023, 5:23 AM
mckusick committed rGd0d1bec32ba8: FFS/UFS snapshots: improve documentation for removal (deletion) and unlinking..
Mar 20 2023, 5:23 AM
mckusick committed rG24ed6ac44549: FFS/UFS snapshots: improve documentation..
Mar 20 2023, 5:23 AM

Mar 19 2023

mckusick committed rG191115cfb625: Fix syntax error in 0697670..
Mar 19 2023, 12:04 AM

Mar 18 2023

mckusick committed rG069767091e54: Do not panic in case of corrupted UFS/FFS directory..
Mar 18 2023, 10:39 PM

Mar 12 2023

mckusick accepted D38503: Do not panic in case of corrupted directory.

Looks ready to go. Happy the change ended up so simple. I have the equivalent changes ready for UFS/FFS:

Mar 12 2023, 10:06 PM
mckusick added a comment to D38503: Do not panic in case of corrupted directory.

In UFS/FFS we handle the mangled '..' entry by silently ignoring the error and proceeding with the removal of the old directory entry. That leaves the only cleanup for fsck is to fix the broken '..' entry. I think that is what you should do too.

Mar 12 2023, 12:51 AM

Mar 11 2023

mckusick added a comment to D38987: Count used root directory entries in FAT12/16 file systems.

Since I'll be traveling for one week without good Internet access, I'll probably not be able upload the updated patch before 2023-03-20, though.

No rush. I hope some of your travel will be for fun.

Mar 11 2023, 9:46 PM

Mar 10 2023

mckusick added a comment to D38987: Count used root directory entries in FAT12/16 file systems.

Improvements so far look good.
Several places already noted still need new or updated comments.
Should add updates to msdos(5) and df(1) manual pages.

Mar 10 2023, 4:51 PM

Mar 9 2023

mckusick added a comment to D38987: Count used root directory entries in FAT12/16 file systems.

In email to me Stefan Esser writes:

I'm not happy with the choice of function names for the increment/decrement macros, and I think that the exact location of their invocation should be reviewed with regard to error cases.

Mar 9 2023, 9:04 PM
mckusick added a comment to D38987: Count used root directory entries in FAT12/16 file systems.
In D38987#887669, @se wrote:

This looks like a useful change. How difficult would it be to make it also work for FAT32 filesystems?

FAT12/16 have a fixed number of directory blocks between the FAT tables and the data area.
FAT32 does away with a fixed root directory and uses kind of a 1st level sub-directory for root directory entries instead (i.e. there is a single block pointer in the boot block which points at the start of a directory "file" of variable length).

Since there is no size limit for the root directory on FAT32, there is no limit on the number of "inodes" as reported by statfs().
Both the number of inodes and of free inodes are reported as 0 and the df command deals with this special case by not reporting a percentage of free inodes.

Mar 9 2023, 8:30 PM