[1/1] NFSv4.2 fix unnecessary retry in nfs4_copy_file_range
diff mbox series

Message ID 20190108175532.2348-1-olga.kornievskaia@gmail.com
State New
Headers show
Series
  • [1/1] NFSv4.2 fix unnecessary retry in nfs4_copy_file_range
Related show

Commit Message

Olga Kornievskaia Jan. 8, 2019, 5:55 p.m. UTC
Currently nfs42_proc_copy_file_range() can not return EAGAIN.

Fixes: e4648aa4f98a ("NFS recover from destination server reboot for copies")
Signed-off-by: Olga Kornievskaia <kolga@netapp.com>
---
 fs/nfs/nfs4file.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

Comments

Schumaker, Anna Jan. 11, 2019, 7:04 p.m. UTC | #1
Hi Olga,

On Tue, 2019-01-08 at 12:55 -0500, Olga Kornievskaia wrote:
> Currently nfs42_proc_copy_file_range() can not return EAGAIN.
> 
> Fixes: e4648aa4f98a ("NFS recover from destination server reboot for copies")
> Signed-off-by: Olga Kornievskaia <kolga@netapp.com>
> ---
>  fs/nfs/nfs4file.c | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
> 
> diff --git a/fs/nfs/nfs4file.c b/fs/nfs/nfs4file.c
> index 46d691b..81554af 100644
> --- a/fs/nfs/nfs4file.c
> +++ b/fs/nfs/nfs4file.c
> @@ -137,11 +137,7 @@ static ssize_t nfs4_copy_file_range(struct file *file_in,
> loff_t pos_in,
>  
>  	if (file_inode(file_in) == file_inode(file_out))
>  		return -EINVAL;
> -retry:
> -	ret = nfs42_proc_copy(file_in, pos_in, file_out, pos_out, count);
> -	if (ret == -EAGAIN)
> -		goto retry;
> -	return ret;
> +	return nfs42_proc_copy(file_in, pos_in, file_out, pos_out, count);

I think this is the only user of the variable "ret", so can you remove its
declaration at the top of this function too?

  CC [M]  fs/nfs/nfs4file.o
fs/nfs/nfs4file.c: In function ‘nfs4_copy_file_range’:
fs/nfs/nfs4file.c:136:10: error: unused variable ‘ret’ [-Werror=unused-variable]
  ssize_t ret;
          ^~~
cc1: all warnings being treated as errors

Thanks,
Anna

>  }
>  
>  static loff_t nfs4_file_llseek(struct file *filep, loff_t offset, int whence)

Patch
diff mbox series

diff --git a/fs/nfs/nfs4file.c b/fs/nfs/nfs4file.c
index 46d691b..81554af 100644
--- a/fs/nfs/nfs4file.c
+++ b/fs/nfs/nfs4file.c
@@ -137,11 +137,7 @@  static ssize_t nfs4_copy_file_range(struct file *file_in, loff_t pos_in,
 
 	if (file_inode(file_in) == file_inode(file_out))
 		return -EINVAL;
-retry:
-	ret = nfs42_proc_copy(file_in, pos_in, file_out, pos_out, count);
-	if (ret == -EAGAIN)
-		goto retry;
-	return ret;
+	return nfs42_proc_copy(file_in, pos_in, file_out, pos_out, count);
 }
 
 static loff_t nfs4_file_llseek(struct file *filep, loff_t offset, int whence)