]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
umount, losetup: Document loop destroy behavior
authorStanislav Brabec <sbrabec@suse.cz>
Wed, 19 Jun 2024 15:31:34 +0000 (17:31 +0200)
committerKarel Zak <kzak@redhat.com>
Thu, 20 Jun 2024 10:19:23 +0000 (12:19 +0200)
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
sys-utils/umount.8.adoc

index 9ea9451ce0b1e968377ed444e73c2bda90ad4db3..e22e650b882083d5e95a3c887a5f2116a173f6fa 100644 (file)
@@ -54,7 +54,7 @@ The _size_ and _offset_ arguments may be followed by the multiplicative suffixes
 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 f9b96e1ff84f2f3f292fc13213f498417aded846..b9a3ff963445cb38effb0ca323f0d4ee94327e61 100644 (file)
@@ -127,6 +127,8 @@ The *umount* command will automatically detach loop device previously initialize
 
 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*.
+
 == EXIT STATUS
 
 *umount* has the following exit status values (the bits can be ORed):