On 05/18/02 17:41, Ian Dowse wrote: > In message <[EMAIL PROTECTED]>, 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 [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message