Originated from #81.
To allow a clean unmount of the file system on client nodes where processes are blocked in BeeGFS I/O due to server-side services that cannot be recovered quickly, it is proposed to add a forced client disconnect mechanism.
When triggered (for example via echo 1 > /proc/fs/beegfs/*/force_disconnect), the client would immediately fail all outstanding and new BeeGFS operations with an I/O error, allowing blocked processes to exit D-state and the file system to be unmounted cleanly.
One argument against this is there are timeouts in BeeGFS already which should eventually unblock processes. However in some scenarios this can take 10 minutes (by default), which is a long time to wait.
Originated from #81.
To allow a clean unmount of the file system on client nodes where processes are blocked in BeeGFS I/O due to server-side services that cannot be recovered quickly, it is proposed to add a forced client disconnect mechanism.
When triggered (for example via
echo 1 > /proc/fs/beegfs/*/force_disconnect), the client would immediately fail all outstanding and new BeeGFS operations with an I/O error, allowing blocked processes to exit D-state and the file system to be unmounted cleanly.One argument against this is there are timeouts in BeeGFS already which should eventually unblock processes. However in some scenarios this can take 10 minutes (by default), which is a long time to wait.