partx information not cleared on loop device detach

Bug #1136781 reported by Scott Moser
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Confirmed
Undecided
Unassigned

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

Tags: cscc raring
Scott Moser (smoser)
affects: ubuntu → linux (Ubuntu)
Revision history for this message
Brad Figg (brad-figg) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 1136781

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
tags: added: raring
Scott Moser (smoser)
description: updated
description: updated
Scott Moser (smoser)
description: updated
Revision history for this message
Scott Moser (smoser) wrote :

uname -r output is attached, further information is not necessary. Moving this out of 'incomplete'

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Mikowhy Hondzynsky (mikhon) wrote :

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

Brad Figg (brad-figg)
tags: added: cscc
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.