*** This bug is a duplicate of bug 899717 ***
    https://bugs.launchpad.net/bugs/899717

If you are going to create loop device with partitions you should use losetup 
-P.
Then all partitions will be removed with losetup -d.

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1136781

Title:
  partx information not cleared on loop device detach

Status in linux package in Ubuntu:
  Confirmed

Bug description:
  It seems the kernel doesn't clear /proc/partitions information
  completely on detach of a loop device.

  See the following:

  DEVLOOP="/dev/loop5"
  PT_IMG="/tmp/partitioned.img"
  UNPT_IMG="/tmp/unpartitioned.img"
  DEVLOOPB=${DEVLOOP##*/}

  ### Just show that loop device had no prior state ##
  % ls -l $DEVLOOP*; echo "#/proc/partitions"; grep $DEVLOOPB /proc/partitions
  brw-rw---- 1 root disk 7, 5 Mar  1 01:40 /dev/loop5
  --/proc/partitions--
  % losetup --show $DEVLOOP
  loop: can't get info on device /dev/loop5: No such device or address

  ### create an image file, put a partition table on it, losetup ###
  % rm -f $UNPT_IMG; truncate --size 1G $PT_IMG
  % echo "1,1" | sfdisk $PT_IMG >/dev/null 2>&1 ; echo $? # its just noisy
  % losetup $DEVLOOP $PT_IMG

  ### no knowledge of this partition table yet ###
  % ls -l $DEVLOOP*; echo "--/proc/partitions--"; grep $DEVLOOPB 
/proc/partitions
  brw-rw---- 1 root disk 7, 5 Mar  1 01:47 /dev/loop5
  --/proc/partitions--
     7        5    1048576 loop5

  ### tell the kernel about partition table ###
  % partx --update $DEVLOOP

  ### See its there now ###
  % ls -l $DEVLOOP*; echo "--/proc/partitions--"; grep $DEVLOOPB 
/proc/partitions
  brw-rw---- 1 root disk   7, 5 Mar  1 01:47 /dev/loop5
  brw-rw---- 1 root disk 259, 0 Mar  1 01:48 /dev/loop5p1
  --/proc/partitions--
     7        5    1048576 loop5
   259        0       8032 loop5p1

  ### get rid of it and show its really gone ###
  % losetup --detach $DEVLOOP
  % ls -l $DEVLOOP*; echo "--/proc/partitions--"; grep $DEVLOOPB 
/proc/partitions
  brw-rw---- 1 root disk   7, 5 Mar  1 01:49 /dev/loop5
  brw-rw---- 1 root disk 259, 0 Mar  1 01:48 /dev/loop5p1
  --/proc/partitions--
  % losetup --show $DEVLOOP
  loop: can't get info on device /dev/loop5: No such device or address

  ### create a new image file with no partition table ###
  % rm -f $UNPT_IMG; truncate --size 1G $UNPT_IMG

  ### Set it up ###
  % losetup $DEVLOOP $UNPT_IMG

  ### What?? it has a partition table on it ? ###
  % ls -l $DEVLOOP*; echo "--/proc/partitions--"; grep $DEVLOOPB 
/proc/partitions
  brw-rw---- 1 root disk   7, 5 Mar  1 01:51 /dev/loop5
  brw-rw---- 1 root disk 259, 0 Mar  1 01:48 /dev/loop5p1
  --/proc/partitions--
     7        5    1048576 loop5
   259        0       8032 loop5p1

  ### unfortunately, clearing the partition table isn't as easy as just having
  ### partx -update do it ###
  % partx --update $DEVLOOP
  partx: /dev/loop5: failed to read partition table
  % delpart /dev/loop5 1

  
  % uname -r
  3.8.0-6-generic
  % dpkg -S /boot/vmlinuz-$(uname -r)
  linux-image-3.8.0-6-generic: /boot/vmlinuz-3.8.0-6-generic

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1136781/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to