Date: Sun, 19 May 2002 11:02:24 -0600 From: Ian <freebsd@damnhippie.dyndns.org> To: Ian Dowse <iedowse@maths.tcd.ie>, Terry Lambert <tlambert2@mindspring.com> Cc: freebsd-current <freebsd-current@freebsd.org> Subject: Re: df Message-ID: <B90D36C0.D228%freebsd@damnhippie.dyndns.org> In-Reply-To: <200205190041.aa04845@salmon.maths.tcd.ie>
next in thread | previous in thread | raw e-mail | index | archive | help
On 05/18/02 17:41, Ian Dowse wrote: > In message <3CE6DFED.8604C72C@mindspring.com>, Terry Lambert writes: >> I think the reason for the "if" is to keep the df from hanging >> indefinitely, particularly when you give it an explicit list. > > No, I believe the "if (vfslist != NULL)" code was there to reduce > the maximum column widths to those necessary for an explicit list > of filesystems rather than using the maximum widths for all > filesystems. The regetmntinfo() call before the "if" has already > performed any operations that could hang indefinitely, so it makes > sense to unconditionally use these up-to-date results instead of > the potentially stale list from getmntinfo(..., MNT_NOWAIT). > > Ian > That exactly matches my understanding of the code, the test for vfslist != NULL was there only to prevent recalculating the field widths when they "couldn't have changed". Except it turns out they could have changed for other reasons than a non-null vfslist. Terry, the issue of hanging (WAIT versus NOWAIT) is controlled by the -n (nflag) option, and by whether you've specifically named filesystems on the command line (indicating you're willing to wait for those filesystems). The vfslist stuff is related to the -t option (filter the list down to filesystems of a given type). There's no relationship between the vfslist and waiting or not. -- Ian (the other one) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B90D36C0.D228%freebsd>