mckusick (Marshall Kirk McKusick)
User

Projects

User Details

User Since
Oct 24 2014, 7:17 PM (199 w, 1 d)

Recent Activity

Yesterday

mckusick committed rS338031: Replace the TRIM consolodation framework originally added in -r337396.
Replace the TRIM consolodation framework originally added in -r337396
Sat, Aug 18, 10:22 PM
mckusick committed rS338029: Revert -r337396. It is being replaced with a revised interface that.
Revert -r337396. It is being replaced with a revised interface that
Sat, Aug 18, 9:21 PM

Tue, Aug 7

mckusick committed rS337437: When getting mount information for all filesystems, mount uses the.
When getting mount information for all filesystems, mount uses the
Tue, Aug 7, 9:18 PM

Mon, Aug 6

mckusick committed rS337396: Put in place the framework for consolodating contiguous blocks into.
Put in place the framework for consolodating contiguous blocks into
Mon, Aug 6, 9:09 PM

Mon, Jul 30

mckusick added a comment to D16328: brelse() should not make buffers dirty again when writes fail.

The idea of channelling everything through b_iodone is aesthetically pleasing, but impractical. Adding an extra indirect call to every buffer operation introduces a lot of overhead for a very rare event. It also requires changes to every filesystem that uses the buffer cache (which is most of them). So, the idea of adding a function that gets called only when a disk goes offline that can have a default function that keeps the current (albeit broken) behavior of redirtying the buffer is both efficient and requires far less code churn.

Mon, Jul 30, 6:05 AM

Sun, Jul 22

mckusick added a comment to D16328: brelse() should not make buffers dirty again when writes fail.

As kib has pointed out, much of UFS is not prepared to deal with failure.

Sun, Jul 22, 7:04 PM

Fri, Jul 20

mckusick requested changes to D16328: brelse() should not make buffers dirty again when writes fail.

On further thought, I realize that while we (correctly) deal with the B_PAGING panic, we simply replace it with the "dangling dependency" panic in UFS along with about 100 UFS metadata corruption panics that occur if the I/O fails when writing a UFS metadata block. So, at a minimum we need to make a callback to the filesystem when we are going to fail a write so that it can take some sort of defensive action (such as forcible unmount). This can be done here where we know that we are about to start the cascade or perhaps in buf_free where we should call buf_deallocate if the reason for the buffer being freed is that it had a failed write.

Fri, Jul 20, 2:59 PM

Jul 19 2018

mckusick accepted D16328: brelse() should not make buffers dirty again when writes fail.

I am fine with this change.

Jul 19 2018, 5:25 PM

Jul 17 2018

mckusick committed rS336361: Add needed locking for um_flags added in -r335808..
Add needed locking for um_flags added in -r335808.
Jul 17 2018, 4:44 AM

Jul 7 2018

mckusick committed rS336074: Import commit from NetBSD with checkin message:.
Import commit from NetBSD with checkin message:
Jul 7 2018, 7:12 PM

Jun 29 2018

mckusick committed rS335808: Create um_flags in the ufsmount structure to hold flags for a UFS filesystem..
Create um_flags in the ufsmount structure to hold flags for a UFS filesystem.
Jun 29 2018, 10:24 PM

Jun 7 2018

mckusick committed rS334814: Ensure proper initialization of superblock..
Ensure proper initialization of superblock.
Jun 7 2018, 8:49 PM

Jun 2 2018

mckusick accepted D15342: Break recursion involving getnewvnode and zfs_rmnode.

I am not the right person to review the ZFS-specific parts of this change. But the approach of avoiding recursive invocations of getnewvnode is needed and this change accomplishes that requirement.

Jun 2 2018, 6:25 PM

May 17 2018

mckusick accepted D15456: change ffs_blkfree() trim to not bypass geom_vfs, avoids panics.

This looks good to me. I'll change the M_TEMP to M_TRIM when I check my changes into the tree.

May 17 2018, 5:31 AM

May 16 2018

mckusick committed rS333694: Fix warning found by Coverity..
Fix warning found by Coverity.
May 16 2018, 11:42 PM
mckusick committed rS333693: Revert change made in base r171522.
Revert change made in base r171522
May 16 2018, 11:30 PM

Apr 19 2018

mckusick committed rS332798: Fix incorrect output for a file consisting of a single full-size.
Fix incorrect output for a file consisting of a single full-size
Apr 19 2018, 10:44 PM

Apr 18 2018

mckusick committed rS332742: In addition to the existing argument format:.
In addition to the existing argument format:
Apr 18 2018, 11:08 PM
mckusick committed rS332741: Check the inode type and only attempt to print block lists for.
Check the inode type and only attempt to print block lists for
Apr 18 2018, 10:25 PM

Apr 17 2018

mckusick committed rS332638: MFC of 332264, 332266, 332415:.
MFC of 332264, 332266, 332415:
Apr 17 2018, 12:03 AM

Apr 11 2018

mckusick committed rS332415: Fix potentially overflowing expression "fs->fs_ipg * fs->fs_ncg".
Fix potentially overflowing expression "fs->fs_ipg * fs->fs_ncg"
Apr 11 2018, 7:29 PM

Apr 8 2018

mckusick committed rS332268: Add (intmax_t) type casts to some printf parameters to keep i386 happy..
Add (intmax_t) type casts to some printf parameters to keep i386 happy.
Apr 8 2018, 7:18 AM
mckusick committed rS332267: When using the fsdb `blocks' command, replace the long and ugly list of.
When using the fsdb `blocks' command, replace the long and ugly list of
Apr 8 2018, 7:06 AM
mckusick committed rS332266: The ufs_disk_write() function is used to upgrade a read-only descriptor.
The ufs_disk_write() function is used to upgrade a read-only descriptor
Apr 8 2018, 7:00 AM
mckusick committed rS332265: Split tools/diag/prtblknos into two parts:.
Split tools/diag/prtblknos into two parts:
Apr 8 2018, 6:53 AM
mckusick committed rS332264: Defensive programming when reading inodes in getino()..
Defensive programming when reading inodes in getino().
Apr 8 2018, 5:15 AM

Apr 5 2018

mckusick committed rS332055: Renumber soft-update types starting at 1 instead of 0 to avoid confusion.
Renumber soft-update types starting at 1 instead of 0 to avoid confusion
Apr 5 2018, 12:32 AM

Mar 24 2018

mckusick committed rS331491: When freeing a superblock returned by ffs_sbget, be sure to also.
When freeing a superblock returned by ffs_sbget, be sure to also
Mar 24 2018, 3:36 PM

Mar 18 2018

mckusick accepted D14712: Remove Giant from init creation and vfs_mountroot..

This all looks good to me. Glad to see more of Giant retired.

Mar 18 2018, 5:06 PM

Mar 14 2018

mckusick accepted D14679: Modify rc.d/fsck to handle new status from fsck/fsck_ffs.

I concur that this change should be made.

Mar 14 2018, 10:35 PM
mckusick added a comment to D14679: Modify rc.d/fsck to handle new status from fsck/fsck_ffs.

A couple of points that I would like to add to this discussion:

Mar 14 2018, 4:21 PM

Mar 2 2018

mckusick committed rS330266: MFC of 329880..
MFC of 329880.
Mar 2 2018, 4:43 AM
mckusick committed rS330265: MFC of 329880..
MFC of 329880.
Mar 2 2018, 4:42 AM
mckusick committed rS330264: This change is some refactoring of Mark Johnston's changes in r329375.
This change is some refactoring of Mark Johnston's changes in r329375
Mar 2 2018, 4:35 AM

Feb 26 2018

mckusick committed rS329997: Use a more straight-forward approach to relaxing the location.
Use a more straight-forward approach to relaxing the location
Feb 26 2018, 12:35 AM

Feb 24 2018

mckusick committed rS329896: Relax the location restraints when validating one of the.
Relax the location restraints when validating one of the
Feb 24 2018, 3:34 AM

Feb 23 2018

mckusick committed rS329883: MFC of 329749..
MFC of 329749.
Feb 23 2018, 11:07 PM
mckusick committed rS329881: MFC of 329749..
MFC of 329749.
Feb 23 2018, 10:23 PM
mckusick committed rS329880: Include error number in the "fsync: giving up on dirty" message.
Include error number in the "fsync: giving up on dirty" message
Feb 23 2018, 9:57 PM

Feb 21 2018

mckusick committed rS329749: Fix a read past the end of a buffer in fsck..
Fix a read past the end of a buffer in fsck.
Feb 21 2018, 8:32 PM
mckusick closed D14163: Fix a read past the end of a buffer in fsck..
Feb 21 2018, 8:32 PM
mckusick committed rS329746: Refactor fix in r329600 to do its check once in readsuper() rather.
Refactor fix in r329600 to do its check once in readsuper() rather
Feb 21 2018, 7:56 PM

Feb 9 2018

mckusick committed rS329087: Add an explanation of the block size units output by prtblknos..
Add an explanation of the block size units output by prtblknos.
Feb 9 2018, 10:23 PM
mckusick committed rS329078: Merge biodone_finish() back into biodone(). The primary purpose is.
Merge biodone_finish() back into biodone(). The primary purpose is
Feb 9 2018, 7:51 PM
mckusick committed rS329076: This is a little C-program that can be used to print out the list.
This is a little C-program that can be used to print out the list
Feb 9 2018, 7:10 PM

Feb 8 2018

mckusick added a comment to D14163: Fix a read past the end of a buffer in fsck..

In response to brooks. You are correct that this always allocates one block and initialises it to zero. Thus all zero-length directories will sort to the front of the list so that they will all be reported in a block.

Feb 8 2018, 11:27 PM
mckusick committed rS329052: Include files missed in 329051..
Include files missed in 329051.
Feb 8 2018, 11:14 PM
mckusick committed rS329051: The goal of this change is to prevent accidental foot shooting by.
The goal of this change is to prevent accidental foot shooting by
Feb 8 2018, 11:07 PM

Feb 7 2018

mckusick committed rS328997: Adjust MFC in r328946 to stable/10..
Adjust MFC in r328946 to stable/10.
Feb 7 2018, 10:50 PM

Feb 6 2018

mckusick committed rS328948: MFC of 328647..
MFC of 328647.
Feb 6 2018, 7:18 PM
mckusick committed rS328947: MFC of 328647..
MFC of 328647.
Feb 6 2018, 7:17 PM
mckusick committed rS328946: MFC of 328643..
MFC of 328643.
Feb 6 2018, 7:15 PM
mckusick committed rS328944: MFC of 328643..
MFC of 328643.
Feb 6 2018, 7:13 PM
mckusick committed rS328943: MFC of 328304 and 328382..
MFC of 328304 and 328382.
Feb 6 2018, 7:10 PM
mckusick committed rS328942: MFC of 328304 and 328382..
MFC of 328304 and 328382.
Feb 6 2018, 7:09 PM
mckusick committed rS328914: Occasional cylinder-group check-hash errors were being reported on.
Occasional cylinder-group check-hash errors were being reported on
Feb 6 2018, 12:20 AM

Feb 2 2018

mckusick committed rS328821: Check and report error returns from sbput(3) calls..
Check and report error returns from sbput(3) calls.
Feb 2 2018, 11:27 PM
mckusick abandoned D14177: Proposed alternative fix..

See https://reviews.freebsd.org/D14163

Feb 2 2018, 10:24 PM
mckusick updated the diff for D14163: Fix a read past the end of a buffer in fsck..

I agree with the problem, but propose this new diff as the correct solution.

Feb 2 2018, 10:20 PM
mckusick commandeered D14163: Fix a read past the end of a buffer in fsck..
Feb 2 2018, 10:18 PM
mckusick committed rS328813: In the sbwrite(3) function, ensure that the file descriptor has been.
In the sbwrite(3) function, ensure that the file descriptor has been
Feb 2 2018, 10:06 PM
mckusick added a reviewer for D14177: Proposed alternative fix.: brooks.
Feb 2 2018, 9:34 PM
mckusick requested changes to D14163: Fix a read past the end of a buffer in fsck..

I concur with the problem, but differ on the solution. When I tried to upload my proposed change it created a whole new report https://reviews.freebsd.org/D14177. How do I just attach a new diff here?

Feb 2 2018, 9:33 PM
mckusick created D14177: Proposed alternative fix..
Feb 2 2018, 9:29 PM
mckusick committed rS328765: MFC of 328444..
MFC of 328444.
Feb 2 2018, 1:28 AM
mckusick committed rS328764: MFC of 328444..
MFC of 328444.
Feb 2 2018, 12:52 AM
mckusick committed rS328763: Use sbput(3) rather than sbwrite(3) to ensure that the updated copy of.
Use sbput(3) rather than sbwrite(3) to ensure that the updated copy of
Feb 2 2018, 12:07 AM
mckusick committed rS328762: Fix punctuation..
Fix punctuation.
Feb 2 2018, 12:02 AM

Jan 31 2018

mckusick committed rS328647: Null out journal softc pointer earlier to avoid a segment fault.
Null out journal softc pointer earlier to avoid a segment fault
Jan 31 2018, 11:31 PM
mckusick committed rS328644: When reading a cylinder group, break out reporting of check hash errors.
When reading a cylinder group, break out reporting of check hash errors
Jan 31 2018, 11:13 PM
mckusick committed rS328643: One of the vnode fields listed by vn_printf is the union of pointers.
One of the vnode fields listed by vn_printf is the union of pointers
Jan 31 2018, 10:50 PM

Jan 29 2018

mckusick added a comment to D14092: Make g_label depend on FFS for now..

I agree that the dependency needs to be added though I am not sure precisely how it should be done. I suggest added kib@ as a reviewer because he is up-to-date with the way that these sorts of dependencies should be indicated.

Jan 29 2018, 11:02 PM

Jan 26 2018

mckusick committed rS328444: For many years the message "fsync: giving up on dirty" has occationally.
For many years the message "fsync: giving up on dirty" has occationally
Jan 26 2018, 6:17 PM
mckusick committed rS328426: Refactoring of reading and writing of the UFS/FFS superblock..
Refactoring of reading and writing of the UFS/FFS superblock.
Jan 26 2018, 12:59 AM

Jan 25 2018

mckusick added a comment to D14049: Fix architectures where pointer and u_int have different sizes.

This is the correct fix.

Jan 25 2018, 9:42 PM

Jan 24 2018

mckusick committed rS328383: More throughly integrate libufs into fsck_ffs by using its cgput().
More throughly integrate libufs into fsck_ffs by using its cgput()
Jan 24 2018, 11:57 PM
mckusick committed rS328382: Update .Dd missed in -r328304..
Update .Dd missed in -r328304.
Jan 24 2018, 10:36 PM

Jan 23 2018

mckusick committed rS328304: In the C library, the setting up of the group array by various.
In the C library, the setting up of the group array by various
Jan 23 2018, 10:19 PM

Jan 17 2018

mckusick committed rS328092: Correct fsck journal-recovery code to update a cylinder-group.
Correct fsck journal-recovery code to update a cylinder-group
Jan 17 2018, 5:58 PM
mckusick committed rS328075: Rename cgget => cglookup to clear name space for new libufs function cgget..
Rename cgget => cglookup to clear name space for new libufs function cgget.
Jan 17 2018, 6:31 AM

Jan 14 2018

mckusick accepted D13862: Exit fsck_ffs with non-zero status when file system is not repaired..

Approve of latest change.

Jan 14 2018, 7:15 AM

Jan 13 2018

mckusick accepted D13862: Exit fsck_ffs with non-zero status when file system is not repaired..

This looks like a sensible and long overdue change.

Jan 13 2018, 6:28 AM
mckusick added a comment to D13884: Report CG checksum mismatches..

Given the issues that have been raised by adding the checkhash, I am thinking that it may be better not to enable it by default. If it is (for now) only enabled optionally, then folks that want to test it can do so and the rest of the users do not have to deal with the testing shake-out. I want to add other checkhashes for things like superblocks, inodes and possibly indirect blocks. Once these are working as a whole, then we can expand them to the larger population. In particular, I want to add the ability to detect when a filesystem is run on an earlier kernel so that we will expect the checkhashes to be wrong. I have just one bit to work with here, so I want to defer adding this until I can use it to cover all the checkhashes. But I think that this ability to detect running on earlier kernels is important to have for the wider population of users.

Jan 13 2018, 6:00 AM
mckusick added a comment to D13884: Report CG checksum mismatches..

Using pfatal means that fsck -p (preen mode) will fail causing a reboot to drop into single user mode with a request that you run fsck manually. If you use pwarn, then a message will be generated but the system will continue to multi-user. I believe that pwarn is more appropriate in this case since you are not in danger of corrupting your filesystem when the checksum is wrong.

Jan 13 2018, 5:51 AM

Dec 27 2017

mckusick committed rS327253: In preparation for converting to libufs to read the superblock,.
In preparation for converting to libufs to read the superblock,
Dec 27 2017, 10:19 PM

Dec 26 2017

mckusick committed rS327227: Missing disk close in libufs..
Missing disk close in libufs.
Dec 26 2017, 11:16 PM

Dec 9 2017

mckusick accepted D13428: Provide an option to force synchronous initialization of inode blocks.

I believe that the correct solution is to make barrier writes work correctly as they can be used to solve a multitude of problems. Indeed I would use them more extensively in UFS if I believed that they worked. That said, I suggest a comment over the definition of the doasyncinodeinit that explains that synchronous inode initialization is only needed when barrier writes do not work.

Dec 9 2017, 1:04 AM

Dec 6 2017

mckusick accepted D13385: Optimize telldir(3).

This looks like an excellent improvement. I have not reviewed every line of code, but the concept is sound.

Dec 6 2017, 4:46 PM

Oct 31 2017

mckusick accepted D12765: newfs: warn if newer than kernel.
Oct 31 2017, 11:10 PM

Oct 17 2017

mckusick accepted D12704: Fix a racy VI_DOOMED check in MNT_VNODE_FOREACH_ALL().
Oct 17 2017, 7:13 PM

Oct 16 2017

mckusick committed rS324675: MFC of 324456..
MFC of 324456.
Oct 16 2017, 9:55 PM
mckusick committed rS324674: MFC of 324456..
MFC of 324456.
Oct 16 2017, 9:53 PM

Oct 10 2017

mckusick committed rS324499: Growfs got missed in r323923 that added a check hash to cylinder groups..
Growfs got missed in r323923 that added a check hash to cylinder groups.
Oct 10 2017, 4:17 PM

Oct 9 2017

mckusick committed rS324456: Do not report the filesystem as modified when the only change is to.
Do not report the filesystem as modified when the only change is to
Oct 9 2017, 10:20 PM

Sep 22 2017

mckusick committed rS323923: Continuing efforts to provide hardening of FFS, this change adds a.
Continuing efforts to provide hardening of FFS, this change adds a
Sep 22 2017, 12:45 PM

Sep 4 2017

mckusick committed rS323157: The new fsck recovery information to enable it to find backup.
The new fsck recovery information to enable it to find backup
Sep 4 2017, 8:19 PM

Aug 24 2017

mckusick committed rS322861: Note change brought on by 322860 MFC..
Note change brought on by 322860 MFC.
Aug 24 2017, 9:49 PM
mckusick committed rS322860: MFC of 276737, 322200, 322201, 322271, and 322297.
MFC of 276737, 322200, 322201, 322271, and 322297
Aug 24 2017, 9:44 PM

Aug 23 2017

mckusick committed rS322807: MFC of 322298 noting MFC 322806 in UPDATING.
MFC of 322298 noting MFC 322806 in UPDATING
Aug 23 2017, 4:44 AM
mckusick committed rS322806: MFC of 322200, 322201, 322271, and 322297.
MFC of 322200, 322201, 322271, and 322297
Aug 23 2017, 4:35 AM