> 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

Reply via email to