Hi, On 08/08/12 08:24, Mike Kazantsev wrote:
>> I have an /etc/fstab that contains the following line: >> >> /disk1.img /disk1 ext4 loop 0 2 >> >> where /disk1.img is a regular file containing an ext4 filesystem. Systemd >> fails >> to mount /disk1 if I run "systemctl start disk1.mount": >> > ... > > Same thing seem to work here: > > dd if=/dev/zero of=looptest bs=1M count=100 > losetup /dev/loop0 looptest > mkfs.ext4 /dev/loop0 > losetup -D > echo '/root/looptest /mnt/tmp ext4 loop' >>/etc/fstab Ah! This did work. It turns out that the problem is actually caused by having a non-zero fs_passno field in /etc/fstab. I.e. /disk1.img /disk1 ext4 loop 0 0 works, while /disk1.img /disk1 ext4 loop 0 2 hangs because systemd adds a dependency on systemd-f...@disk1.img.service, which in turn has a dependency on the non-existent disk1.img.device. Now for this ext4 example I can live without running fsck, but in general loop filesystems may require fsck. Any ideas on how to fix this? Also, there doesn't seem to be a workaround for using loop devices with crypttab. Example: $ dd if=/dev/zero of=/disk2.img bs=1M count=100 $ cryptsetup luksFormat /disk2.img ... $ echo 'crypted /disk2.img - timeout=60' > /etc/crypttab $ systemctl daemon-reload $ systemctl start cryptsetup.target (hangs) $ systemctl list-jobs --full JOB UNIT TYPE STATE 8534 cryptsetup.target start waiting 8535 systemd-cryptsetup@crypted.service start waiting 8538 disk2.img.device start running 8539 dev-mapper-crypted.device start running $ journalctl ... Aug 08 15:33:51 machine systemd[1]: Job disk2.img.device/start timed out. Aug 08 15:33:51 machine systemd[1]: Job cryptsetup.target/start failed with result 'dependency'. ... (I'm running systemd 187 BTW.) -- Eelco Dolstra | LogicBlox, Inc. | http://nixos.org/~eelco/ _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel