Prevent nfsds for blocking trying to write to a frozen filesystem
or a filesystem in the process of freezing.
Cheers,
Dave.
--
Dave Chinner
Principal Engineer
SGI Australian Software Group
---
fs/xfs/linux-2.6/xfs_lrw.c | 4 ++++
1 file changed, 4 insertions(+)
Index: 2.6.x-xfs-new/fs/xfs/linux-2.6/xfs_lrw.c
===================================================================
--- 2.6.x-xfs-new.orig/fs/xfs/linux-2.6/xfs_lrw.c 2007-03-29
19:03:30.000000000 +1000
+++ 2.6.x-xfs-new/fs/xfs/linux-2.6/xfs_lrw.c 2007-03-29 19:08:06.262169809
+1000
@@ -684,6 +684,10 @@ xfs_write(
io = &xip->i_iocore;
mp = io->io_mount;
+ if (FILP_DELAY_FLAG(file) && vfs_test_for_freeze(vp->v_vfsp)) {
+ /* so nfsd can return EJUKEBOX to clients during a freeze */
+ return -EAGAIN;
+ }
vfs_wait_for_freeze(vp->v_vfsp, SB_FREEZE_WRITE);
if (XFS_FORCED_SHUTDOWN(mp))
|