Hello

How are user processes supposed to find an unused fss device?
In dump(8) code,  there is an iteration on /dev/rfss* trying to
performan an ioctl FSSIOCSET. The code tests for EBUSY on failure,
but in my experience that struggles to happen: if the device is 
already in use, the ioctl will sleep in the kernel for ages before 
getting a reply.

This is something I can even experience with fssconfig -l, which 
hangs for a while if dump is running.

Is there another way? I thought about searching vnode in kernel to 
check if the device is already used by someone else, but that looks 
overkill. 

Perhaps the right way is to add a FSSIOBUSY ioctl that would
use mutex_tryenter and return EBUSY if the device is in use?

-- 
Emmanuel Dreyfus
m...@netbsd.org

Reply via email to