--- a/fs/xfs/linux/xfs_syncd.c 2003-06-24 20:52:04.000000000 +0200 +++ b/fs/xfs/linux/xfs_syncd.c 2003-06-24 20:52:20.000000000 +0200 @@ -32,6 +32,8 @@ #include +#include + #define SYNCD_FLAGS (SYNC_FSDATA|SYNC_BDFLUSH|SYNC_ATTR) int syncd(void *arg) @@ -48,6 +50,9 @@ for (;;) { set_current_state(TASK_INTERRUPTIBLE); schedule_timeout(xfs_params.sync_interval); + /* swsusp */ + if (current->flags & PF_FREEZE) + refrigerator(PF_IOTHREAD); if (vfsp->vfs_flag & VFS_UMOUNT) break; if (vfsp->vfs_flag & VFS_RDONLY); --- a/fs/xfs/linux/xfs_super.c 2003-06-24 20:52:16.000000000 +0200 +++ b/fs/xfs/linux/xfs_super.c 2003-06-24 20:52:25.000000000 +0200 @@ -71,6 +71,7 @@ #include #include #include +#include STATIC struct quotactl_ops linvfs_qops; STATIC struct super_operations linvfs_sops; @@ -401,6 +402,9 @@ for (;;) { set_current_state(TASK_INTERRUPTIBLE); schedule_timeout(xfs_params.sync_interval); + /* swsusp */ + if (current->flags & PF_FREEZE) + refrigerator(PF_IOTHREAD); if (vfsp->vfs_flag & VFS_UMOUNT) break; if (vfsp->vfs_flag & VFS_RDONLY)