Don't block nfsds when the filesystem is frozen. Requires the
nfsd to set the non-blocking flag on the filp.

Signed-off-by: Dave Chinner <dgc@sgi.com>
---
 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-11-22 10:25:26.274191061 +1100
+++ 2.6.x-xfs-new/fs/xfs/linux-2.6/xfs_lrw.c	2007-11-22 10:36:13.447496943 +1100
@@ -610,6 +610,10 @@ xfs_write(
 
 	mp = xip->i_mount;
 
+	if (FILP_DELAY_FLAG(file) && xfs_test_for_freeze(mp)) {
+		/* so nfsd can return EJUKEBOX to clients during a freeze */
+		return -EAGAIN;
+	}
 	xfs_wait_for_freeze(mp, SB_FREEZE_WRITE);
 
 	if (XFS_FORCED_SHUTDOWN(mp))
