On 07/06/16 17:20, Hugo Mills wrote: > On Thu, Jul 07, 2016 at 12:16:01AM +0900, Wang Shilong wrote: >> On Wed, Jul 6, 2016 at 10:35 PM, Holger Hoffstätte >> <hol...@applied-asynchrony.com> wrote: >>> On 07/06/16 14:25, Wang Shilong wrote: >>>> 'btrfs file du' is a very useful tool to watch my system >>>> file usage with snapshot aware. >>>> >>>> when trying to run following commands: >>>> [root@localhost btrfs-progs]# btrfs file du / >>>> Total Exclusive Set shared Filename >>>> ERROR: Failed to lookup root id - Inappropriate ioctl for device >>>> ERROR: cannot check space of '/': Unknown error -1 >>>> >>>> and My Filesystem looks like this: >>>> [root@localhost btrfs-progs]# df -Th >>>> Filesystem Type Size Used Avail Use% Mounted on >>>> devtmpfs devtmpfs 16G 0 16G 0% /dev >>>> tmpfs tmpfs 16G 368K 16G 1% /dev/shm >>>> tmpfs tmpfs 16G 1.4M 16G 1% /run >>>> tmpfs tmpfs 16G 0 16G 0% /sys/fs/cgroup >>>> /dev/sda3 btrfs 60G 19G 40G 33% / >>>> tmpfs tmpfs 16G 332K 16G 1% /tmp >>>> /dev/sdc btrfs 2.8T 166G 1.7T 9% /data >>>> /dev/sda2 xfs 2.0G 452M 1.6G 23% /boot >>>> /dev/sda1 vfat 1.9G 11M 1.9G 1% /boot/efi >>>> tmpfs tmpfs 3.2G 24K 3.2G 1% /run/user/1000 >>>> >>>> So I installed Btrfs as my root partition, but boot partition >>>> can be other fs. >>>> >>>> We can Let btrfs tool aware of this is not a btrfs file or >>>> directory and skip those files, so that someone like me >>>> could just run 'btrfs file du /' to scan all btrfs filesystems. >>>> >>>> After patch, it will look like: >>>> Total Exclusive Set shared Filename >>>> skipping not btrfs dir/file: boot >>>> skipping not btrfs dir/file: dev >>>> skipping not btrfs dir/file: proc >>>> skipping not btrfs dir/file: run >>>> skipping not btrfs dir/file: sys >>>> 0.00B 0.00B - //root/.bash_logout >>>> 0.00B 0.00B - //root/.bash_profile >>>> 0.00B 0.00B - //root/.bashrc >>>> 0.00B 0.00B - //root/.cshrc >>>> 0.00B 0.00B - //root/.tcshrc >>>> >>>> This works for me to analysis system usage and analysis >>>> performaces. >>> >>> This is great, but can we please skip the "skipping .." messages? >>> Maybe it's just me but I really don't see the value of printing them >>> when they don't contribute to the result. >>> They also mess up the display. :) >> >> I don't have a taste whether it needed or not, because it is somehow >> useful to let users know some files/directories skipped....
When you run "find /path -type d" you don't get messages for all the things you just didn't want to find either. > At the absolute minimum, I think that these messages should go to > stderr (like du does when it deosn't have permissions), and should go > away with -q. They're still irritating, but at least you can get rid > of them easily. If anything this should require a --verbose, not the other way around. Maybe instead of breaking the output just indicate the special status via "-- --" values, or default to 0.00? Still, we're explicitly only interested in btrfs stuff and not anything else, so printing non-information can only yield noise. This is very much orthogonal to not printing anything after an otherwise successful command execution. -h
signature.asc
Description: OpenPGP digital signature