Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have a user who according to ZFS is at their quota. However, I cannot find how they are using all of their space. This file system has no descendant file systems and according to the man page the userquota space calculation does not include space that is used by descendent datasets, such as snapshots and clones. Why do zfs and find&du disagree to such a large extent?

# zfs get -H userquota@user1 zpool/zfs1 && zfs get -H userused@user1 zppol/zfs1
zpool/zfs1  userquota@user1  20G              local
zpool/zfs1  userused@user1  20.0G           local

# find $(zfs get -H -o value mountpoint zpool/zfs1) -user user1 -print0 | du -hc --files0-from=- | tail -n 1
5.9G    total

Additionally, I have another user with seemingly the opposite problem.

# zfs get -H userquota@user2 zpool/zfs1 && zfs get -H userused@user2 zpool/zfs1
zpool/zfs1  userquota@user2 50G local
zpool/zfs1  userused@user2  14.9G   local
# find $(zfs get -H -o value mountpoint zpool/zfs1) -user user2 -print0 | du -hc --files0-from=- | tail -n 1
81G total
share|improve this question

1 Answer 1

In the 1st case, maybe some files of user1 can't be discovered by find(1) because they're hidden by some fs being mounted on top of them?

In the 2nd case, maybe something is mounted somewhere under the zfs1 mountpoint and you include that in the space calculation?

Incidentally,

zfs get -H -o value mountpoint zpool/zfs1

will print just the mountpoint, so you don't need the cut(1).

share|improve this answer
    
There are no mounts on top of any part of the filesystem, but the -o is handy. –  84104 Aug 29 at 15:36

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.