Bug 2154705

Summary: cant eject usb because device is busy
Product: [Fedora] Fedora Reporter: Mars <csiterallat>
Component: udisks2Assignee: Tomáš Bžatek <tbzatek>
Status: NEW --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 37CC: gnome-sig, tbzatek, vtrefny
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Mars 2022-12-18 19:26:27 UTC
Description of problem:


I cant eject my usb driver because device is busy.
The following processes running, and I get an error message when I try to safety remove.

/usr/libexec/udisks2/udisksd                # 6 process
/usr/libexec/gvfs/udisks2-volume-monitor    # 4 process

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

Up to date Fedora 37.
Usb 3.1 drive with exfat.
exfatprogs:  1.2.0


How reproducible:

I dont know. Its a 128GB usb drive. I can mount, and can move/copy files.
but currently:


Nautilus: 
 - Only "Eject" option:
Unable to eject: 
Error ejecting /dev/sdb: Command-line `eject '/dev/sdb'' exited with non-zero exit status 1: eject: cannot open /dev/sdb: Device or resource busy.

/dev/sdb1 not mounted. When I click to usb drive again, mount to /run/media/my_user/Drive_NAME


Disks:
 - "Eject this disk": Error ejecting /dev/sdb: Command-line `eject'/dev/sdb'' exited with non-zero exit status 1: eject: cannot open /dev/sdb: Device or resource busy (udisks-error-quark, 0)

I mount again.

 - "Power of the disk": Error powering off drive
Error opening /dev/sdb for fsync: Device or resource busy (udisks-error-quark, 0)



Actual results:


Umount success, but Nautilus does not say: remove is fafety.
When I click again to eject, drop: Error ejecting.


Expected results:

Safety remove. driver


Additional info:

Usb drive is an exfat.
I moved and delet some large and small files from this device.
My device is healthy.
I check it with fsck.exfat, and show no error:

sudo fsck.exfat /dev/sdb1
exfatprogs version : 1.2.0
/dev/sdb1: clean. directories 3070, files 24516


udisksctl power-off -b /dev/sdb1
Error powering off drive: Error opening /dev/sdb for fsync: Device or resource busy (udisks-error-quark, 0)

udisksctl power-off -b /dev/sdb
Error powering off drive: Error opening /dev/sdb for fsync: Device or resource busy (udisks-error-quark, 0)


lsblk 
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0 465,8G  0 disk 
├─sda1   8:1    0   150M  0 part /boot/efi
├─sda2   8:2    0   512M  0 part /boot
├─sda3   8:3    0 457,1G  0 part /
└─sda4   8:4    0     8G  0 part [SWAP]
sdb      8:16   1 117,9G  0 disk 
└─sdb1   8:17   1 117,9G  0 part 
sr0     11:0    1  1024M  0 rom  
zram0  252:0    0     8G  0 disk [SWAP]

mount
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=4096k,nr_inodes=1048576,mode=755,inode64)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel,inode64)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,size=3257464k,nr_inodes=819200,mode=755,inode64)
cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,seclabel,nsdelegate,memory_recursiveprot)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime,seclabel)
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
bpf on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
/dev/sda3 on / type ext4 (rw,relatime,seclabel)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,nosuid,noexec,relatime)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=35,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=1668)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel,pagesize=2M)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime,seclabel)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime,seclabel)
tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime,seclabel)
fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)
configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,seclabel,size=8143656k,nr_inodes=1048576,inode64)
/dev/sda2 on /boot type ext4 (rw,relatime,seclabel)
/dev/sda1 on /boot/efi type vfat (rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=winnt,errors=remount-ro)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=1628728k,nr_inodes=407182,mode=700,uid=1000,gid=1000,inode64)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
portal on /run/user/1000/doc type fuse.portal (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)

Comment 1 Mars 2022-12-18 19:32:35 UTC
I remove my usb after umount, but busy.

I pluged it again.

Currently mount as sdc instead of sdb.

lsblk 
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0 465,8G  0 disk 
├─sda1   8:1    0   150M  0 part /boot/efi
├─sda2   8:2    0   512M  0 part /boot
├─sda3   8:3    0 457,1G  0 part /
└─sda4   8:4    0     8G  0 part [SWAP]
sdc      8:32   1 117,9G  0 disk 
└─sdc1   8:33   1 117,9G  0 part /run/media/xxxx/XXXXXX
sr0     11:0    1  1024M  0 rom  
zram0  252:0    0     8G  0 disk [SWAP]

Comment 2 Mars 2022-12-18 19:45:07 UTC
I see nothing useful in journal:

  // This is just the umount success?
dec 18 20:30:02 wagner kernel: usb 3-1: USB disconnect, device number 2
dec 18 20:30:02 wagner systemd-homed[778]: block device /sys/devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.0/host4/target4:0:0/4:0:0:0/block/sdb/sdb1 has been removed.
dec 18 20:30:02 wagner systemd-homed[778]: block device /sys/devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.0/host4/target4:0:0/4:0:0:0/block/sdb has been removed.
dec 18 20:30:07 wagner kernel: usb 3-1: new SuperSpeed USB device number 3 using xhci_hcd
dec 18 20:30:07 wagner kernel: usb 3-1: New USB device found, idVendor=0781, idProduct=558b, bcdDevice= 1.00
dec 18 20:30:07 wagner kernel: usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
dec 18 20:30:07 wagner kernel: usb 3-1: Product: Extreme
dec 18 20:30:07 wagner kernel: usb 3-1: Manufacturer: SanDisk
dec 18 20:30:07 wagner kernel: usb 3-1: SerialNumber: 4C530001210403115364
dec 18 20:30:07 wagner kernel: usb-storage 3-1:1.0: USB Mass Storage device detected
dec 18 20:30:07 wagner kernel: scsi host5: usb-storage 3-1:1.0
dec 18 20:30:07 wagner mtp-probe[165245]: checking bus 3, device 3: "/sys/devices/pci0000:00/0000:00:14.0/usb3/3-1"
dec 18 20:30:07 wagner mtp-probe[165245]: bus: 3, device: 3 was not an MTP device
dec 18 20:30:07 wagner mtp-probe[165246]: checking bus 3, device 3: "/sys/devices/pci0000:00/0000:00:14.0/usb3/3-1"
dec 18 20:30:07 wagner mtp-probe[165246]: bus: 3, device: 3 was not an MTP device
dec 18 20:30:08 wagner kernel: scsi 5:0:0:0: Direct-Access     SanDisk  Extreme          1.00 PQ: 0 ANSI: 6
dec 18 20:30:08 wagner kernel: sd 5:0:0:0: Attached scsi generic sg2 type 0
  // Replug and mount as sdc.
dec 18 20:30:08 wagner kernel: sd 5:0:0:0: [sdc] 247201792 512-byte logical blocks: (127 GB/118 GiB)
dec 18 20:30:08 wagner kernel: sd 5:0:0:0: [sdc] Write Protect is off
dec 18 20:30:08 wagner kernel: sd 5:0:0:0: [sdc] Mode Sense: 43 00 00 00
dec 18 20:30:08 wagner kernel: sd 5:0:0:0: [sdc] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
dec 18 20:30:08 wagner kernel:  sdc: sdc1
dec 18 20:30:08 wagner kernel: sd 5:0:0:0: [sdc] Attached SCSI removable disk
dec 18 20:30:09 wagner kernel: exFAT-fs (sdc1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
dec 18 20:30:09 wagner udisksd[789]: Mounted /dev/sdc1 at /run/media/mars/TYRANDE127 on behalf of uid 1000

Comment 3 Tomáš Bžatek 2023-06-29 12:33:58 UTC
(In reply to Mars from comment #2)
> dec 18 20:30:02 wagner systemd-homed[778]: block device
> /sys/devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.0/host4/target4:0:0/4:0:
> 0:0/block/sdb/sdb1 has been removed.
> dec 18 20:30:02 wagner systemd-homed[778]: block device
> /sys/devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.0/host4/target4:0:0/4:0:
> 0:0/block/sdb has been removed.

These look suspicious.

Can you check output of `lsof` to see if there's anything blocking the mount? You'd likely get the same error message with manual `umount` command.