On Mon, Nov 6, 2017 at 6:51 AM, Austin S. Hemmelgarn <ahferro...@gmail.com> wrote:
> This brings to mind another 'feature' of BTRFS that I came across recently, > namely that subvolumes that aren't explicitly mounted still show up as mount > points according to how most CLI tools differentiate what's a mount point. > > In particular, the st_dev field in stat() results for the subvolume differs > from the containing directory, and the f_fsid field in statvfs() results for > the subvolume differs from the containing directory (a side effect of the > differing st_dev field, which is part of what's used to calculate f_fsid on > Linux), which means the only way to know if something actually is a mount > point is to make this check, and then verify it in /proc/mounts or > /proc/self/mountinfo. > > That particular 'feature' means that GNU find, xargs, and du will never > cross subvolume boundaries if you tell them to stay on one filesystem, and > some other tools may misidentify where things are mounted. Elsewhere I brought up that mountinfo gives bogus subvol= information that conflicts with the subvolid= information, when doing bind mounts of directories on Btrfs. Trivially reproduced in my home directory: [chris@f26h ~]$ mkdir directory1 [chris@f26h ~]$ mkdir directory2 [chris@f26h ~]$ sudo mount -B directory2 directory1 [chris@f26h ~]$ mount: /dev/nvme0n1p8 on /home type btrfs (rw,relatime,seclabel,ssd,space_cache,subvolid=257,subvol=/home) /dev/nvme0n1p8 on /home/chris/directory1 type btrfs (rw,relatime,seclabel,ssd,space_cache,subvolid=257,subvol=/home/chris/directory2) The first mount item is correct, there is a subvolume home with subvolume ID of 257, mounted at /home. The second mount item considers directory2 a subvolume (wrong), with subvolid 257 (kinda right, it's on subvolid 257, but kinda wrong, it is not itself a subvolume). -- Chris Murphy -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html