du which understands ZFS

Kimmo Paasiala kpaasial at gmail.com
Tue Aug 20 05:25:44 UTC 2013


On Tue, Aug 20, 2013 at 8:18 AM, aurfalien <aurfalien at gmail.com> wrote:
>
> On Aug 19, 2013, at 9:46 PM, Artem Belevich wrote:
>
>>
>>
>>
>> On Mon, Aug 19, 2013 at 8:51 PM, aurfalien <aurfalien at gmail.com> wrote:
>> Hi,
>>
>> Is there a version of du which understands ZFS?
>>
>> Currently when running du I get this;
>>
>> I guess you meant 'df'.
>>
>> Alas, the answer seems to be 'no, there's no ZFS-aware df'. The reason for that is that df gets its info via statfs(2) call and the only info it gets back is total number of blocks and available number of blocks. It's assumed that used space equals total-available. It worked well enough for other filesystems where it was filesystem that was managing disk space.
>>
>> ZFS obviously violates this assumption as available space is actually property of the pool, not of the filesystem, so ZFS has to lie about total size in order to present (arguably more important) amount of used and available space in a consistent way.
>>
>> --Artem
>
> Thanks for the reply.
>
> There is a ZFS aware df in Illumos.  I wonder if it would be possible to port this to FreeBSD?
>
> Unsure how it works, hell I didn't even know how df worked until you explained, still kinda don't :)
>
> At any rate, perhaps I'll bring bring this up in the FreeBSD dev list to see what traction I get.
>
> - aurf
>
>

How are you going to define the maximum size of particular dataset
when it's set to "infinity" by default. The only way I know to get
df(1) to show proper numbers is to set a quota for the dataset to
limit the maximum size to something lower than the space available in
the pool.

-Kimmo


More information about the freebsd-fs mailing list