Page MenuHomeFreeBSD

mckusick (Marshall Kirk McKusick)
User

Projects

User Details

User Since
Oct 24 2014, 7:17 PM (242 w, 3 d)

Recent Activity

Fri, Jun 14

mckusick committed rS349032: Clarify that the -r and -R options can be used only to create level 0 dumps..
Clarify that the -r and -R options can be used only to create level 0 dumps.
Fri, Jun 14, 6:10 AM

Wed, Jun 12

mckusick added a comment to D18351: Add BIO_SPEEDUP.

Has this been resolved / committed?

Wed, Jun 12, 8:48 PM
mckusick added a comment to D18586: mount(8) does not handle "update" option in the fstab(5) correctly.

Has this been resolved / committed?

Wed, Jun 12, 8:47 PM

Fri, Jun 7

mckusick committed rS348792: MFC of 348259.
MFC of 348259
Fri, Jun 7, 10:25 PM

Tue, Jun 4

mckusick accepted D20518: Add myself to committers-src.dot and calendar.freebsd.
Tue, Jun 4, 7:49 PM

Tue, May 28

mckusick committed rS348330: Add a missing bresle() in seldom-used error return..
Add a missing bresle() in seldom-used error return.
Tue, May 28, 5:31 PM
mckusick committed rS348329: Convert use of UFS-specific #ifdef DEBUG to DIAGNOSTIC or INVARIANTS.
Convert use of UFS-specific #ifdef DEBUG to DIAGNOSTIC or INVARIANTS
Tue, May 28, 4:32 PM

Mon, May 27

mckusick committed rS348300: Add function name and line number debugging information to softupdates.
Add function name and line number debugging information to softupdates
Mon, May 27, 6:23 AM

Sat, May 25

mckusick committed rS348260: MFC of 348074.
MFC of 348074
Sat, May 25, 12:22 AM
mckusick committed rS348259: When using the destroy option to shut down a nop GEOM module, I/O.
When using the destroy option to shut down a nop GEOM module, I/O
Sat, May 25, 12:08 AM

Fri, May 24

mckusick committed rS348256: MFC of 348074.
MFC of 348074
Fri, May 24, 11:07 PM

Tue, May 21

mckusick committed rS348074: This revision began as a simple change to eliminate an uninitialized warning.
This revision began as a simple change to eliminate an uninitialized warning
Tue, May 21, 10:25 PM

Mon, May 20

mckusick accepted D20304: NDFREE(): Fix unlocking for LOCKPARENT|LOCKLEAF and ndp->ni_dvp == ndp->ni_vp.

This change looks correct to me.

Mon, May 20, 9:44 PM

May 10 2019

mckusick committed rS347475: MFC of 347064, 347066, and 347130.
MFC of 347064, 347066, and 347130
May 10 2019, 11:46 PM
mckusick committed rS347474: MFC of 347064, 347066, and 347130.
MFC of 347064, 347066, and 347130
May 10 2019, 11:45 PM

May 6 2019

mckusick committed rS347200: MFC of 346185.
MFC of 346185
May 6 2019, 7:16 PM
mckusick committed rS347199: MFC of 345758.
MFC of 345758
May 6 2019, 7:13 PM

May 4 2019

mckusick committed rS347130: Zero out the file directory entry metadata to reduce disk.
Zero out the file directory entry metadata to reduce disk
May 4 2019, 6:01 PM

May 3 2019

mckusick committed rS347066: This update eliminates a kernel stack disclosure bug in UFS/FFS.
This update eliminates a kernel stack disclosure bug in UFS/FFS
May 3 2019, 9:54 PM
mckusick committed rS347064: Simplify calculation of DIRECTSIZ. No functional change intended..
Simplify calculation of DIRECTSIZ. No functional change intended.
May 3 2019, 9:46 PM

Apr 27 2019

mckusick accepted D20066: Stop checking for TD_IDLETHREAD() in the buffer cache..

A useful cleanup.

Apr 27 2019, 12:49 PM

Apr 15 2019

mckusick committed rS346222: MFC of 345758.
MFC of 345758
Apr 15 2019, 12:10 PM
mckusick committed rS346221: MFC of 345758.
MFC of 345758
Apr 15 2019, 12:08 PM

Apr 13 2019

mckusick committed rS346185: Followup to -r344552 in which fsck_ffs checks for a size past the.
Followup to -r344552 in which fsck_ffs checks for a size past the
Apr 13 2019, 1:31 PM

Apr 9 2019

mckusick added a comment to D19599: Add a UFS-specific implementation for lseek(SEEK_DATA)..

Should this now be closed since it was resolved in D19811?

Apr 9 2019, 7:12 PM

Mar 31 2019

mckusick committed rS345758: When using the force option to shut down a memory-disk device,.
When using the force option to shut down a memory-disk device,
Mar 31 2019, 9:35 PM

Mar 29 2019

mckusick committed rS345667: MFC of 343536, 345077, and 345352.
MFC of 343536, 345077, and 345352
Mar 29 2019, 1:17 AM
mckusick committed rS345666: MFC of 343536, 345077, and 345352.
MFC of 343536, 345077, and 345352
Mar 29 2019, 1:15 AM

Mar 20 2019

mckusick committed rS345352: This is an additional and hopefully final fix for bug report 230962..
This is an additional and hopefully final fix for bug report 230962.
Mar 20 2019, 11:11 PM

Mar 17 2019

mckusick accepted D19599: Add a UFS-specific implementation for lseek(SEEK_DATA)..

This seems like a very useful improvement.

Mar 17 2019, 12:32 AM

Mar 16 2019

mckusick added a comment to D19598: Remove incorrect comments..

I would preface the actual condition "The nbp parameter is non-NULL when the mapping is for a block that contains data, one of an external data block, a direct block, or the final block in a chain of indirect blocks." before the correct clarification "If mapping an extended attribute block, nbp must point to a buffer for that block."

Mar 16 2019, 11:49 PM

Mar 12 2019

mckusick committed rS345077: This is an additional fix for bug report 230962. When using.
This is an additional fix for bug report 230962. When using
Mar 12 2019, 7:09 PM
mckusick committed rS345044: Add KASSERT to the softdep_disk_write_complete() function in the.
Add KASSERT to the softdep_disk_write_complete() function in the
Mar 12 2019, 12:10 AM

Mar 11 2019

mckusick committed rS345043: Give more complete information in INVARIANTS panic messages at end of.
Give more complete information in INVARIANTS panic messages at end of
Mar 11 2019, 11:54 PM
mckusick committed rS345037: Update the main loop in the flushbuflist() routine to properly select.
Update the main loop in the flushbuflist() routine to properly select
Mar 11 2019, 10:42 PM
mckusick committed rS345032: Augment the UFS filesystem specific print function (called by the.
Augment the UFS filesystem specific print function (called by the
Mar 11 2019, 10:05 PM
mckusick committed rS345029: Augment DDB "show buffer" command to print the buffer's referenced.
Augment DDB "show buffer" command to print the buffer's referenced
Mar 11 2019, 9:49 PM

Mar 7 2019

mckusick accepted D19437: explain fsck -f more in detail.

Looks good, thanks for clarifying -f.

Mar 7 2019, 12:15 AM
mckusick committed rS344864: MFC of 344731.
MFC of 344731
Mar 7 2019, 12:04 AM
mckusick committed rS344863: MFC of 344731.
MFC of 344731
Mar 7 2019, 12:02 AM
mckusick committed rS344861: MFC of 344552 and 344732.
MFC of 344552 and 344732
Mar 7 2019, 12:00 AM

Mar 6 2019

mckusick committed rS344860: MFC of 344552 and 344732.
MFC of 344552 and 344732
Mar 6 2019, 11:55 PM

Mar 3 2019

mckusick added a comment to D19437: explain fsck -f more in detail.

Your change looks good. I'll approve once you update the suggested mandoc refinement.

Mar 3 2019, 9:28 PM

Mar 2 2019

mckusick committed rS344732: Properly calculate the last used logical block of a file when checking.
Properly calculate the last used logical block of a file when checking
Mar 2 2019, 9:30 PM
mckusick committed rS344731: The size of the UFS soft-updates journal must be a multiple of the.
The size of the UFS soft-updates journal must be a multiple of the
Mar 2 2019, 9:23 PM

Mar 1 2019

mckusick added a comment to D19325: Do not panic if inode bitmap is corrupted..

I recently added the new error EINTEGRITY which is intended for use when a cylinder group or other filesystem structure has an integrity error. My initial plan is to use it for check-hash failures, but this is another good place to use it. It means that the callers of the functions that return this error need to be prepared to handle it. Specifically when allocating blocks or files trying to allocate from a different cylinder group. When deleting blocks or files, not immediately giving up, but trying to release all the remaining blocks of the file. A similar analysis would need to be used for this error (notably trying to allocate from a different cylinder group).

Mar 1 2019, 1:15 AM
mckusick added a comment to D18586: mount(8) does not handle "update" option in the fstab(5) correctly.

The addition to fstab.5 is helpful, but slightly incomplete in that it is not clear in what context the update keyword would be used.I would add text at the end of your new block that says something like:
The
.Dq update
option is typically used in conjuction with two
.Nm
files.
The first
.Nm
file is used to set up the initial set of file systems.
The second
.Nm
file is then run to update the initial set of file systems and
to add additional file systems.

Mar 1 2019, 12:54 AM

Feb 25 2019

mckusick committed rS344552: After a crash, a file that extends into indirect blocks may end up.
After a crash, a file that extends into indirect blocks may end up
Feb 25 2019, 9:58 PM

Feb 19 2019

mckusick committed rS344302: Ensure that inode updates are properly flushed out during the first.
Ensure that inode updates are properly flushed out during the first
Feb 19 2019, 8:12 PM

Jan 28 2019

mckusick added a comment to D18991: Add dash as a valid characterl to UFS label name.

Note that update of manual page date fell out on corrective update.

Jan 28 2019, 10:00 PM
mckusick accepted D18991: Add dash as a valid characterl to UFS label name.

Looks good.

Jan 28 2019, 9:56 PM
mckusick committed rS343538: MFC of 343449 and 343483.
MFC of 343449 and 343483
Jan 28 2019, 9:48 PM
mckusick committed rS343537: MFC of 343449 and 343483.
MFC of 343449 and 343483
Jan 28 2019, 9:46 PM
mckusick committed rS343536: This bug was introduced with the change to use softdep_bp_to_mp() in.
This bug was introduced with the change to use softdep_bp_to_mp() in
Jan 28 2019, 9:37 PM

Jan 27 2019

mckusick requested changes to D18991: Add dash as a valid characterl to UFS label name.

As noted, date at top of manual pages needs to be updated (which I will admit, I failed to do when I added underscores).

Jan 27 2019, 9:03 PM

Jan 26 2019

mckusick committed rS343483: Update tunefs and newfs error messages for the -L (volume label) option.
Update tunefs and newfs error messages for the -L (volume label) option
Jan 26 2019, 10:27 PM
mckusick committed rS343462: Expand DDB's set of printable soft dependency data structures. The.
Expand DDB's set of printable soft dependency data structures. The
Jan 26 2019, 5:35 AM

Jan 25 2019

mckusick committed rS343457: Add printing of b_ioflags to DDB `show buffer' command..
Add printing of b_ioflags to DDB `show buffer' command.
Jan 25 2019, 9:24 PM
mckusick committed rS343449: Allow tunefs to include '_' as a legal character in label names.
Allow tunefs to include '_' as a legal character in label names
Jan 25 2019, 8:07 PM

Jan 17 2019

mckusick committed rS343115: Truely fix #if defined broken in -r343111.
Truely fix #if defined broken in -r343111
Jan 17 2019, 4:27 PM
mckusick committed rS343114: Proper definition of elast3..
Proper definition of elast3.
Jan 17 2019, 3:42 PM
mckusick committed rS343113: Fix #if defined broken in -r343111.
Fix #if defined broken in -r343111
Jan 17 2019, 3:35 PM
mckusick committed rS343111: Create new EINTEGRITY error with message "Integrity check failed"..
Create new EINTEGRITY error with message "Integrity check failed".
Jan 17 2019, 6:36 AM
mckusick closed D18765: Add EINTEGRITY as new error number.
Jan 17 2019, 6:36 AM

Jan 11 2019

mckusick updated the diff for D18765: Add EINTEGRITY as new error number.

Update the intro(2) manual page to better reflect the meaning as suggested by imp, cem, etal.

Jan 11 2019, 11:11 PM

Jan 10 2019

mckusick added a comment to D18765: Add EINTEGRITY as new error number.
In D18765#401317, @imp wrote:

At a minimum EINTEGRITY is useful for mount since it allows the mount command to notify the user that the mount failed because of an integrity error which very likely can be fixed with a run of fsck versus an I/O error which probably cannot.

We should make mount return a different exit value for this perhaps... We could use that to automate a running of fsck in some cases.
EINTEGRITY means the end-to-end notion of what should be there isn't. This is similar to EIO (can't read the sector). The integrity error, though, means that some can't fail sanity check failed, which is a larger class of errors.

Jan 10 2019, 4:57 AM
mckusick added a comment to D18765: Add EINTEGRITY as new error number.

At a minimum EINTEGRITY is useful for mount since it allows the mount command to notify the user that the mount failed because of an integrity error which very likely can be fixed with a run of fsck versus an I/O error which probably cannot.

Jan 10 2019, 12:21 AM
mckusick updated the diff for D18765: Add EINTEGRITY as new error number.

Based on feedback from Ed Maste and Ed Schouten do not add EINTEGRITY to CloudABI. Rather map it to EINVAL as is done in Linux compatibility.

Jan 10 2019, 12:13 AM

Jan 9 2019

mckusick added a comment to D18765: Add EINTEGRITY as new error number.

It is useful to the application or user to distinguish EINTEGRITY from EIO. With EIO they know that the underlying media has failed and there is really nothing they can do. With EINTEGRITY the individual file has become corrupted, but if they still have its contents, they can remove it and rewrite it as the filesystem media itself is still working. Alternatively they can request the system administrator to run a check of the filesystem to attempt to clean up the file.

Jan 9 2019, 11:48 PM
mckusick added a comment to D18765: Add EINTEGRITY as new error number.

Mount is just one of the places that can return EINTEGRITY. It can also come back when accessing a file or directory whose meta information fails a check-hash.

Jan 9 2019, 11:40 PM

Jan 8 2019

mckusick updated the diff for D18765: Add EINTEGRITY as new error number.

Update diffs based on reviewer comments:
gnn - corrections to File05 cddl/lib/libdtrace/errno.d
dim - drop unneeded changes to sanitizer, previously File14 and File15
Drop dteske as reviewer as gnn has reviewed the DTrace change

Jan 8 2019, 10:56 PM
mckusick added a comment to D18765: Add EINTEGRITY as new error number.

When a mount fails because of a hash-check failure it is helpful to get "Integrity check failed" rather than "Invalid Argument" back. There are numerous reasons that you can get "Invalid argument" including miss-typed disk or mount-point names and other administrative errors. Knowing that it was due to an integrity check gives a strong indication that a run of fsck is needed. Actually in the case of mount we have the ability to print a more complete message, but the low-level functions in the filesystems need to be able to return something other than EINVAL so that the mount-layer function can know how to formulate its error message.

Jan 8 2019, 7:47 AM
mckusick added a comment to D18765: Add EINTEGRITY as new error number.
In D18765#400620, @dim wrote:

The libc++ changes look OK to me, and I'll take care of sending them upstream.

Jan 8 2019, 7:34 AM

Jan 7 2019

mckusick added a comment to D18765: Add EINTEGRITY as new error number.
In D18765#400403, @cem wrote:

This proposal is to create a new EINTEGRITY error number. EINTEGRITY's purpose is to respond to errors where an integrity check such as a check-hash or a cross-correlation has failed. For example, an uncorrectable error has been found in a filesystem or a disk subsystem such as gmirror(8) or graid3(8).

How do you envision making use of this error code? Does it meaningfully differ from EIO? In the case of gmirror in particular, AFAIK it cannot determine bitrot and relies on the underlying volume to signal a bad block with EIO (which it then restarts on any remaining component, I think).
(I believe we could use a tighter integration between UFS and underlying geoms like gmirror/graid, I'm just not sure how this error number fits in to that.)
Thanks!
I'll take a look at the lua bits soon.

Jan 7 2019, 6:06 AM
mckusick created D18765: Add EINTEGRITY as new error number.
Jan 7 2019, 2:12 AM

Jan 6 2019

mckusick accepted D18763: Avoid overflow in vtruncbuf().
Jan 6 2019, 11:26 PM
mckusick committed rS342821: MFC of 342135 and 342290.
MFC of 342135 and 342290
Jan 6 2019, 10:50 PM
mckusick committed rS342820: MFC of 342135 and 342290.
MFC of 342135 and 342290
Jan 6 2019, 10:49 PM
mckusick committed rS342819: MFC of 342548.
MFC of 342548
Jan 6 2019, 10:35 PM
mckusick committed rS342818: MFC of 342548.
MFC of 342548
Jan 6 2019, 10:30 PM

Dec 30 2018

mckusick committed rD52737: Update my PGP key..
Update my PGP key.
Dec 30 2018, 6:39 AM
mckusick committed rS342610: Move ASSERT_VOP_LOCKED to top of ufs_vinit() as it should be true.
Move ASSERT_VOP_LOCKED to top of ufs_vinit() as it should be true
Dec 30 2018, 6:03 AM
mckusick committed rS342609: For consistency with FFS2's fifoops2 and both versions of FFS's.
For consistency with FFS2's fifoops2 and both versions of FFS's
Dec 30 2018, 5:03 AM

Dec 27 2018

mckusick accepted D18656: Bump sys_errlist size to keep ABI backward-compatible for some time..

This change now looks good to me.

Dec 27 2018, 7:36 AM
mckusick committed rS342548: When loading an inode from disk, verify that its mode is valid..
When loading an inode from disk, verify that its mode is valid.
Dec 27 2018, 7:19 AM

Dec 21 2018

mckusick committed rS342290: Some filesystems (like cd9660 and ext3) require that VFS_STATFS().
Some filesystems (like cd9660 and ext3) require that VFS_STATFS()
Dec 21 2018, 1:09 AM

Dec 20 2018

mckusick added a comment to D18586: mount(8) does not handle "update" option in the fstab(5) correctly.

Given that this plausibly works only with two different /etc/fstab files, I think your change should also include an update to the manual page to explain how the update keyword is intended to be used.

Dec 20 2018, 6:51 AM

Dec 17 2018

mckusick added a comment to D18586: mount(8) does not handle "update" option in the fstab(5) correctly.

This change does not seem wrong, though the only way I can see it being usable is to have the read-only mount's in /etc/fstab, then a special fstab that has the desired update mount lines in it. Because if the update mount's are in /etc/fstab, then for 'mount -a' the read-only mount will happen immediately followed by the read-write mount. Though I suppose that the update mount line could appear first (and fail) followed by the read-only mount which would presumably succeed. Then on the second 'mount -a' the update would succeed and the read-only would be skipped because it was already mounted. But this seems like a really obscure way of doing things. Plus you would have to change mount so that would not exit when the initial "ro,update" failed.

Dec 17 2018, 11:23 PM

Dec 15 2018

mckusick committed rS342136: Clarify panic in set_rootvnode()..
Clarify panic in set_rootvnode().
Dec 15 2018, 7:19 PM
mckusick committed rS342135: Under UFS/FFS the VFS_ROOT() function will return an error if the inode.
Under UFS/FFS the VFS_ROOT() function will return an error if the inode
Dec 15 2018, 7:05 PM
mckusick committed rS342134: Ensure that the inode check-hash is not left zeroed out in the case where.
Ensure that the inode check-hash is not left zeroed out in the case where
Dec 15 2018, 6:49 PM
mckusick committed rS342133: Reorder ffs_verify_dinode_ckhash() so that it checks the inode check-hash.
Reorder ffs_verify_dinode_ckhash() so that it checks the inode check-hash
Dec 15 2018, 6:36 PM
mckusick committed rS342129: Must set ip->i_effnlink = ip->i_nlink to avoid a soft updates.
Must set ip->i_effnlink = ip->i_nlink to avoid a soft updates
Dec 15 2018, 5:58 PM
mckusick committed rS342128: Fsck would find, report, and offer to fix inode check-hash failures..
Fsck would find, report, and offer to fix inode check-hash failures.
Dec 15 2018, 5:33 PM

Dec 11 2018

mckusick committed rS341836: Continuing efforts to provide hardening of FFS. This change adds a.
Continuing efforts to provide hardening of FFS. This change adds a
Dec 11 2018, 10:15 PM

Dec 6 2018

mckusick committed rS341611: If the vfs.ffs.dotrimcons sysctl option is enabled while a file.
If the vfs.ffs.dotrimcons sysctl option is enabled while a file
Dec 6 2018, 1:05 AM
mckusick committed rS341608: Normally when an attempt is made to mount a UFS/FFS filesystem whose.
Normally when an attempt is made to mount a UFS/FFS filesystem whose
Dec 6 2018, 12:10 AM

Dec 5 2018

mckusick committed rS341510: Ensure that cylinder-group check-hashes are properly updated when first.
Ensure that cylinder-group check-hashes are properly updated when first
Dec 5 2018, 6:32 AM

Dec 3 2018

mckusick added inline comments to D18351: Add BIO_SPEEDUP.
Dec 3 2018, 1:19 AM

Dec 2 2018

mckusick added inline comments to D18351: Add BIO_SPEEDUP.
Dec 2 2018, 11:49 PM