Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Nov 2020 17:35:20 +0000
From:      Graham Perrin <grahamperrin@gmail.com>
To:        freebsd-current@freebsd.org
Subject:   zpool export: umount failed, device inexplicably busy (lsof found nothing)
Message-ID:  <b7d3cc4b-7e32-c365-57ad-eee86b449dce@gmail.com>
In-Reply-To: <4125dad7-b1ea-bf20-4996-6a138ff202eb@gmail.com>
References:  <a4e3b895-78d2-4b0a-1cb1-477f35bc437c@gmail.com> <4125dad7-b1ea-bf20-4996-6a138ff202eb@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 11/10/2020 11:21, Graham Perrin wrote:
>
> On 06/10/2020 21:29, Graham Perrin wrote:
>> lsof finds no open file.
>>
>> How else might I tell why the device is busy?
>>
>> Mobile hard disk drive, USB.
>
> The same problem this morning,
>
> ----
>
> root@momh167-gjp4-8570p:~ # zpool export Transcend
> cannot unmount '/Volumes/t500': umount failed
> root@momh167-gjp4-8570p:~ # lsof /Volumes/t500/
> lsof: WARNING: device cache mismatch: /dev/usb/0.5.2
> lsof: WARNING: /root/.lsof_momh167-gjp4-8570p was updated.
> root@momh167-gjp4-8570p:~ # lsof /Volumes/t500/
> root@momh167-gjp4-8570p:~ # usbconfig -d 0.5 dump_all_desc
> ugen0.5: <SMSC USB5534> at usbus0, cfg=0 md=HOST spd=SUPER (5.0Gbps) 
> pwr=SAVE (0mA)
>
>   bLength = 0x0012
>   bDescriptorType = 0x0001
>   bcdUSB = 0x0300
>   bDeviceClass = 0x0009  <HUB>
>   bDeviceSubClass = 0x0000
>   bDeviceProtocol = 0x0003
>   bMaxPacketSize0 = 0x0009
>   idVendor = 0x0424
>   idProduct = 0x5434
>   bcdDevice = 0x3082
>   iManufacturer = 0x0002  <SMSC>
>   iProduct = 0x0003  <USB5534>
>   iSerialNumber = 0x0001  <1239567>
>   bNumConfigurations = 0x0001
>
>  Configuration index 0
>
>     bLength = 0x0009
>     bDescriptorType = 0x0002
>     wTotalLength = 0x001f
>     bNumInterfaces = 0x0001
>     bConfigurationValue = 0x0001
>     iConfiguration = 0x0000  <no string>
>     bmAttributes = 0x00e0
>     bMaxPower = 0x0000
>
>     Interface 0
>       bLength = 0x0009
>       bDescriptorType = 0x0004
>       bInterfaceNumber = 0x0000
>       bAlternateSetting = 0x0000
>       bNumEndpoints = 0x0001
>       bInterfaceClass = 0x0009  <HUB>
>       bInterfaceSubClass = 0x0000
>       bInterfaceProtocol = 0x0000
>       iInterface = 0x0000  <no string>
>
>      Endpoint 0
>         bLength = 0x0007
>         bDescriptorType = 0x0005
>         bEndpointAddress = 0x0081  <IN>
>         bmAttributes = 0x0013  <INTERRUPT>
>         wMaxPacketSize = 0x0002
>         bInterval = 0x0008
>         bRefresh = 0x0000
>         bSynchAddress = 0x0000
>
>       Additional Descriptor
>
>       bLength = 0x06
>       bDescriptorType = 0x30
>       bDescriptorSubType = 0x00
>        RAW dump:
>        0x00 | 0x06, 0x30, 0x00, 0x00, 0x02, 0x00
>
>
>
>
> root@momh167-gjp4-8570p:~ # zpool export Transcend
> cannot unmount '/Volumes/t500': umount failed
> root@momh167-gjp4-8570p:~ # umount /Volumes/t500
> umount: unmount of /Volumes/t500 failed: Device busy
> root@momh167-gjp4-8570p:~ # lsof /Volumes/t500/
> root@momh167-gjp4-8570p:~ #
>
> ----
>
> When this last occurred, I could export the pool after signing out 
> from KDE.
>
The problem seemed to be consistently reproducible but (fingers crossed) 
no problem yesterday or today.

Previously: most often using OpenZFS in base.

Now using OpenZFS from ports, with r367936.

If the problem recurs: is it _ever_ sane to get nothing listed by lsof 
for a volume that can not be unmounted?




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?b7d3cc4b-7e32-c365-57ad-eee86b449dce>