Also, I am having trouble reproducing the problem. Any chance that you can help
make a testcase?

I made a 5G disk, made a PV, VG and LV, and then made a btrfs filesystem. But
I could never get the udev trigger to actually occur to rename the device
links.

Any ideas?

$ uname -rv
5.15.0-127-generic #137-Ubuntu SMP Fri Nov 8 15:21:01 UTC 2024
$ lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
vda     252:0    0   10G  0 disk 
├─vda1  252:1    0  9.9G  0 part /
├─vda14 252:14   0    4M  0 part 
└─vda15 252:15   0  106M  0 part /boot/efi
vdb     252:16   0  372K  0 disk 
vdc     252:32   0    5G  0 disk 
$ sudo pvcreate /dev/vdc
  Physical volume "/dev/vdc" successfully created.
$ sudo vgcreate vdc /dev/vdc
  /dev/vdc: already exists in filesystem
  Run `vgcreate --help' for more information.
$ sudo vgcreate VG0 /dev/vdc
  Volume group "VG0" successfully created
$ sudo lvcreate -L5G^Cn data0 vg0
$ sudo lvcreate -n LV0 -l 100%FREE VG0
  Logical volume "LV0" created.
$ sudo mkfs.btrfs /dev/VG0/LV0 
btrfs-progs v5.16.2
See http://btrfs.wiki.kernel.org for more information.

Performing full device TRIM /dev/VG0/LV0 (5.00GiB) ...
NOTE: several default settings have changed in version 5.15, please make sure
      this does not affect your deployments:
      - DUP for metadata (-m dup)
      - enabled no-holes (-O no-holes)
      - enabled free-space-tree (-R free-space-tree)

Label:              (null)
UUID:               ff124bfe-c58d-4112-8b37-6466e1ddedc9
Node size:          16384
Sector size:        4096
Filesystem size:    5.00GiB
Block group profiles:
  Data:             single            8.00MiB
  Metadata:         DUP             256.00MiB
  System:           DUP               8.00MiB
SSD detected:       no
Zoned device:       no
Incompat features:  extref, skinny-metadata, no-holes
Runtime features:   free-space-tree
Checksum:           crc32c
Number of devices:  1
Devices:
   ID        SIZE  PATH
    1     5.00GiB  /dev/VG0/LV0

$ sudo mount /dev/VG0/LV0 /m^C
$ sudo mkdir /mnt/a
$ sudo mkdir /mnt/b
$ sudo mkdir /mnt/c
$ sudo mount /dev/VG0/LV0 /mnt/a
$ sudo mount /dev/VG0/LV0 /mnt/b
$ sudo mount /dev/VG0/LV0 /mnt/c
$ lsblk
NAME      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
loop0       7:0    0 63.7M  1 loop /snap/core20/2434
loop1       7:1    0 89.4M  1 loop /snap/lxd/31333
loop2       7:2    0 44.3M  1 loop /snap/snapd/23258
vda       252:0    0   10G  0 disk 
├─vda1    252:1    0  9.9G  0 part /
├─vda14   252:14   0    4M  0 part 
└─vda15   252:15   0  106M  0 part /boot/efi
vdb       252:16   0  372K  0 disk 
vdc       252:32   0    5G  0 disk 
└─VG0-LV0 253:0    0    5G  0 lvm  /mnt/c
                                   /mnt/b
                                   /mnt/a
$ grep /mnt /proc/mounts
/dev/mapper/VG0-LV0 /mnt/a btrfs rw,relatime,space_cache=v2,subvolid=5,subvol=/ 
0 0
/dev/mapper/VG0-LV0 /mnt/b btrfs rw,relatime,space_cache=v2,subvolid=5,subvol=/ 
0 0
/dev/mapper/VG0-LV0 /mnt/c btrfs rw,relatime,space_cache=v2,subvolid=5,subvol=/ 
0 0

$ sudo apt install linux-image-5.15.0-136-generic linux-
modules-5.15.0-136-generic linux-modules-extra-5.15.0-136-generic linux-
headers-5.15.0-136-generic

$ uname -rv
5.15.0-136-generic #147-Ubuntu SMP Sat Mar 15 15:53:30 UTC 2025
$ ls /mnt
a  b  c
$ sudo mount /dev/VG0/LV0 /mnt/a
$ sudo mount /dev/VG0/LV0 /mnt/b
$ sudo mount /dev/VG0/LV0 /mnt/c
$ lsblk
NAME      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
loop0       7:0    0 63.7M  1 loop /snap/core20/2434
loop1       7:1    0 89.4M  1 loop /snap/lxd/31333
loop2       7:2    0 44.3M  1 loop /snap/snapd/23258
vda       252:0    0   10G  0 disk 
├─vda1    252:1    0  9.9G  0 part /
├─vda14   252:14   0    4M  0 part 
└─vda15   252:15   0  106M  0 part /boot/efi
vdb       252:16   0  372K  0 disk 
vdc       252:32   0    5G  0 disk 
└─VG0-LV0 253:0    0    5G  0 lvm  /mnt/c
                                   /mnt/b
                                   /mnt/a
$ grep /mnt /proc/mounts
/dev/mapper/VG0-LV0 /mnt/a btrfs rw,relatime,space_cache=v2,subvolid=5,subvol=/ 
0 0
/dev/mapper/VG0-LV0 /mnt/b btrfs rw,relatime,space_cache=v2,subvolid=5,subvol=/ 
0 0
/dev/mapper/VG0-LV0 /mnt/c btrfs rw,relatime,space_cache=v2,subvolid=5,subvol=/ 
0 0
$ sudo touch /dev/mapper/VG0-LV0
$ grep /mnt /proc/mounts
/dev/mapper/VG0-LV0 /mnt/a btrfs rw,relatime,space_cache=v2,subvolid=5,subvol=/ 
0 0
/dev/mapper/VG0-LV0 /mnt/b btrfs rw,relatime,space_cache=v2,subvolid=5,subvol=/ 
0 0
/dev/mapper/VG0-LV0 /mnt/c btrfs rw,relatime,space_cache=v2,subvolid=5,subvol=/ 
0 0
$ sudo umount /mnt/a
$ sudo umount /mnt/b
$ sudo umount /mnt/c
$ sudo mount /dev/dm-0 /mnt/a
$ sudo mount /dev/dm-0 /mnt/b
$ sudo mount /dev/dm-0 /mnt/c
$ lsblk
NAME      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
loop0       7:0    0 63.7M  1 loop /snap/core20/2434
loop1       7:1    0 89.4M  1 loop /snap/lxd/31333
loop2       7:2    0 44.3M  1 loop /snap/snapd/23258
vda       252:0    0   10G  0 disk 
├─vda1    252:1    0  9.9G  0 part /
├─vda14   252:14   0    4M  0 part 
└─vda15   252:15   0  106M  0 part /boot/efi
vdb       252:16   0  372K  0 disk 
vdc       252:32   0    5G  0 disk 
└─VG0-LV0 253:0    0    5G  0 lvm  /mnt/c
                                   /mnt/b
                                   /mnt/a
$ grep /mnt /proc/mounts
/dev/mapper/VG0-LV0 /mnt/a btrfs rw,relatime,space_cache=v2,subvolid=5,subvol=/ 
0 0
/dev/mapper/VG0-LV0 /mnt/b btrfs rw,relatime,space_cache=v2,subvolid=5,subvol=/ 
0 0
/dev/mapper/VG0-LV0 /mnt/c btrfs rw,relatime,space_cache=v2,subvolid=5,subvol=/ 
0 0
$ sudo udevadm control --reload-rules
$ sudo udevadm trigger
$ grep /mnt /proc/mounts
/dev/mapper/VG0-LV0 /mnt/a btrfs rw,relatime,space_cache=v2,subvolid=5,subvol=/ 
0 0
/dev/mapper/VG0-LV0 /mnt/b btrfs rw,relatime,space_cache=v2,subvolid=5,subvol=/ 
0 0
/dev/mapper/VG0-LV0 /mnt/c btrfs rw,relatime,space_cache=v2,subvolid=5,subvol=/ 
0 0
$ sudo -s
root@test-disk:/home/ubuntu# echo change > /sys/block/dm-0/uevent 
root@test-disk:/home/ubuntu# 
exit
$ grep /mnt /proc/mounts
/dev/mapper/VG0-LV0 /mnt/a btrfs rw,relatime,space_cache=v2,subvolid=5,subvol=/ 
0 0
/dev/mapper/VG0-LV0 /mnt/b btrfs rw,relatime,space_cache=v2,subvolid=5,subvol=/ 
0 0
/dev/mapper/VG0-LV0 /mnt/c btrfs rw,relatime,space_cache=v2,subvolid=5,subvol=/ 
0 0

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/2107516

Title:
  Ubuntu 22.04 kernel 5.15.0.136 changes /proc/mounts for btfs volumes

Status in linux package in Ubuntu:
  New
Status in linux source package in Jammy:
  New

Bug description:
  We mount btrfs volumes, and we are seeing a change in behavior from
  the 5.15.0-126 kernel to 5.15.0.136

  In the old behavior (existing for as long as we have had the product),
  mounting a btrfs lvm results in:

  $: grep /DataStore0 /proc/mounts
  /dev/mapper/VG0-LV0 /DataStore0 btrfs 
rw,seclabel,relatime,space_cache=v2,subvolid=5,subvol=/ 0 0

  however same mount with the new kernel results in a different output:

  $: grep /DataStore0 /proc/mounts
  /dev/VG0/LV0 /DataStore0 btrfs 
rw,seclabel,relatime,space_cache=v2,subvolid=5,subvol=/ 0 0

  (notice the /dev/VG0/LV0 vs. /dev/mapper/VG0-LV0) for the same mount.
  Our application code uses /dev/mapper checking extensively and we
  would like to avoid a rewrite if possible.

  Online searches bring me to this bug: https://bugs.gentoo.org/947126
  which seems very similar

  We have this change as part of the new kernel:

  $:git log --oneline --grep "btrfs: avoid unnecessary device path update for 
the same device" Ubuntu-5.15.0-126.136..Ubuntu-5.15.0-136.147
  fc83c00ca63b btrfs: avoid unnecessary device path update for the same device

  https://lore.kernel.org/linux-
  
btrfs/30aefd8b4e8c1f0c5051630b106a1ff3570d28ed.1735537399.git....@suse.com/T/#u
  seems like a fix , I don't see this accepted yet though.

  If we could either revert this change or provide guidance how we
  should be reading this file that would be great. Thank you.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2107516/+subscriptions


-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to