[Ocfs2-devel] report BUG: io_uring triggers umount error

Joseph Qi jiangqi903 at gmail.com
Fri Feb 24 07:52:33 UTC 2023



On 2/24/23 3:48 PM, Heming Zhao via Ocfs2-devel wrote:
> On 2/24/23 2:54 PM, Joseph Qi wrote:
>> I can reproduce this in my local VM.
>> I've traced ocfs2_dismount_volume and found that it hasn't been called.
>> So EBUSY is returned in VFS layer. I guess something wrong when doing
>> a copy with linked SQEs (normal copy seems no problem).
>>
> 
> I am inclined to agree with you. I also test liburing examples apps
> on ext4 partition, everything looks fine.
> 
> I used below bpftrace method, the retval is '3'.
>  bpftrace -e 'kr:mnt_get_count{printf("%d\n", retval);}'
> 
> It responds to flow: path_umount() => do_umount => mnt_get_count (gets '3')
> 
Yes, that's the place return EBUSY.
So the problem seems to be getmnt/putmnt not match in this case.

Thanks,
Joseph

> 
>>
>> On 2/24/23 8:32 AM, Heming Zhao wrote:
>>> Hello List,
>>>
>>> I found a weird bug on ocfs2. I am busying with other jobs, if anyone have time
>>> he/she could fix it. This bug is blocking fstest generic/013 test case, and also
>>> blocking fstest to do later test cases.
>>>
>>> How to trigger:
>>> ```
>>> git clone git://git.kernel.dk/liburing.git
>>> cd liburing
>>> make
>>> cd examples
>>> mount -t ocfs2 /dev/sda /mnt
>>> cp /etc/hosts /mnt/a
>>> ./link-cp /mnt/a /mnt/b
>>> umount /mnt
>>> ```
>>>
>>> umount trigger error message:
>>> ```
>>> # umount /mnt
>>> umount: /mnt: target is busy.
>>> ```
>>>
>>> The umount error can only be triggered by liburing write operation.
>>>
>>> Thanks,
>>> Heming
> 
> 
> _______________________________________________
> Ocfs2-devel mailing list
> Ocfs2-devel at oss.oracle.com
> https://oss.oracle.com/mailman/listinfo/ocfs2-devel



More information about the Ocfs2-devel mailing list