Bug 15341

Summary: pumount не может размонтировать дважды смонтированное устройство
Product: Sisyphus Reporter: Michael A. Kangin <mak>
Component: pmountAssignee: Afanasov Dmitry <ender>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P2 CC: ender
Version: unstable   
Hardware: all   
OS: Linux   

Description Michael A. Kangin 2008-04-13 15:11:50 MSD
Если устройство смонтированно дважды (например, при монтировании через subfs: 
/dev/sdc1 /media/usbdisk-vfat subfs rw 0 0
/dev/sdc1 /media/usbdisk-vfat vfat
rw,fmask=0022,dmask=0022,codepage=cp866,iocharset=koi8-r 0 0
) pumount не в состоянии размонтировать его.
Steps to Reproduce:
1. Монтируем устройство через subfs:
# dbus-send --system --print-reply --dest=org.freedesktop.Hal
"/org/freedesktop/Hal/devices/volume_uuid_4787_A18D"
org.freedesktop.Hal.Device.Volume.Mount string:usbdisk-vfat string:subfs
array:string:

2. Смотрим, оно смонтированно один раз:
# grep sdc1 /proc/mounts
/dev/sdc1 /media/usbdisk-vfat subfs rw,nosuid,nodev 0 0

3. Делаем обращение к смонтированному ресурсу, смотрим, сколько раз
смонтированно и пытаемся отмонтировать его:
$ ls usbdisk-vfat/blablabla; grep sdc1 /proc/mounts; pumount usbdisk-vfat/
ls: usbdisk-vfat/blablabla: Нет такого файла или каталога
/dev/sdc1 /media/usbdisk-vfat subfs rw,nosuid,nodev 0 0
/dev/sdc1 /media/usbdisk-vfat vfat
rw,nosuid,nodev,fmask=0022,dmask=0022,codepage=cp866,iocharset=koi8-r 0 0
$ echo $?
0
pumount возвращает нулевой код возврата, но устройство всё еще смонтировано:
$ grep sdc1 /proc/mounts;
/dev/sdc1 /media/usbdisk-vfat subfs rw,nosuid,nodev 0 0

4. Последующие попытки отмонтировать ресурс терпят неудачу:
$ pumount usbdisk-vfat/
umount: /dev/sdc1: not mounted
Ошибка: отсоединение неудалось

5. А umount от рута без проблем:
# umount usbdisk-vfat/
# grep sdc1 /proc/mounts;
#        


Expected Results:  
Без предварительного обращения к устройству pumount размонтирует его без
проблем. так должно быть всегда.
# dbus-send --system --print-reply --dest=org.freedesktop.Hal
"/org/freedesktop/Hal/devices/volume_uuid_4787_A18D"
org.freedesktop.Hal.Device.Volume.Mount string:usbdisk-vfat string:subfs
array:string:
$ grep sdc1 /proc/mounts;
/dev/sdc1 /media/usbdisk-vfat subfs rw,nosuid,nodev 0 0
$ pumount usbdisk-vfat/
$ grep sdc1 /proc/mounts;
$
Comment 1 Mikhail Gusarov 2008-06-13 13:00:39 MSD