Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Sep 2007 10:28:49 -0500
From:      Astrodog <astrodog@gmail.com>
To:        "Bruce Evans" <brde@optusnet.com.au>
Cc:        freebsd-fs@freebsd.org, linimon@freebsd.org
Subject:   Re: amd64/74811: [nfs] df, nfs mount, negative Avail -> 32/64-bit confusion
Message-ID:  <2fd864e0709180828sec17035m5e575b5ad9701b08@mail.gmail.com>
In-Reply-To: <2fd864e0709180815y4c261252tfe9ce5c5a7130462@mail.gmail.com>
References:  <200709180037.l8I0bJb1003933@freefall.freebsd.org> <20070918211449.A75529@besplex.bde.org> <2fd864e0709180453l756d37c6y7dac8fa5fa8fcf15@mail.gmail.com> <2fd864e0709180514w627bb198r46f4ddecb212fd77@mail.gmail.com> <20070918224545.Y75789@besplex.bde.org> <2fd864e0709180815y4c261252tfe9ce5c5a7130462@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 9/18/07, Astrodog <astrodog@gmail.com> wrote:
> > I cannot see how to get the correct result non-accidentally without
> > using the hack of passing negative values as large unsigned ones.
> > Passing negative values as the difference of two unsigned values works
> > with NetBSD's extension to statvfs (f_bresvd), but it doesn't work for
> > nfs because it requires an extra value which the protocol doesn't
> > support AFAIK (not far).
> >
> > Bruce
> >
>
> From the above, it doesn't appear that NFS can support negative
> values, in any reasonable way... and I suppose that saying "There are
> zero blocks avalible for non-privileged users" is accurate, when
> bavail <= 0.
>
> I'm going to dig through the RFCs and see if there's an otherwise
> unused or underused variable that could be used to store bresvd, for
> clients that could support it.
>
> Thanks for the detailed explaination,
> --- Harrison
>

The only thing I've found, thus far, is to hijack the "NULL" NFSv3
operation. From what I can tell, clients are expected to discard the
value.

On clients that are supported, the returned value can be what should
be subtracted from bfree to get bavail. bavail can be handled as it is
now in the server, so non-supporting clients wouldn't see any change
in behavior, beyond a NULL nfs operation taking a few cycles longer.

Any thoughts? I'm aware that this certainly isn't proper behavior...
but I also can't find anything that actually uses the NULL return.

--- Harrison



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2fd864e0709180828sec17035m5e575b5ad9701b08>