> If the test is executed on NFS, it may fail with:
> 
> /dev/loop0 on /tmpdir/tacl/mount-ext3 type ext3 (rw,acl,user_xattr)
> loop: can't delete device /dev/loop0: No such device or address
> rm: cannot remove `/tmpdir/tacl': Directory not empty
> loop: can't delete device /dev/loop0: No such device or address
> rm: cannot remove `/tmpdir/tacl/.nfs00000000000262fd00000115': Device or 
> resource busy
> 
> I suppose that this happens because of kernel commit:
> 
> commit a1ecac3b0656a68259927c234e505804d33a7b83
> Author: Dave Chinner <dchin...@redhat.com>
> Date:   Fri Sep 28 10:42:23 2012 +0200
> 
>     loop: Make explicit loop device destruction lazy
> 
> To cope with this test case failure I introduced a 'sync'.
> And 'losetup -d' seems to be unnecessary, because of 'umount -d' before it

Hmm, so we umount and detach a filesystem but fail to delete it on NFS
because somebody else (presumbly udev) keeps the refcount there?

If that was the the problem the detach would have failed with EBUSSY
previously and the test would fail to delete the file anyway.

I do not fully understand why we need to do the sync there. The kernel
has changed not to report error on detach when somebody else keeps
working with the loop device and sets AUTOCLEAR flag that detaches the
loop device on last closed filedescriptor that references it. Does NFS
keep special file descriptor that prevents the loop device from being
detached?

-- 
Cyril Hrubis
chru...@suse.cz

------------------------------------------------------------------------------
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to