Page MenuHomeFreeBSD

mckusick (Marshall Kirk McKusick)
User

Projects

User Details

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

Recent Activity

Tue, May 17

mckusick added a comment to D35219: Comprehensive UFS/FFS superblock integrity checks made when a superblock is read.

Still need to track down problem cited by Peter Holm.

Tue, May 17, 7:00 AM
mckusick updated the diff for D35219: Comprehensive UFS/FFS superblock integrity checks made when a superblock is read.

Changes suggested by kib and refinements suggested by Robert Morris

Tue, May 17, 6:59 AM

Mon, May 16

mckusick requested review of D35219: Comprehensive UFS/FFS superblock integrity checks made when a superblock is read.
Mon, May 16, 12:06 AM

Sun, May 15

mckusick committed R10:187d7e982132: Reduce code nesting in readsuper(). (authored by mckusick).
Reduce code nesting in readsuper().
Sun, May 15, 10:03 PM
mckusick accepted D35212: 13.1-RELEASE note: fsck_ffs: background fsck.

I concur that this note should be added.

Sun, May 15, 4:29 PM

Sat, May 14

mckusick accepted D35131: makefs(8): Fix calculation of metadata segmets sizes.

Calculations and comment are accurate.

Sat, May 14, 7:08 PM
mckusick accepted D35132: makefs(8): Fix calculation of file sizes.

This is an accurate calculation the the extra needed space.

Sat, May 14, 7:03 PM

Tue, May 10

mckusick committed R10:bf46c0a9ae4e: Clean up comments in fsck.h. (authored by mckusick).
Clean up comments in fsck.h.
Tue, May 10, 11:07 PM

Thu, May 5

mckusick committed R10:262b581d1791: Properly specify the level of indirect block being looked up. (authored by mckusick).
Properly specify the level of indirect block being looked up.
Thu, May 5, 11:59 PM

Sun, Apr 24

mckusick accepted D35034: g_vfs_done: Only report ENXIO once.

This seems like a useful change.

Sun, Apr 24, 12:28 AM

Apr 15 2022

mckusick accepted D34837: vfs: fix vfs_bio_clrbuf() for PAGE_SIZE > block size.
Apr 15 2022, 1:07 AM
mckusick added a comment to D34836: vfs: fix vn_read_from_obj() for PAGE_SIZE > block size.

I like the approach suggested by kib that ufs_open() not set VIRF_PGREAD when the page size is larger than the fragment size.

Apr 15 2022, 12:54 AM
mckusick accepted D34835: ffs: fix vn_io_fault_pgmove() offset for PAGE_SIZE > block size.
Apr 15 2022, 12:40 AM

Apr 6 2022

mckusick committed R10:4710aa248bcd: Avoid dereferencing a possibly null pointer. (authored by mckusick).
Avoid dereferencing a possibly null pointer.
Apr 6 2022, 9:26 PM
mckusick accepted D34806: ffs: wait for trims earlier during unmount to avoid panic.

I concur with the analysis. Waiting for trims in the current location is clearly too late. Waiting in the new location will ensure that all the dependencies get flushed. And once flushed it should not be possible to add any new ones thus no new trims should be able to appear.

Apr 6 2022, 6:37 PM

Mar 17 2022

mckusick accepted D34584: mount.8: mention that the snapshot option is exclusive.

Looks good. Short and to the point.

Mar 17 2022, 5:10 AM

Mar 16 2022

mckusick committed R10:47b50c23185b: Ensure that fsck(8) / fsck_ffs(8) produces the correct exit code for missing… (authored by mckusick).
Ensure that fsck(8) / fsck_ffs(8) produces the correct exit code for missing…
Mar 16 2022, 11:31 PM
mckusick committed R10:934ba51bc929: Ensure that fsck(8) / fsck_ffs(8) produces the correct exit code for missing… (authored by mckusick).
Ensure that fsck(8) / fsck_ffs(8) produces the correct exit code for missing…
Mar 16 2022, 10:58 PM
mckusick accepted D34562: ffs: fix mksnap_ffs.

The main clients of making snapshots are dump(8), fsck_ffs(8), and mksnap_ffs(8) and none of them want to change any other attributes. Generally speaking, administrators do not use the mount(8) command directly to take snapshots. The one other change I would recommend is to document in the mount.8 manual page that when the "snapshot" option is specified, any other options will be ignored.

Mar 16 2022, 9:27 PM
mckusick committed R10:2983ec0a87a1: Ensure that fsck(8) / fsck_ffs(8) produces the correct exit code (authored by mckusick).
Ensure that fsck(8) / fsck_ffs(8) produces the correct exit code
Mar 16 2022, 6:39 PM

Mar 13 2022

mckusick accepted D34530: vfs: prefix lookup and relookup with vfs_.

I picked those names when ufs was the only filesystem in BSD. I should have renamed them when I added the VFS interface. Better late than never!

Mar 13 2022, 1:12 AM
mckusick accepted D34468: vfs: stop using SAVESTART for rename.

This change looks reasonable to me.

Mar 13 2022, 12:52 AM

Mar 1 2022

mckusick committed R10:3cf2f812f586: Add casts to printf statements to keep armv6, armv7, and powerpc (authored by mckusick).
Add casts to printf statements to keep armv6, armv7, and powerpc
Mar 1 2022, 3:31 AM
mckusick committed R10:c7996ddf8000: Create a new GEOM utility, gunion(8). (authored by mckusick).
Create a new GEOM utility, gunion(8).
Mar 1 2022, 12:37 AM
mckusick closed D32697: Create a union GEOM module.
Mar 1 2022, 12:37 AM

Feb 28 2022

mckusick committed R10:a0c3799828e5: fsck_ffs: don't try to write in read-only mode (authored by chs).
fsck_ffs: don't try to write in read-only mode
Feb 28 2022, 5:39 AM

Feb 27 2022

mckusick committed R10:5f3cd10138a1: Update fsdb(8) to reflect new structure of fsck_ffs(8). (authored by mckusick).
Update fsdb(8) to reflect new structure of fsck_ffs(8).
Feb 27 2022, 1:36 AM
mckusick committed R10:5628a0901987: Avoid unaligned writes by fsck_ffs(8). (authored by mckusick).
Avoid unaligned writes by fsck_ffs(8).
Feb 27 2022, 1:36 AM

Feb 23 2022

mckusick committed R10:c5d476c98c22: Update fsdb(8) to reflect new structure of fsck_ffs(8). (authored by mckusick).
Update fsdb(8) to reflect new structure of fsck_ffs(8).
Feb 23 2022, 11:42 PM

Feb 21 2022

mckusick added a comment to D34328: diff: Use change start when searching for function names.

minor format question. Change looks correct.

Feb 21 2022, 7:38 PM

Feb 20 2022

mckusick committed R10:7a1c1f6a0332: Avoid unaligned writes by fsck_ffs(8). (authored by mckusick).
Avoid unaligned writes by fsck_ffs(8).
Feb 20 2022, 9:22 PM
mckusick updated the diff for D32697: Create a union GEOM module.

This update reflects some minor cleanups that were reported by Peter Holm during his testing.

Feb 20 2022, 6:31 AM
mckusick committed R10:c8cc568961df: Provide an interface that allows GEOM modules to return multiple messages. (authored by mckusick).
Provide an interface that allows GEOM modules to return multiple messages.
Feb 20 2022, 5:33 AM

Feb 16 2022

mckusick committed R10:166926a3dee0: Have fsck_ffs(8) properly correct superblock check-hash failures. (authored by mckusick).
Have fsck_ffs(8) properly correct superblock check-hash failures.
Feb 16 2022, 1:16 AM
mckusick committed R10:efd949aaba74: Have fsck_ffs(8) properly correct superblock check-hash failures. (authored by mckusick).
Have fsck_ffs(8) properly correct superblock check-hash failures.
Feb 16 2022, 1:16 AM
mckusick committed R10:bf02faa1ae7b: In GEOM debugging output, show consumer for cloned and duplicated bio's. (authored by mckusick).
In GEOM debugging output, show consumer for cloned and duplicated bio's.
Feb 16 2022, 12:38 AM
mckusick committed R10:3364fdf16a00: ufs: handle LoR between snap lock and vnode lock (authored by mckusick).
ufs: handle LoR between snap lock and vnode lock
Feb 16 2022, 12:25 AM

Feb 15 2022

mckusick updated the diff for D32697: Create a union GEOM module.

These changes address comments from all three reviewers.

Feb 15 2022, 6:46 AM

Feb 6 2022

mckusick accepted D34179: ffs_read(): lock buffers after snaplk with LK_NOWITNESS.

This patch eliminates the LOR in my test case.

Feb 6 2022, 12:53 AM

Feb 4 2022

mckusick committed R10:57b0fc30676f: Avoid unnecessary setting of UFS flag requesting fsck(8) be run. (authored by mckusick).
Avoid unnecessary setting of UFS flag requesting fsck(8) be run.
Feb 4 2022, 10:47 PM
mckusick committed R10:9583be047bed: Properly fix parameter to sysctlnametomib(). (authored by mckusick).
Properly fix parameter to sysctlnametomib().
Feb 4 2022, 10:07 PM
mckusick committed R10:504cb544e2c3: Fix parameter to sysctlnametomib(); (authored by mckusick).
Fix parameter to sysctlnametomib();
Feb 4 2022, 10:02 PM
mckusick committed R10:c16f699d79e2: Whitespace and capitalization cleanups. (authored by mckusick).
Whitespace and capitalization cleanups.
Feb 4 2022, 8:01 PM
mckusick committed R10:c0bfa109b942: Have fsck_ffs(8) properly correct superblock check-hash failures. (authored by mckusick).
Have fsck_ffs(8) properly correct superblock check-hash failures.
Feb 4 2022, 7:48 PM

Feb 1 2022

mckusick accepted D34126: ufs, msdosfs: do not record witness order when creating vnode.

I agree with this change.

Feb 1 2022, 7:38 AM

Jan 31 2022

mckusick added a comment to D34089: Introduce sys/kassert.h.

Eivind Eklund was the person that first added KASSERT which was the start of what probably should have been called kassert.h. Many others added to it over time probably putting more effort into than he did. But I am inclined to give him credit for starting the ball rolling. He was an active committer from February 1997 until June 2005 (461 base, 69 ports, 26 doc). I note that he still has a freefall account.

Jan 31 2022, 6:30 AM
mckusick added a comment to D34089: Introduce sys/kassert.h.
In D34089#770782, @kib wrote:

I copied license from systm.h, but clearly UCB has no relations to this relatively modern stuff at all. Not sure what to do there.

Jan 31 2022, 3:48 AM
mckusick committed R10:85f7e9a4f039: In GEOM debugging output, show consumer for cloned and duplicated bio's. (authored by mckusick).
In GEOM debugging output, show consumer for cloned and duplicated bio's.
Jan 31 2022, 1:22 AM

Jan 30 2022

mckusick accepted D34095: ext2fs: remove remnants of the UFS snapshot code.

Useful cleanup.

Jan 30 2022, 11:09 PM
mckusick accepted D34073: ffs: lock buffers after snaplk with LK_NOWITNESS.

Once passing Peter Holm's testing, this looks good to go.

Jan 30 2022, 10:57 PM

Jan 28 2022

mckusick accepted D34072: Useful changes taken from D33921.

Based on our previous discussions in D33921 these changes improve readability and consistency.

Jan 28 2022, 7:13 AM
mckusick committed R10:ddf162d1d15f: ufs: handle LoR between snap lock and vnode lock (authored by mckusick).
ufs: handle LoR between snap lock and vnode lock
Jan 28 2022, 7:04 AM
mckusick closed D33946: ufs: handle LoR between snap lock and vnode lock.
Jan 28 2022, 7:04 AM
mckusick added a comment to D33921: ufs: handle LoR between snap lock and buffer lock.
In D33921#770058, @kib wrote:

So more I am trying to fix consequences of the snap relock following Peter reports, more I doubt the original issue.

Lets consider ffs_read() report: we got a locked UFS vnode, which reads some buffer, which is locked to be read. There are two cases: vnode is a snapshot, or it is not. In the second case, the order is right from the start.

In the first case, I claim that all snapshot vnode' buffers are after snaplk: in both ffs_copyonwrite() and ffs_snapblkfree(), we lock snaplk, and then iterate over snapshots taking corresponding buffer locks as needed, and this is IMO the natural order. So in the first case, read from the snapshot vnode, the order is right.

On the other hand, all data blocks are before snaplk. In other words, the order of the locks is (UFS vnode)->(data bufwait)->(snaplk)->(snapshot block bufwait). We could get LoR only in case when data buffer is becoming snapshot data during some of the snapshot low ops (copyonwrite or blkfree). But we never do that rename, we always allocate new block for snapshot and copy data as needed.

Let me summarize: I now think that the original report about LoR in ffs_read() is a false positive from witness, since it cannot distinguish between snap/normal data buffers.

P.S. Even if I am wrong above, I do not think that the approach with relocking of the snaplk lock is workable. For instance, in ffs_balloc_ufs2(), unlocking snaplk allows other thread to create softupdate tracker for allocation of the same logical block which is not yet allocated.

Jan 28 2022, 1:55 AM

Jan 27 2022

mckusick accepted D29181: systat: Include seconds in vmstat timestamp..

I think that this change is an improvement.

Jan 27 2022, 1:17 AM
mckusick accepted D30870: ffs: skip upgrade from ro->rw if namei fails.

This looks good to me.

Jan 27 2022, 1:14 AM

Jan 20 2022

mckusick added a comment to D33921: ufs: handle LoR between snap lock and buffer lock.

Changes to avoid needing to free newb look good. Really glad to not have to figure out how to do that. Other changes look right. Awaiting Peter's tests to see if you have found all the needed changes.

Jan 20 2022, 1:37 AM

Jan 19 2022

mckusick added a comment to D33921: ufs: handle LoR between snap lock and buffer lock.

Generally looks good. Definitely want to see if Peter turns up anything. If Peter clears it, freeing newb will be necessary. Unfortunately freeing newb is going to require writing a bunch of code to unwind a lot of soft update stuff. It will be a lot easier if we reorder the code to get the buffer first and then only allocate the block once we know we will have a buffer for it. Since the buffer is hashed on lbn rather than bn we do not need to have a block allocated before we get its buffer.

Jan 19 2022, 10:26 PM
mckusick requested review of D33946: ufs: handle LoR between snap lock and vnode lock.
Jan 19 2022, 6:58 AM
mckusick accepted D33921: ufs: handle LoR between snap lock and buffer lock.

This patch eliminates my bufwait <-> snaplk LOR warning when doing background fsck.

Jan 19 2022, 12:03 AM

Jan 18 2022

mckusick committed R10:d78723738bbc: When doing a read-only mount of a UFS filesystem using gjournal(8), (authored by mckusick).
When doing a read-only mount of a UFS filesystem using gjournal(8),
Jan 18 2022, 11:16 PM
mckusick committed R10:18870c75bfa7: systat -vm: Humanize output for ease of reading. (authored by mckusick).
systat -vm: Humanize output for ease of reading.
Jan 18 2022, 11:11 PM

Jan 10 2022

mckusick committed R10:7ef56fb04984: Avoid unnecessary setting of UFS flag requesting fsck(8) be run. (authored by mckusick).
Avoid unnecessary setting of UFS flag requesting fsck(8) be run.
Jan 10 2022, 12:19 AM

Jan 6 2022

mckusick committed R10:c82df0a0bf28: Whitespace and capitalization cleanups. (authored by mckusick).
Whitespace and capitalization cleanups.
Jan 6 2022, 12:33 AM

Jan 5 2022

mckusick accepted D33721: Improve msdosfs robustness.

Latest updates all look good.

Jan 5 2022, 11:40 PM

Jan 3 2022

mckusick added a comment to D33721: Improve msdosfs robustness.

Spelling nit.

Jan 3 2022, 6:13 PM

Jan 2 2022

mckusick accepted D33721: Improve msdosfs robustness.

Looks good to me. If inspired a comment over msdosfs_remount_ro() would be nice, though the name pretty much says what it does.

Jan 2 2022, 10:43 PM
mckusick committed R10:1cd848a3141e: fsutil: forward declare struct fstab (authored by imp).
fsutil: forward declare struct fstab
Jan 2 2022, 10:28 PM
mckusick committed R10:fe7121ec5b8b: Update fsck(8) to ignore failures from a check program for a filesystem (authored by mckusick).
Update fsck(8) to ignore failures from a check program for a filesystem
Jan 2 2022, 10:20 PM
mckusick committed R10:1fbcaa13b033: When doing a read-only mount of a UFS filesystem using gjournal(8), (authored by mckusick).
When doing a read-only mount of a UFS filesystem using gjournal(8),
Jan 2 2022, 10:05 PM
mckusick added a comment to D33721: Improve msdosfs robustness.

Overall looks good. Glad to see it done.

Jan 2 2022, 9:08 PM
mckusick accepted D33650: ufs: Rework shortlink handling to avoid subobject overflows.

Your comment wrap rework looks good. As you note, it is consistent with the way di_shortlink is commented.

Jan 2 2022, 8:44 PM
mckusick added a comment to D33495: systat -vm: Adjust VMSTATCOL from 49 to 52 and use 5 width to display for ease of reading..

I have made the commit to head and have scheduled MFC in two weeks.
I will certainly MFC it to 13. I have not set up an environment for MFC'ing to 12, but will do so if time permits.
Please send me your email address to mckusick@mckusick.com.

Jan 2 2022, 7:49 PM
mckusick committed R10:a115a4aa51ae: systat -vm: Humanize output for ease of reading. (authored by mckusick).
systat -vm: Humanize output for ease of reading.
Jan 2 2022, 3:49 AM
mckusick closed D33495: systat -vm: Adjust VMSTATCOL from 49 to 52 and use 5 width to display for ease of reading..
Jan 2 2022, 3:48 AM

Dec 29 2021

mckusick committed R10:1fa68dae46cc: Clarify the description of the EINTEGRITY error in intro(2). (authored by mckusick).
Clarify the description of the EINTEGRITY error in intro(2).
Dec 29 2021, 12:40 AM
mckusick added a comment to D18765: Add EINTEGRITY as new error number.

Since the change is such a minor edit, I will make it without starting a new Phabricator review.
Thanks for pointing out the need for clarification.

Dec 29 2021, 12:38 AM

Dec 28 2021

mckusick accepted D33495: systat -vm: Adjust VMSTATCOL from 49 to 52 and use 5 width to display for ease of reading..

This looks like a useful change.

Dec 28 2021, 6:37 AM

Dec 26 2021

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

See suggested clarification.

Dec 26 2021, 11:33 PM
mckusick accepted D33651: ufs: Avoid subobject overflow in snapshot expunge code.

This looks good.

Dec 26 2021, 11:23 PM
mckusick added a comment to D33650: ufs: Rework shortlink handling to avoid subobject overflows.

The idea and implementation look good. I would like my noted style comments handled.

Dec 26 2021, 11:19 PM

Dec 16 2021

mckusick committed R10:c72372c693b3: Update fsck(8) to ignore failures from a check program for a filesystem (authored by mckusick).
Update fsck(8) to ignore failures from a check program for a filesystem
Dec 16 2021, 12:55 AM
mckusick closed D33424: Fix for Bug 246201 - fsck: Does not honour /etc/fstab "failok" option.
Dec 16 2021, 12:54 AM

Dec 15 2021

mckusick added a comment to D33424: Fix for Bug 246201 - fsck: Does not honour /etc/fstab "failok" option.

Comment added. The function has always scanned the entire string and used the last instance of the option. Changing it now may break existing and working installations so I left it as is. Note that if it gets changed here it should be changed in the other six places to be consistent.

Dec 15 2021, 9:29 PM
mckusick updated the diff for D33424: Fix for Bug 246201 - fsck: Does not honour /etc/fstab "failok" option.

Add comment describing getfsopt(). Historical footnote: this code originated in 4.4BSD.

Dec 15 2021, 9:25 PM
mckusick updated the diff for D33424: Fix for Bug 246201 - fsck: Does not honour /etc/fstab "failok" option.

Incorporate feedback from kib.

Dec 15 2021, 12:06 AM
mckusick added a comment to D33424: Fix for Bug 246201 - fsck: Does not honour /etc/fstab "failok" option.

I changed the name from hasopt() to getfsopt() in keeping with the other names in getfsent(3) so that it can be added more easily in the future if desired. At the moment there are variations of getfsopt() used in seven places in the base system lib/libutil/quotafile.c, libexec/rpc.rquotad/rquotad.c, sbin/fsck/fsck.c, sbin/mount/mount.c, sbin/swapon/swapon.c, usr.sbin/bsdinstall/partedit/gpart_ops.c, and usr.sbin/bsdinstall/partedit/partedit.c). Updated diff to follow shortly.

Dec 15 2021, 12:03 AM

Dec 14 2021

mckusick requested review of D33424: Fix for Bug 246201 - fsck: Does not honour /etc/fstab "failok" option.
Dec 14 2021, 12:34 AM

Nov 23 2021

mckusick committed R10:8b495114eaa2: Allow GEOM utilities to specify a -v option. (authored by mckusick).
Allow GEOM utilities to specify a -v option.
Nov 23 2021, 11:06 PM
mckusick committed R10:0fdc76eaabb7: Allow GEOM utilities to specify a -v option. (authored by mckusick).
Allow GEOM utilities to specify a -v option.
Nov 23 2021, 11:06 PM

Nov 16 2021

mckusick committed R10:9b8eb1c5b62d: Followup to f2b391528ad9 to improve printed message. (authored by mckusick).
Followup to f2b391528ad9 to improve printed message.
Nov 16 2021, 12:12 AM
mckusick committed R10:9e9dcac95ad0: Allow forced r/w mount of UFS/FFS filesystem with a bad check hash. (authored by mckusick).
Allow forced r/w mount of UFS/FFS filesystem with a bad check hash.
Nov 16 2021, 12:04 AM

Nov 15 2021

mckusick committed R10:f10a8d09716d: Allow the MNT_FORCE flag to be passed through to an initial mount. (authored by mckusick).
Allow the MNT_FORCE flag to be passed through to an initial mount.
Nov 15 2021, 11:53 PM
mckusick committed R10:728f2c61312a: Suppress UFS/FFS superblock check-hash failure messages when identifying (authored by mckusick).
Suppress UFS/FFS superblock check-hash failure messages when identifying
Nov 15 2021, 5:28 PM
mckusick committed R10:f2b391528ad9: Add ability to suppress UFS/FFS superblock check-hash failure messages. (authored by mckusick).
Add ability to suppress UFS/FFS superblock check-hash failure messages.
Nov 15 2021, 5:13 PM
mckusick committed R10:b366ee4868bc: Consolodate four copies of the STDSB define into a single place. (authored by mckusick).
Consolodate four copies of the STDSB define into a single place.
Nov 15 2021, 6:11 AM

Nov 11 2021

mckusick closed D32736: Fix geom tests after argument changes.
Nov 11 2021, 8:12 PM · tests
mckusick committed R10:e38717c1282f: Fix regression to verbose behavior introduced in 68bff4a07e. (authored by mckusick).
Fix regression to verbose behavior introduced in 68bff4a07e.
Nov 11 2021, 8:12 PM

Nov 10 2021

mckusick added a comment to D32736: Fix geom tests after argument changes.

Sorry for my long delay.

Nov 10 2021, 11:53 PM · tests

Nov 9 2021

mckusick added a comment to D32697: Create a union GEOM module.

I have added comments / questions to your three latest (helpful) comments. I would also like your feedback on my question to your earlier comment at line 340 of g_union.c.

Nov 9 2021, 10:03 PM