On Tue, May 03, 2022 at 08:59:31PM +0200, Steinar H. Gunderson wrote:
> On Tue, May 03, 2022 at 07:59:48PM +0200, Julian Andres Klode wrote:
> > I fail to see how naming it @root instead of @, or @screwedup for that
> > matter makes a difference.
> 
> Try it. :-)

I tried something else...

> 
> > This is a significant regression for users coming from mlocate. They had
> > working locate
> 
> No, did they not. The mlocate updatedb code had broken bind mount detection
> after the switch from /etc/mtab to /proc/mountinfo, which specifically broke
> btrfs subvolumes:
> 
>   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=746943
> 
> > If you prefer to keep plocate broken with btrfs in Debian,
> 
> Please stop misrepresenting the issue. plocate isn't broken with btrfs,
> but you can configure btrfs subvolumes in a way such that plocate
> (and basically any other tool that tries to skip bind mounts) will not work
> in the default configuration.

Removing the /mnt mount of the / root volume makes it work:

$ grep btrfs /proc/self/mountinfo
32 1 0:28 /@ / rw,relatime shared:1 - btrfs /dev/mapper/ubuntu--vg-root 
rw,compress=zstd:3,ssd,space_cache,subvolid=256,subvol=/@
143 32 0:28 /@apt /var/cache/apt/archives rw,relatime shared:79 - btrfs 
/dev/mapper/ubuntu--vg-root 
rw,compress=zstd:3,ssd,space_cache,subvolid=273,subvol=/@apt
146 32 0:28 /@squid /var/cache/squid-deb-proxy rw,relatime shared:81 - btrfs 
/dev/mapper/ubuntu--vg-root 
rw,compress=zstd:3,ssd,space_cache,subvolid=274,subvol=/@squid
142 32 0:28 /@log /var/log rw,relatime shared:83 - btrfs 
/dev/mapper/ubuntu--vg-root 
rw,compress=zstd:3,ssd,space_cache,subvolid=344,subvol=/@log
2734 32 0:28 /@/snap /snap rw,relatime shared:1 - btrfs 
/dev/mapper/ubuntu--vg-root 
rw,compress=zstd:3,ssd,space_cache,subvolid=256,subvol=/@
4560 32 0:28 /@/var/snap /var/snap rw,relatime shared:1 - btrfs 
/dev/mapper/ubuntu--vg-root 
rw,compress=zstd:3,ssd,space_cache,subvolid=256,subvol=/@
140 32 0:28 / /mnt rw,relatime shared:77 - btrfs /dev/mapper/ubuntu--vg-root 
rw,compress=zstd:3,ssd,space_cache,subvolid=5,subvol=/

It's not clar to me why that would make a difference but this is
all very confusing and needs further investigation. Like it only
reads mountinfo and stats / why would the existence of /mnt make
a difference to it - did it read "/" on the LHS and took it too mean
a bind mount of "/@" because "/@" is mounted at "/"? Clearly subvolumes
create confusing paths.

That /mnt mountpoint is anormal, but normally apt-btrfs-snapshot
mounts to a temporary directory temporarily to create a snapshot
(however they get leftover sometimes); whereas snapper uses a
different layout where / is the / and snapshots are kept in
/.snapshots or something, so it's not affected.

-- 
debian developer - deb.li/jak | jak-linux.org - free software dev
ubuntu core developer                              i speak de, en

Reply via email to