[systemd-devel] tentative state and unmount on mapper
Lennart Poettering
lennart at poettering.net
Mon May 18 14:02:15 PDT 2015
On Mon, 18.05.15 15:59, Umut Tezduyar Lindskog (umut at tezduyar.com) wrote:
> Hi,
>
> There have been few discussions about tentative state and unmounting
> and I am experiencing different problem in the same device logic.
>
> I am at 219 + 628c89cc + 496068a8 + 5259bcf6
>
> I have 2 mounts (one is bind mount) on mapper device.
>
> /proc/self/mountinfo:
> 47 37 254:0 / /var/spool/storage/SD_DISK
> rw,nosuid,nodev,noexec,noatime,nodiratime shared:18 - ext4
> /dev/mapper/mmcblk0p1 rw,journal_checksum,commit=1,data=ordered
> 49 37 254:0 / /var/spool/storage/areas/SD_DISK/root
> rw,nosuid,nodev,noexec,noatime,nodiratime shared:18 - ext4
> /dev/mapper/mmcblk0p1 rw,journal_checksum,commit=1,data=ordered
>
> systemctl -t device --all | grep map:
> dev-mapper-mmcblk0p1.device loaded activating tentative /dev/mapper/mmcblk0p1
>
> As soon as I unmount the bind mount, systemd picks up the change in
> /proc/self/mountinfo and changes the "tentative" device to "dead" and
> due to that all file systems BindsTo to the device are being
> unmounted. Application which mounted the partitions is not getting a
> chance to unmount the fs.
>
> Should I enumerate available mount units to see if anyone else has
> been mounted on the device that is about to be set as DEVICE_DEAD in
> device_update_found_one()?
The right fix is to ensure you ship the right udev rules for your DM
setup, so that the devices are properly announced by udev. Note that
DM/LVM/... might require compile switches to be specified to enable
proper udev support.
The "tentative" state is nothing the system should continously leave
devices in. It's a state only used for very short time windows, before
udev is up, or when a pseudo device (like a loopback block device) is
created and immediately mounted. If you have booted up and see a
device in "tentative" state, then something is really *wrong*.
Lennart
--
Lennart Poettering, Red Hat
More information about the systemd-devel
mailing list