Skip site navigation (1)Skip section navigation (2)
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>