On Ubuntu 20.04 PC's with a btrfs (in crypto / LUKS) raid-1 disk array, file managers (nautiuls, thunar, etc) show duplicate entries for the [logically] same disk, and repeatedly mount duplicate /media/User/DiskLabel-N
. Request: I'd like to prevent user clicks in the file manager from mounting multiple copies of the array; they pollute the UI, as well as cause the file-manager to behave sluggishly. A bonus would be to hide the all (or all but one) entry in the file-manager, as we have hard-coded mounts for these arrays already.
I believe this tracks udisk2
not having ignore rules for the such an array disks, but am not succeeding with UDISKS_IGNORE
rules to manually hide the UUIDs of the array disks. Note similar (accepted & fixed) issue for zfs
zvol
's a couple years ago: https://bugs.freedesktop.org/show_bug.cgi?id=100864 + https://github.com/storaged-project/udisks/pull/376
Example symptoms, on machine with THREE-disk array:
- after clean boot OR
umount /media/*/dataarray*
mount | grep '/media/.*/dataarray'
--> #empty
- in
nautilus
, the left pane shows TWO "dataarray-1"
entries
- in
nautilus
, click repeatedly on the disks in the left pane labeled
- on the first click (only), a third
"dataarray-1"
entry appears in the left pane alongside the other physical disks
- on subsequent clicks, new
mount
s are created in the shortcut area
journalctl
logs one of these for each click udisksd[1933]: Mounted /dev/dm-4 at /media/TheUser/dataarray-13 on behalf of uid 1000
example disk topology:
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
...
sdc 8:32 1 1.4T 0 disk
└─sdc1 8:33 1 1.4T 0 part
└─data_btrfs_n1 253:6 0 1.4T 0 crypt /mnt/data-array # Note: mounted at boot via fstab+crypttab with keyfile on the FDE boot disk
sdd 8:48 1 1.4T 0 disk
└─sdd1 8:49 1 1.4T 0 part
└─data_btrfs_n2 253:4 0 1.4T 0 crypt # eg /dev/dm-4 in the journal
sde 8:64 1 1.4T 0 disk
└─sde1 8:65 1 1.4T 0 part
└─data_btrfs_n3 253:5 0 1.4T 0 crypt
$ blkid
...
/dev/sdc1: UUID="222..." TYPE="crypto_LUKS" PARTUUID="..."
/dev/sdd1: UUID="333..." TYPE="crypto_LUKS" PARTUUID="..."
/dev/sde1: UUID="111..." TYPE="crypto_LUKS" PARTUUID="..."
and udev rules in /etc/udev/rules.d/10-local.rules
SUBSYSTEM=="block", ENV{ID_FS_UUID}=="111...", ENV{UDISKS_IGNORE}="1"
SUBSYSTEM=="block", ENV{ID_FS_UUID}=="222...", ENV{UDISKS_IGNORE}="1"
SUBSYSTEM=="block", ENV{ID_FS_UUID}=="333...", ENV{UDISKS_IGNORE}="1"