Bug 1020304 - blkdeactivate loops when specific device name is used
blkdeactivate loops when specific device name is used
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: lvm2 (Show other bugs)
6.6
Unspecified Unspecified
high Severity medium
: rc
: ---
Assigned To: Peter Rajnoha
Cluster QE
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-10-17 08:19 EDT by Nenad Peric
Modified: 2013-11-21 18:29 EST (History)
10 users (show)

See Also:
Fixed In Version: lvm2-2.02.100-7.el6
Doc Type: Bug Fix
Doc Text:
The blkdeactivate script iterates over the list of devices if they're given as an argument and it tries to unmount/deactivate them one by one. However, this iteration failed to proceed if any of the umount/deactivation was unsuccessful. As a result of this bug, the same device was tried again and again, causing an endless loop, never proceeding to the next device given. This has been fixed and if blkdeactivate fails to unmount/deactivate any of the devices given as an argument, the processing of the device is properly skipped and blkdeactivate proceeds with processing the next device given.
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-11-21 18:29:32 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Nenad Peric 2013-10-17 08:19:10 EDT
Description of problem:

If blkdeactivate is used with a specific device name which happens to be in use, it gets stuck in an infinite loop. 

Version-Release number of selected component (if applicable):

lvm2-2.02.100-6.el6

How reproducible:

Everytime

Steps to Reproduce:

run blkdeactivate with a specific device which is currently being used:

blkdeactivate -u /dev/mirror_sanity/lvol0 
Deactivating block devices:
  [UMOUNT]: unmounting mirror_sanity-lvol0 (dm-2) mounted on /mnt/tests... skipping
  [UMOUNT]: unmounting mirror_sanity-lvol0 (dm-2) mounted on /mnt/tests... skipping
  [UMOUNT]: unmounting mirror_sanity-lvol0 (dm-2) mounted on /mnt/tests... skipping
  [UMOUNT]: unmounting mirror_sanity-lvol0 (dm-2) mounted on /mnt/tests... skipping
  [UMOUNT]: unmounting mirror_sanity-lvol0 (dm-2) mounted on /mnt/tests... skipping
  [UMOUNT]: unmounting mirror_sanity-lvol0 (dm-2) mounted on /mnt/tests... skipping
  [UMOUNT]: unmounting mirror_sanity-lvol0 (dm-2) mounted on /mnt/tests... skipping
  [UMOUNT]: unmounting mirror_sanity-lvol0 (dm-2) mounted on /mnt/tests... skipping
  [UMOUNT]: unmounting mirror_sanity-lvol0 (dm-2) mounted on /mnt/tests... skipping
.
.
.


Expected results:

Really SKIP after message said 'skipping' :)
Comment 6 Nenad Peric 2013-10-24 05:07:34 EDT
[root@virt-008 other1]# blkdeactivate -e -u /dev/vg/lvol0 
Deactivating block devices:
  [UMOUNT]: unmounting vg-lvol0 (dm-5) mounted on /mnt/other1... umount: /mnt/other1: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
skipping
[root@virt-008 other1]# 


Verified with:

lvm2-2.02.100-7.el6.x86_64
Comment 7 errata-xmlrpc 2013-11-21 18:29:32 EST
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2013-1704.html

Note You need to log in before you can comment on or make changes to this bug.