util-linux/util-linux-umount-losetup-lazy-destruction.patch

42 lines
2.7 KiB
Diff
Raw Normal View History

2025-01-04 23:13:22 +01:00
From fc67f18be51f57ee9a59a0f8f7ad16f284a24a3e Mon Sep 17 00:00:00 2001
From: Stanislav Brabec <sbrabec@suse.cz>
Date: Wed, 19 Jun 2024 17:31:34 +0200
Subject: [PATCH] umount, losetup: Document loop destroy behavior
The loop device detach runs asynchronously in the background. It can cause
unexpected errors. Document the possible existence of the loop device after
exit of losetup -d or umount and need of "udevadm settle".
Signed-off-by: Stanislav Brabec <sbrabec@suse.cz>
---
sys-utils/losetup.8.adoc | 2 +-
sys-utils/umount.8.adoc | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
Index: util-linux-2.39.3/sys-utils/losetup.8.adoc
===================================================================
--- util-linux-2.39.3.orig/sys-utils/losetup.8.adoc
+++ util-linux-2.39.3/sys-utils/losetup.8.adoc
@@ -54,7 +54,7 @@ The _size_ and _offset_ arguments may be
Show the status of all loop devices. Note that not all information is accessible for non-root users. See also *--list*. The old output format (as printed without *--list*) is deprecated.
*-d*, *--detach* _loopdev_...::
-Detach the file or device associated with the specified loop device(s). Note that since Linux v3.7 kernel uses "lazy device destruction". The detach operation does not return *EBUSY* error anymore if device is actively used by system, but it is marked by autoclear flag and destroyed later.
+Detach the file or device associated with the specified loop device(s). Note that since Linux v3.7 kernel uses "lazy device destruction". The detach operation does not return *EBUSY* error anymore if device is actively used by system, but it is marked by autoclear flag and destroyed later. Even if the device is not used, the loop device can be destroyed later. If you need to wait for a complete removal of the loop device, call *udevadm settle* after *losetup*.
*-D*, *--detach-all*::
Detach all associated loop devices.
Index: util-linux-2.39.3/sys-utils/umount.8.adoc
===================================================================
--- util-linux-2.39.3.orig/sys-utils/umount.8.adoc
+++ util-linux-2.39.3/sys-utils/umount.8.adoc
@@ -127,6 +127,8 @@ The *umount* command will automatically
In this case the device is initialized with "autoclear" flag (see *losetup*(8) output for more details), otherwise it's necessary to use the option *--detach-loop* or call *losetup -d* _device_. The autoclear feature is supported since Linux 2.6.25.
+Note that since Linux v3.7 kernel uses "lazy device destruction". The system just marks the loop device by autoclear flag and destroys it later. If you need to wait for a complete removal of the loop device, call *udevadm settle* after *umount*.
+
== EXTERNAL HELPERS
The syntax of external unmount helpers is: