mckusick (Marshall Kirk McKusick)
User

Projects

User Details

User Since
Oct 24 2014, 7:17 PM (163 w, 5 d)

Recent Activity

Sat, Dec 9

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.

Sat, Dec 9, 1:04 AM

Wed, Dec 6

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.

Wed, Dec 6, 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

Aug 22 2017

mckusick committed rS322793: MFC of 269692, 322179, 322463, and 322464:.
MFC of 269692, 322179, 322463, and 322464:
Aug 22 2017, 3:27 PM
mckusick committed rS322792: MFC of 322179, 322463, and 322464:.
MFC of 322179, 322463, and 322464:
Aug 22 2017, 3:21 PM

Aug 16 2017

mckusick committed rS322566: Correct compile error triggered in nanobsd i386 by 322513 (MFC of 322178).
Correct compile error triggered in nanobsd i386 by 322513 (MFC of 322178)
Aug 16 2017, 5:51 AM

Aug 14 2017

mckusick committed rS322513: MFC of 322178:.
MFC of 322178:
Aug 14 2017, 7:13 PM
mckusick committed rS322480: MFC r322178.
MFC r322178
Aug 14 2017, 2:49 AM

Aug 13 2017

mckusick committed rS322464: When read requests are sent from a filesystem running above g_journal,.
When read requests are sent from a filesystem running above g_journal,
Aug 13 2017, 6:09 PM
mckusick committed rS322463: Eliminate a variable that is only ever set..
Eliminate a variable that is only ever set.
Aug 13 2017, 6:06 PM

Aug 9 2017

mckusick committed rS322298: Add an entry to UPDATING for r322297 which restores the ability.
Add an entry to UPDATING for r322297 which restores the ability
Aug 9 2017, 5:22 AM
mckusick committed rS322297: Since the switch to GPT disk labels, fsck for UFS/FFS has been.
Since the switch to GPT disk labels, fsck for UFS/FFS has been
Aug 9 2017, 5:17 AM
mckusick added a comment to D11589: Print more info when super blocks don't match, implement ability to ignore mismatches..

From: Warner Losh <imp@bsdimp.com>
Date: Mon, 7 Aug 2017 23:56:36 -0600
Subject: Re: [Differential] D11589: Print more info when super blocks don't match, implement ability to ignore mismatches.
To: Kirk McKusick <mckusick@mckusick.com>
Cc: Warner Losh <imp@freebsd.org>, Konstantin Belousov <kostikbel@gmail.com>, Scott Long <scottl@netflix.com>

Aug 9 2017, 4:50 AM

Aug 7 2017

mckusick committed rS322179: gjournal is broken in handling its flush_queue. If we have 10 bio's.
gjournal is broken in handling its flush_queue. If we have 10 bio's
Aug 7 2017, 7:40 PM
mckusick committed rS322178: sysctl kern.geom.journal.cache.limit shows negative value for FreeBSD/amd64.
sysctl kern.geom.journal.cache.limit shows negative value for FreeBSD/amd64
Aug 7 2017, 7:18 PM
mckusick committed rS322132: MFC r321816:.
MFC r321816:
Aug 7 2017, 2:29 AM
mckusick committed rS322130: MFC r321816:.
MFC r321816:
Aug 7 2017, 2:17 AM

Aug 1 2017

mckusick committed rS321886: Add Anne Dickison..
Add Anne Dickison.
Aug 1 2017, 6:25 PM

Jul 31 2017

mckusick committed rS321816: Avoid reading a snapshot block when it is already in the cache..
Avoid reading a snapshot block when it is already in the cache.
Jul 31 2017, 8:42 PM

Jul 24 2017

mckusick added a comment to D11589: Print more info when super blocks don't match, implement ability to ignore mismatches..

Every UFS filesystem has a chunk of space reserved at the front for a boot block. Historically 8K, later 64K, now 256K. This size is known, so if we put a structure at the end of it with the BPG size, then fsck can find it and with great reliability find alternative superblocks. If the boot block is *entirely* filled, then we will lose that info, but it almost never is completely filled. As kib points out, administrators are running fsck when they are trying to fix their filesystems. It is far easier if fsck just deals with the problem rather than sending them off on some wild goose chase with other utilities to find alternate superblocks. Especially because this is a rare situation, but nearly always critical when it happens. We should not be lazy here. We should fix this issue.

Jul 24 2017, 4:03 AM

Jul 22 2017

mckusick added a comment to D11589: Print more info when super blocks don't match, implement ability to ignore mismatches..

Date: Sat, 22 Jul 2017 10:25:09 +0000
To: mckusick@freebsd.org
From: "kib (Konstantin Belousov)" <phabric-noreply@FreeBSD.org>
Subject: [Differential] D11589: Print more info when super blocks don't match, implement ability to ignore mismatches.

kib added a comment.

In https://reviews.freebsd.org/D11589#242174, @mckusick wrote:

Being able to search for alternate superblocks can be very
helpful. As discussed by Warner and myself in the email thread
below, to do so we need to be able to store a single 32-bit number
somewhere external to the filesystem. I really hope that someone
on this thread has an idea on where it could be placed.

If you can find a way to store BPG, I'll volunteer to figure
out how to get calcsb to use it.

Kirk, thank you very much. This (indirectly) answers the question
that I cannot answer myself and which blocked my understanding of
the patch. Am I right in the following statements:

If newfs was used with default settings, and the partition was not
resized, then alternate superblocks can be found by fsck using the
same calculation as was done by newfs.

Jul 22 2017, 8:15 PM

Jul 21 2017

mckusick added a comment to D11589: Print more info when super blocks don't match, implement ability to ignore mismatches..

Being able to search for alternate superblocks can be very helpful. As discussed by Warner and myself in the email thread below, to do so we need to be able to store a single 32-bit number somewhere external to the filesystem. I really hope that someone on this thread has an idea on where it could be placed.

Jul 21 2017, 6:04 PM

Jul 10 2017

mckusick accepted D11490: Make fsck_y_enable use -R.

This seems like a reasonable change. Definitely in keeping with the spirit of -y.

Jul 10 2017, 3:24 AM

Jun 28 2017

mckusick committed rS320453: Create a new function ffs_getcg() to read in and verify a cylinder.
Create a new function ffs_getcg() to read in and verify a cylinder
Jun 28 2017, 5:32 PM

Jun 26 2017

mckusick committed rS320366: MFC of 320176:.
MFC of 320176:
Jun 26 2017, 5:33 PM
mckusick committed rS320365: MFC of 320176:.
MFC of 320176:
Jun 26 2017, 5:29 PM

Jun 20 2017

mckusick committed rS320176: Allow '_' in labels when specifying -L to newfs..
Allow '_' in labels when specifying -L to newfs.
Jun 20 2017, 9:27 PM

May 23 2017

mckusick accepted D10852: Document st_flags in the stat(2)..

Looks good. Make it so.

May 23 2017, 7:22 PM

May 22 2017

mckusick accepted D10852: Document st_flags in the stat(2)..

With suggested change, I am happy with this (useful) update.

May 22 2017, 10:05 PM
mckusick requested changes to D10852: Document st_flags in the stat(2)..
May 22 2017, 9:48 PM

May 13 2017

mckusick added a comment to D10692: mnt_vnode_next_active: use conventional lock order when trylock fails.

This change is a nice piece of work. Thanks for figuring it out. Going through your discussion with kib on the subtleties of the flags and hold count semantics makes me wish that it was simpler, but I do not see a way to do so and still be able to have the (very useful) semantics of vgone().

May 13 2017, 12:01 AM

May 4 2017

mckusick accepted D10589: UFS fs.h: clear warning from use by makefs(1).

I like this solution much better than D10578.

May 4 2017, 10:29 PM

Apr 12 2017

mckusick accepted D9674: Handle ENXIO bufs..

This looks good to me.

Apr 12 2017, 11:10 PM

Feb 21 2017

mckusick added a comment to D9674: Handle ENXIO bufs..

I concur with imp's analysis. Once ENXIO is returned no more I/O will be possible, so the disk will remain in whatever state it is in. So it is always safe to just call softdep_disk_write_complete(bp); to clean up the dependencies and free their storage. There is still the issue that clearing some dependencies will allow others to proceed and those other may try to read data from the disk (such as the update of an inode). Almost always the update will be for something that is already cached, but occationally there will be a cache miss and so to ensure success we will need to augment soft updates to handle those cases. This is probably best done by setting a state flag (MNT_DISKGONE?) that indicates that the disk is gone and we are shutting down. In the (rather few) places in the soft depedencies code that we do reads, we check for that flag and provide a usable default which in most cases will just be a zeroed out buffer.

Feb 21 2017, 10:02 PM
mckusick added a comment to D9674: Handle ENXIO bufs..

Here is a change that will at least clean up the soft updates associated with the buffer, though as noted if the filesystem keeps running it will put itself into an inconsistent and possibly unrecoverable state. This is no worse than what would happen with a filesystem running without soft updates if you continue operating after failing to do the I/O.

Feb 21 2017, 3:39 AM

Feb 15 2017

mckusick accepted D9623: prefix (more) UFS symbols with UFS_ to reduce namespace pollution.

Additional changes are sensible and do not change functionality.

Feb 15 2017, 10:06 PM
mckusick accepted D9536: prefix UFS symbols with UFS_ to reduce namespace pollution.

This looks like a useful change and should have no effect on functionality.

Feb 15 2017, 6:57 AM

Jan 22 2017

mckusick committed rS312638: By default, when doing incremental restores the restore program.
By default, when doing incremental restores the restore program
Jan 22 2017, 5:49 PM

Dec 22 2016

mckusick added a comment to D8854: Rename the 'flags' argument to getfsstat() to 'flag' and validate it..

I did some sleuthing through BSDI sources and the addition of the MNT_LAZY flag check was put into getfsstat by one of the BSDI engineers apparently in response to a customer request. From there it got carried over to FreeBSD when I made the diffs for Julian who did the import.

Dec 22 2016, 6:08 PM

Nov 26 2016

mckusick committed rS309173: MFC r308064:.
MFC r308064:
Nov 26 2016, 12:56 AM
mckusick committed rS309172: MFC r308064:.
MFC r308064:
Nov 26 2016, 12:43 AM

Nov 22 2016

mckusick committed rS308946: MFC r307978:.
MFC r307978:
Nov 22 2016, 12:27 AM

Nov 16 2016

mckusick committed rS308707: MFC r307978:.
MFC r307978:
Nov 16 2016, 1:03 AM

Nov 12 2016

mckusick added a comment to D8224: hyperv/vss: implement the VSS (Volume Shadow Copy Service).

I have nothing to add beyond the comments made by kib.

Nov 12 2016, 10:25 PM

Oct 28 2016

mckusick committed rS308064: Avoid possible overflow when calclating malloc size for auxillary.
Avoid possible overflow when calclating malloc size for auxillary
Oct 28 2016, 8:15 PM

Oct 26 2016

mckusick committed rS307978: The UFS/FFS filesystem checks directory link counts when doing.
The UFS/FFS filesystem checks directory link counts when doing
Oct 26 2016, 8:28 PM

Oct 17 2016

mckusick committed rS307536: MFC 304438:.
MFC 304438:
Oct 17 2016, 10:34 PM
mckusick committed rS307535: MFC 304438:.
MFC 304438:
Oct 17 2016, 10:33 PM
mckusick committed rS307534: MFC r304230:.
MFC r304230:
Oct 17 2016, 9:50 PM
mckusick committed rS307533: MFC r304230:.
MFC r304230:
Oct 17 2016, 9:44 PM
mckusick accepted D8198: Buffer pager for FFS..

Make it so.

Oct 17 2016, 7:11 PM

Oct 16 2016

mckusick accepted D8198: Buffer pager for FFS..

Thanks for the additions.Looks good to go.

Oct 16 2016, 8:24 PM

Oct 15 2016

mckusick accepted D8198: Buffer pager for FFS..

Given the comparable performance measures by pho@ and mjg@, I suggest that this change be enabled by default.

Oct 15 2016, 11:45 PM

Oct 14 2016

mckusick accepted D8198: Buffer pager for FFS..

I concur with the changes suggested by alc@

Oct 14 2016, 5:11 AM

Oct 13 2016

mckusick accepted D8198: Buffer pager for FFS..

This looks good.

Oct 13 2016, 4:01 AM

Aug 19 2016

mckusick committed rS304438: Fsck_ufs was using an int rather than a ufs2_daddr_t to store the.
Fsck_ufs was using an int rather than a ufs2_daddr_t to store the
Aug 19 2016, 12:04 AM

Aug 16 2016

mckusick committed rS304239: Bug 211013 reports that a write error to a UFS filesystem running.
Bug 211013 reports that a write error to a UFS filesystem running
Aug 16 2016, 9:02 PM
mckusick committed rS304230: Add two new macros, SLIST_CONCAT and LIST_CONCAT. Note in both the.
Add two new macros, SLIST_CONCAT and LIST_CONCAT. Note in both the
Aug 16 2016, 5:08 PM

Aug 15 2016

mckusick accepted D7471: First stage of implementing fdatasync(2)..

I am in agreement with the latest proposed change and am ready to have it committed.

Aug 15 2016, 4:22 AM

Feb 24 2016

mckusick committed rS295950: The UFS filesystem requires that the last block of a file always be.
The UFS filesystem requires that the last block of a file always be
Feb 24 2016, 1:58 AM

Feb 7 2016

mckusick committed rS295358: Clarify a comment in kern_openat() about the use of falloc_noinstall()..
Clarify a comment in kern_openat() about the use of falloc_noinstall().
Feb 7 2016, 1:05 AM

Jan 27 2016

mckusick committed rS294956: This fixes a bug in UFS2 exported NFS volumes. An NFS client can.
This fixes a bug in UFS2 exported NFS volumes. An NFS client can
Jan 27 2016, 9:27 PM
mckusick committed rS294954: The bread() function was inconsistent about whether it would return.
The bread() function was inconsistent about whether it would return
Jan 27 2016, 9:23 PM

Jan 21 2016

mckusick committed rS294531: Update comment to note the function, prison_priv_check(), that needs to.
Update comment to note the function, prison_priv_check(), that needs to
Jan 21 2016, 8:52 PM

Dec 30 2015

mckusick committed rS292895: MFC of 291244, 291380, 291459, 291460, 291671, and 291743:.
MFC of 291244, 291380, 291459, 291460, 291671, and 291743:
Dec 30 2015, 12:05 AM

Dec 4 2015

mckusick committed rS291743: We need to zero out the clustering variables in a freed vnode structure..
We need to zero out the clustering variables in a freed vnode structure.
Dec 4 2015, 3:54 AM

Dec 3 2015

mckusick committed rS291671: We need to zero out the union of pointers in a freed vnode structure..
We need to zero out the union of pointers in a freed vnode structure.
Dec 3 2015, 2:04 AM

Nov 30 2015

mckusick committed rS291459: For performance reasons, it is useful to have a single string used as.
For performance reasons, it is useful to have a single string used as
Nov 30 2015, 7:30 AM
mckusick committed rS291460: As the kernel allocates and frees vnodes, it fully initializes them.
As the kernel allocates and frees vnodes, it fully initializes them
Nov 30 2015, 7:30 AM

Oct 27 2015

mckusick committed rS290081: Bring the tags and links entries for amd64 up to date..
Bring the tags and links entries for amd64 up to date.
Oct 27 2015, 10:59 PM

Oct 23 2015

mckusick committed rD47649: Add my entry to:.
Add my entry to:
Oct 23 2015, 9:22 PM

Sep 22 2015

mckusick committed rS288079: MFC of 281677:.
MFC of 281677:
Sep 22 2015, 12:43 AM
mckusick closed D2265: kern.maxvnodes should be a tunable, and probably shouldn't be run-time modifiable by committing rS288079: MFC of 281677:.
Sep 22 2015, 12:43 AM

Sep 6 2015

mckusick committed rS287497: Track changes to kern.maxvnodes and appropriately increase or decrease.
Track changes to kern.maxvnodes and appropriately increase or decrease
Sep 6 2015, 5:51 AM

Jul 19 2015

mckusick committed rS285705: Restructure code for readability improvement. No functional change..
Restructure code for readability improvement. No functional change.
Jul 19 2015, 10:25 PM

May 28 2015

mckusick committed rS283640: MFC of 269533:.
MFC of 269533:
May 28 2015, 12:11 AM

May 18 2015

mckusick added a comment to D2445: ZFS: Allow setting file creation time.

I think that allowing the setting of creation time for ZFS is a sensible addition. Files coming off of archive media have good reason to set it.

May 18 2015, 1:45 AM

Apr 24 2015

mckusick committed rS281956: Limit the number of cylinder groups that will be searched when.
Limit the number of cylinder groups that will be searched when
Apr 24 2015, 11:28 PM

Apr 13 2015

mckusick requested changes to D2265: kern.maxvnodes should be a tunable, and probably shouldn't be run-time modifiable.

I am happy that Garrett is spending some time measuring filesystem
performance. It has not been studied in some time, and it appears
that performance has dropped off since it peaked in FreeBSD 7 or 8.

Apr 13 2015, 5:47 AM

Mar 23 2015

mckusick accepted D2068: add mahrens as committer.

All looks good and ready to commit.

Mar 23 2015, 11:32 PM