ZFSによると割り当てに達したユーザーがいます。しかし、私は彼らが彼らのすべてのスペースをどのように使用しているかを見つけることができません。このファイルシステムには子孫ファイルシステムがなく、マニュアルページによるとthe userquota space calculation does not include space that is used by descendent datasets, such as snapshots and clones.
なぜzfsとfind&duはそれほど大きく一致しないのですか?
# 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
さらに、一見逆の問題を抱えている別のユーザーがいます。
# 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
最初のケースでは、user1の一部のファイルは、それらの上にマウントされているいくつかのfsによって隠されているため、find(1)で検出できない可能性がありますか?
2番目のケースでは、zfs1マウントポイントの下のどこかに何かがマウントされており、それをスペース計算に含めていますか?
ちなみに、
zfs get -H -o value mountpoint zpool/zfs1
マウントポイントのみを出力するため、cut(1)は必要ありません。