diff options
Diffstat (limited to 'fs/nfs')
| -rw-r--r-- | fs/nfs/inode.c | 3 | ||||
| -rw-r--r-- | fs/nfs/nfs3proc.c | 3 | ||||
| -rw-r--r-- | fs/nfs/nfs4proc.c | 5 | ||||
| -rw-r--r-- | fs/nfs/proc.c | 3 |
4 files changed, 9 insertions, 5 deletions
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c index 6f00086e340f..81db25e92e10 100644 --- a/fs/nfs/inode.c +++ b/fs/nfs/inode.c | |||
| @@ -38,6 +38,7 @@ | |||
| 38 | #include <linux/nfs_xdr.h> | 38 | #include <linux/nfs_xdr.h> |
| 39 | #include <linux/slab.h> | 39 | #include <linux/slab.h> |
| 40 | #include <linux/compat.h> | 40 | #include <linux/compat.h> |
| 41 | #include <linux/freezer.h> | ||
| 41 | 42 | ||
| 42 | #include <asm/system.h> | 43 | #include <asm/system.h> |
| 43 | #include <asm/uaccess.h> | 44 | #include <asm/uaccess.h> |
| @@ -77,7 +78,7 @@ int nfs_wait_bit_killable(void *word) | |||
| 77 | { | 78 | { |
| 78 | if (fatal_signal_pending(current)) | 79 | if (fatal_signal_pending(current)) |
| 79 | return -ERESTARTSYS; | 80 | return -ERESTARTSYS; |
| 80 | schedule(); | 81 | freezable_schedule(); |
| 81 | return 0; | 82 | return 0; |
| 82 | } | 83 | } |
| 83 | 84 | ||
diff --git a/fs/nfs/nfs3proc.c b/fs/nfs/nfs3proc.c index d4bc9ed91748..91943953a370 100644 --- a/fs/nfs/nfs3proc.c +++ b/fs/nfs/nfs3proc.c | |||
| @@ -17,6 +17,7 @@ | |||
| 17 | #include <linux/nfs_page.h> | 17 | #include <linux/nfs_page.h> |
| 18 | #include <linux/lockd/bind.h> | 18 | #include <linux/lockd/bind.h> |
| 19 | #include <linux/nfs_mount.h> | 19 | #include <linux/nfs_mount.h> |
| 20 | #include <linux/freezer.h> | ||
| 20 | 21 | ||
| 21 | #include "iostat.h" | 22 | #include "iostat.h" |
| 22 | #include "internal.h" | 23 | #include "internal.h" |
| @@ -32,7 +33,7 @@ nfs3_rpc_wrapper(struct rpc_clnt *clnt, struct rpc_message *msg, int flags) | |||
| 32 | res = rpc_call_sync(clnt, msg, flags); | 33 | res = rpc_call_sync(clnt, msg, flags); |
| 33 | if (res != -EJUKEBOX && res != -EKEYEXPIRED) | 34 | if (res != -EJUKEBOX && res != -EKEYEXPIRED) |
| 34 | break; | 35 | break; |
| 35 | schedule_timeout_killable(NFS_JUKEBOX_RETRY_TIME); | 36 | freezable_schedule_timeout_killable(NFS_JUKEBOX_RETRY_TIME); |
| 36 | res = -ERESTARTSYS; | 37 | res = -ERESTARTSYS; |
| 37 | } while (!fatal_signal_pending(current)); | 38 | } while (!fatal_signal_pending(current)); |
| 38 | return res; | 39 | return res; |
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index d9f4d78c3413..dcda0ba7af60 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c | |||
| @@ -55,6 +55,7 @@ | |||
| 55 | #include <linux/sunrpc/bc_xprt.h> | 55 | #include <linux/sunrpc/bc_xprt.h> |
| 56 | #include <linux/xattr.h> | 56 | #include <linux/xattr.h> |
| 57 | #include <linux/utsname.h> | 57 | #include <linux/utsname.h> |
| 58 | #include <linux/freezer.h> | ||
| 58 | 59 | ||
| 59 | #include "nfs4_fs.h" | 60 | #include "nfs4_fs.h" |
| 60 | #include "delegation.h" | 61 | #include "delegation.h" |
| @@ -243,7 +244,7 @@ static int nfs4_delay(struct rpc_clnt *clnt, long *timeout) | |||
| 243 | *timeout = NFS4_POLL_RETRY_MIN; | 244 | *timeout = NFS4_POLL_RETRY_MIN; |
| 244 | if (*timeout > NFS4_POLL_RETRY_MAX) | 245 | if (*timeout > NFS4_POLL_RETRY_MAX) |
| 245 | *timeout = NFS4_POLL_RETRY_MAX; | 246 | *timeout = NFS4_POLL_RETRY_MAX; |
| 246 | schedule_timeout_killable(*timeout); | 247 | freezable_schedule_timeout_killable(*timeout); |
| 247 | if (fatal_signal_pending(current)) | 248 | if (fatal_signal_pending(current)) |
| 248 | res = -ERESTARTSYS; | 249 | res = -ERESTARTSYS; |
| 249 | *timeout <<= 1; | 250 | *timeout <<= 1; |
| @@ -3958,7 +3959,7 @@ int nfs4_proc_delegreturn(struct inode *inode, struct rpc_cred *cred, const nfs4 | |||
| 3958 | static unsigned long | 3959 | static unsigned long |
| 3959 | nfs4_set_lock_task_retry(unsigned long timeout) | 3960 | nfs4_set_lock_task_retry(unsigned long timeout) |
| 3960 | { | 3961 | { |
| 3961 | schedule_timeout_killable(timeout); | 3962 | freezable_schedule_timeout_killable(timeout); |
| 3962 | timeout <<= 1; | 3963 | timeout <<= 1; |
| 3963 | if (timeout > NFS4_LOCK_MAXTIMEOUT) | 3964 | if (timeout > NFS4_LOCK_MAXTIMEOUT) |
| 3964 | return NFS4_LOCK_MAXTIMEOUT; | 3965 | return NFS4_LOCK_MAXTIMEOUT; |
diff --git a/fs/nfs/proc.c b/fs/nfs/proc.c index f48125da198a..0c672588fe5a 100644 --- a/fs/nfs/proc.c +++ b/fs/nfs/proc.c | |||
| @@ -41,6 +41,7 @@ | |||
| 41 | #include <linux/nfs_fs.h> | 41 | #include <linux/nfs_fs.h> |
| 42 | #include <linux/nfs_page.h> | 42 | #include <linux/nfs_page.h> |
| 43 | #include <linux/lockd/bind.h> | 43 | #include <linux/lockd/bind.h> |
| 44 | #include <linux/freezer.h> | ||
| 44 | #include "internal.h" | 45 | #include "internal.h" |
| 45 | 46 | ||
| 46 | #define NFSDBG_FACILITY NFSDBG_PROC | 47 | #define NFSDBG_FACILITY NFSDBG_PROC |
| @@ -59,7 +60,7 @@ nfs_rpc_wrapper(struct rpc_clnt *clnt, struct rpc_message *msg, int flags) | |||
| 59 | res = rpc_call_sync(clnt, msg, flags); | 60 | res = rpc_call_sync(clnt, msg, flags); |
| 60 | if (res != -EKEYEXPIRED) | 61 | if (res != -EKEYEXPIRED) |
| 61 | break; | 62 | break; |
| 62 | schedule_timeout_killable(NFS_JUKEBOX_RETRY_TIME); | 63 | freezable_schedule_timeout_killable(NFS_JUKEBOX_RETRY_TIME); |
| 63 | res = -ERESTARTSYS; | 64 | res = -ERESTARTSYS; |
| 64 | } while (!fatal_signal_pending(current)); | 65 | } while (!fatal_signal_pending(current)); |
| 65 | return res; | 66 | return res; |
