btrfs-progs: fi du: Calculate space shared by each directory arguments file set
authorMark Fasheh <mfasheh@suse.de>
Wed, 20 Jan 2016 21:49:27 +0000 (13:49 -0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 14 Mar 2016 12:42:47 +0000 (13:42 +0100)
commitbc23667bd24ef5f76d5357200c462b66d2d21974
treecce8516fb15a9f48e0b7650675885f77b2541088
parenta2e7ff1eae45ad77d80d31d8b793021364573a74
btrfs-progs: fi du: Calculate space shared by each directory arguments file set

Here we define each file set as those found by a recursive search of a
single directory argument to btrfs fi du.

This isn't as simple as adding up shared extents - they may be shared with
each other, and may also overlap. This patch uses an interval tree to store
shared extents we find while fiemapping files. After collecting them, a 'set
shared' count is calculated by summing (without overlap) each shared region
discovered. This is then displayed to the user as 'set shared'.

Signed-off-by: Mark Fasheh <mfasheh@suse.de>
Signed-off-by: David Sterba <dsterba@suse.com>
cmds-fi-du.c