- User Since
- Oct 24 2014, 7:17 PM (448 w, 1 d)
Fri, May 26
Fri, May 19
Mon, May 15
Tue, May 9
Sun, Apr 30
Sat, Apr 29
Apr 18 2023
Apr 16 2023
Now looks good. Sorry for the slow response.
Apr 7 2023
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.
Looks ready to commit.
Apr 5 2023
Have you verified that these changes resolve the issues reported in PR #270587?
Mar 30 2023
Mar 28 2023
This looks ready to go to me. I concur with putting off your other issues for another change later.
Mar 27 2023
Mar 26 2023
Responding to comment.
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.
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 25 2023
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 24 2023
Thanks for cleanup.
Mar 23 2023
Mar 22 2023
Mar 20 2023
Mar 19 2023
Mar 18 2023
Mar 12 2023
Looks ready to go. Happy the change ended up so simple. I have the equivalent changes ready for UFS/FFS:
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 11 2023
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 10 2023
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 9 2023
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.
This looks like a useful change. How difficult would it be to make it also work for FAT32 filesystems?
Mar 8 2023
Mar 7 2023
Mar 6 2023
Mar 5 2023
I found a disk image to reproduce this panic: https://people.freebsd.org/~pho/fsck11.sh.diskimage.20230228T064402.gz
I concur with the revisions. Glad to see this being done.
Mar 4 2023
These changes look good to me. Only change is to eliminate the blank lines.
Feb 27 2023
Fix for Peter Holm's latest evil filesystem. When trying to check just the minimal set of fields to make a superblock usable I failed to verify fs_ncg which then made the attempt to read the summary information take approximately forever.
Feb 26 2023
As you note, the existing value of the ronly flag is ignored when a filesystem is mounted. Rather it is set to reflect how the filesystem has been mounted. So presetting it to a value when creating the filesystem is pointless. If you want a filesystem in which the files and directories cannot be changed then you should set the SF_IMMUTABLE and SF_NOUNLINK flags (see chflags(2) for details) in every inode in the filesystem when you create it.
I will make the corresponding changes in UFS once this is committed.
Feb 25 2023
Fix problems found by Peter Holm. Fine tune and consolodate reported errors when fixing broken filesystems.
Feb 19 2023
Note that the three FS's that exhibit these problems are available at:
Feb 18 2023
Per my comment, both ext2 and ufs should no longer panic in ufs_baddir.
Feb 6 2023
Jan 29 2023
Jan 26 2023
Jan 18 2023
Jan 15 2023
Jan 14 2023
This change looks correct.
Jan 8 2023
This seems like a reasonable optimization to me.
Jan 2 2023
Dec 31 2022
Dec 30 2022
Dec 29 2022
Looks good to go.
This approach will certainly fix the problem.