> 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