nixos icon indicating copy to clipboard operation
nixos copied to clipboard

Systemd fails to mount btrfs multidevice filesystems in stage 2

Open viric opened this issue 12 years ago • 5 comments

First, this only affects btrfs fs to be mounted by systemd, thus, stage 2.

As current nixos master, only one block device can be told to be waited for.

In a usual btrfs approach, when all the block devices are ready, "btrfs dev scan" has to be run with the btrfs module loaded, and it will settle down the multidevice information.

I tried to get nixos supporting multiple devices in fileSystems, and having "btrfs dev scan" run as a udev rule, but this doesn't work: https://github.com/viric/nixos/compare/master...systemd_btrfs

Currently, my mount point (mnt-hd.mount) fails to mount this way:

   Loaded: loaded (/nix/store/jjq9jaaq3dgdafqvhmg8cmvcqa452z9c-unit/mnt-hd.mount)
   Active: failed (Result: exit-code) since dc 2013-04-17 00:01:14 CEST; 25min ago
    Where: /mnt/hd
     What: /dev/mapper/seagate-lvol0
  Process: 1473 ExecMount=/nix/store/wbr4qkpf1y1f6hzxs7gp9a1imnypihq7-util-linux-2.22.2/bin/mount /dev/mapper/seagate-lvol0 /mnt/hd -t btrfs -o noatime,autodefrag (code=exited, status=32)

abr 17 00:01:14 nispro mount[1473]: mount: wrong fs type, bad option, bad superblock on /d...l0,
abr 17 00:01:14 nispro mount[1473]: missing codepage or helper program, or other error
abr 17 00:01:14 nispro mount[1473]: In some cases useful info is found in syslog - try
abr 17 00:01:14 nispro mount[1473]: dmesg | tail or so
abr 17 00:01:14 nispro systemd[1]: mnt-hd.mount mount process exited, code=exited status=32
abr 17 00:01:14 nispro systemd[1]: Failed to mount Mount of dev-mapper-seagate\x2dlvol0,d...ol0.
abr 17 00:01:14 nispro systemd[1]: Unit mnt-hd.mount entered failed state

I'm using this config, with my branch:

fileSystems = ...
    { mountPoint = "/mnt/hd";
      devices = [ "/dev/mapper/seagate-lvol0" "/dev/mapper/wdgreen-lvol0" ];
      options = "noatime,autodefrag";
      fsType = "btrfs";
      }

As an additional comment, systemd udev seems to have some magic about btrfs that I don't understand: http://lists.freedesktop.org/archives/systemd-commits/2012-September/002503.html

viric avatar Apr 23 '13 19:04 viric

From the first look it seems to me that the udev "magic" is connected to multi-device btrfs filesystems.

My btrfs /home partition mounts fine (it's in stage2, isn't it?), but I only have systemd-200 and it's one-device only.

vcunat avatar Apr 23 '13 19:04 vcunat

On Tue, Apr 23, 2013 at 12:50:42PM -0700, Vladimír Čunát wrote:

From the first look it seems to me that the udev "magic" is connected to multi-device btrfs filesystems.

Yes, to me too, but as something doesn't work for me, I'm a bit lost.

My btrfs /home partition mounts fine (it's in stage2, isn't it?), but I only have systemd-200.

I tried that in 199, 200 and 201, to no difference. Is your /home partition multi-device, and over LVM?

viric avatar Apr 23 '13 19:04 viric

No, just regular one-device (I added this info straight after posting the previous comment, but you only read the e-mail).

vcunat avatar Apr 23 '13 19:04 vcunat

Ok, I think it's definitely a multidevice trouble :)

viric avatar Apr 23 '13 20:04 viric

Is this still an issue?

domenkozar avatar May 20 '16 12:05 domenkozar