linux_dsm_epyc7002/fs/btrfs
Josef Bacik bd4d108889 Btrfs: make df be a little bit more understandable
The way we report df usage is way confusing for everybody, including some other
utilities (bacula for one).  So this patch makes df a little bit more
understandable.  First we make used actually count the total amount of used
space in all space info's.  This will give us a real view of how much disk space
is in use.  Second, for blocks available, only count data space.  This makes
things like bacula work because it says 0 when you can no longer write anymore
data to the disk.  I think this is a nice compromise, since you will end up with
something like the following

[root@alpha ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                      148G   30G  111G  21% /
/dev/sda1             194M  116M   68M  64% /boot
tmpfs                 985M   12K  985M   1% /dev/shm
/dev/mapper/VolGroup-LogVol02
                      145G  140G     0 100% /mnt/btrfs-test

Compare this with btrfsctl -i output

[root@alpha btrfs-progs-unstable]# ./btrfsctl -i /mnt/btrfs-test/
Metadata, DUP: total=4.62GB, used=2.46GB
System, DUP: total=8.00MB, used=24.00KB
Data: total=134.80GB, used=134.80GB
Metadata: total=8.00MB, used=0.00
System: total=4.00MB, used=0.00
operation complete

This way we show that there is no more data space to be used, but we have
another 5GB of space left for metadata.  Thanks,

Signed-off-by: Josef Bacik <josef@redhat.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2010-03-15 11:00:11 -04:00
..
acl.c Btrfs: fix a memory leak in btrfs_init_acl 2010-01-28 16:20:39 -05:00
async-thread.c Btrfs: fix deadlock on async thread startup 2009-10-05 09:44:45 -04:00
async-thread.h Btrfs: fix deadlock on async thread startup 2009-10-05 09:44:45 -04:00
btrfs_inode.h Btrfs: add new defrag-range ioctl. 2010-03-15 11:00:10 -04:00
compat.h
compression.c
compression.h
ctree.c Btrfs: Fix per root used space accounting 2009-12-17 12:33:35 -05:00
ctree.h Btrfs: add new defrag-range ioctl. 2010-03-15 11:00:10 -04:00
delayed-ref.c
delayed-ref.h
dir-item.c Btrfs: Pass transaction handle to security and ACL initialization functions 2009-12-17 12:33:34 -05:00
disk-io.c Btrfs: use RB_ROOT to intialize rb_trees instead of setting rb_node to NULL 2010-03-08 16:26:50 -05:00
disk-io.h
export.c Btrfs: change how we mount subvolumes 2010-03-15 10:58:13 -04:00
export.h
extent_io.c Btrfs: use RB_ROOT to intialize rb_trees instead of setting rb_node to NULL 2010-03-08 16:26:50 -05:00
extent_io.h Btrfs: release delalloc reservations on extent item insertion 2009-10-08 15:21:10 -04:00
extent_map.c Btrfs: use RB_ROOT to intialize rb_trees instead of setting rb_node to NULL 2010-03-08 16:26:50 -05:00
extent_map.h
extent-tree.c Btrfs: Fix oopsen when dropping empty tree. 2010-02-04 11:31:45 -05:00
file-item.c
file.c Btrfs: btrfs_mark_extent_written uses the wrong slot 2010-02-12 16:47:19 -05:00
free-space-cache.c Btrfs: use RB_ROOT to intialize rb_trees instead of setting rb_node to NULL 2010-03-08 16:26:50 -05:00
free-space-cache.h
hash.h
inode-item.c Btrfs: check size of inode backref before adding hardlink 2009-09-24 09:17:31 -04:00
inode-map.c
inode.c Btrfs: add new defrag-range ioctl. 2010-03-15 11:00:10 -04:00
ioctl.c Btrfs: add new defrag-range ioctl. 2010-03-15 11:00:10 -04:00
ioctl.h Btrfs: add new defrag-range ioctl. 2010-03-15 11:00:10 -04:00
Kconfig
locking.c
locking.h
Makefile
ordered-data.c Btrfs: align offsets for btrfs_ordered_update_i_size 2010-01-17 20:06:27 -05:00
ordered-data.h Btrfs: use RB_ROOT to intialize rb_trees instead of setting rb_node to NULL 2010-03-08 16:26:50 -05:00
orphan.c
print-tree.c
print-tree.h
ref-cache.c
ref-cache.h Btrfs: use RB_ROOT to intialize rb_trees instead of setting rb_node to NULL 2010-03-08 16:26:50 -05:00
relocation.c Btrfs: change how we mount subvolumes 2010-03-15 10:58:13 -04:00
root-tree.c Btrfs: skip btrfs_release_path in btrfs_update_root and btrfs_del_root 2009-11-11 14:20:18 -05:00
struct-funcs.c
super.c Btrfs: make df be a little bit more understandable 2010-03-15 11:00:11 -04:00
sysfs.c
transaction.c Btrfs: use RB_ROOT to intialize rb_trees instead of setting rb_node to NULL 2010-03-08 16:26:50 -05:00
transaction.h Btrfs: Avoid superfluous tree-log writeout 2009-12-15 21:24:25 -05:00
tree-defrag.c
tree-log.c Btrfs: change how we mount subvolumes 2010-03-15 10:58:13 -04:00
tree-log.h Btrfs: avoid tree log commit when there are no changes 2009-10-13 13:35:12 -04:00
version.h
version.sh
volumes.c btrfs: Update existing btrfs_device for renaming device 2010-03-15 11:00:10 -04:00
volumes.h
xattr.c Btrfs: Pass transaction handle to security and ACL initialization functions 2009-12-17 12:33:34 -05:00
xattr.h Btrfs: Pass transaction handle to security and ACL initialization functions 2009-12-17 12:33:34 -05:00
zlib.c