Linuxのdfとbtrfsには問題があるようです。dfにマウントされたbtrfsボリュームのマウントポイントを見つけるように要求すると、正しいことを行います。この場合、joeは/ m / whale / backupのサブディレクトリです。
# df /srv/backup/joe
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/md126 2930135488 307676684 2619663252 11% /m/whale/backup
ただし、参照されているディレクトリがサブボリュームである場合、マウントポイントは通知されません。
# df /srv/backup/joe/code
Filesystem 1K-blocks Used Available Use% Mounted on
- 2930135488 307676684 2619663252 11% /a/whale/backup/joe/code
/ a / whale / backupは、カーネルによる唯一のマウントポイントです。
# mount | grep whale
/dev/md126 on /a/whale/backup type btrfs (rw,relatime,space_cache)
FWIW、statは同じことをします:
# stat --printf '%m\n' /srv/backup/joe/code
/a/whale/backup/joe/code
df -P
POSIX準拠のシステムで標準化された出力を生成する必要があります。より複雑なシステムでは、POSIXLY_CORRECTなどの魔法の環境変数も設定する必要がある場合があります。