> commit 5c7c3fb219957484db92111d423e4e2553fb580b removed initialization > of empty LTP_DEV from setup(), but it also caused that LTP_DEV > is no longer exported when it's initialized in set_block_device(). > > This causes every test to attempt to get loop device on its own, > which is not necessary and it also makes tests sporadically fail with EBUSY: > creat06 9 TBROK : tst_device.c:156: ioctl(/dev/loop1, LOOP_CLR_FD, > 0) failed: EBUSY > creat06 10 TBROK : tst_device.c:156: Remaining cases broken > > The cause of EBUSY is unknown. Cyril suggested it might be gvfsd-trash, > however I don't have such process and still get the failures sporadically.
The EBUSY I've seen was from umount() rather that from ioctl() and was caused by stat() from gvfsd-trash. I'm sure of it. In that case one of the testcases fails to umount the device as: acct01 0 TWARN : acct01.c:225: umount device:/dev/loop1 failed: errno=EBUSY(16): Device or resource busy I've never seen EBUSY from the ioctl() that removes the loop device, that looks like a kernel bug to me. > This patch restores behavior from ltp-20140828, where LTP_DEV is exported > and tst_acquire_device() will use that instead of trying to acquire/release > loopdev on its own. That wouldn't do because that breaks the exectuion when device was not passed to runltp. What about exporting it but only when it's non-empty? -- Cyril Hrubis [email protected] ------------------------------------------------------------------------------ New Year. New Location. New Benefits. New Data Center in Ashburn, VA. GigeNET is offering a free month of service with a new server in Ashburn. Choose from 2 high performing configs, both with 100TB of bandwidth. Higher redundancy.Lower latency.Increased capacity.Completely compliant. http://p.sf.net/sfu/gigenet _______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
