summaryrefslogtreecommitdiffstats
path: root/fs/cifs
diff options
context:
space:
mode:
authorSachin Prabhu <sprabhu@redhat.com>2015-02-04 13:10:26 +0000
committerSteve French <smfrench@gmail.com>2015-03-21 10:56:22 -0500
commit2477bc58d49edb1c0baf59df7dc093dce682af2b (patch)
treef620d2798b5c5d2e35a2bdd3f0da9fc853a48561 /fs/cifs
parent90a5a895cc8b284ac522757a01de15e36710c2b9 (diff)
downloadlinux-stable-2477bc58d49edb1c0baf59df7dc093dce682af2b.tar.gz
linux-stable-2477bc58d49edb1c0baf59df7dc093dce682af2b.tar.bz2
linux-stable-2477bc58d49edb1c0baf59df7dc093dce682af2b.zip
cifs: smb2_clone_range() - exit on unhandled error
While attempting to clone a file on a samba server, we receive a STATUS_INVALID_DEVICE_REQUEST. This is mapped to -EOPNOTSUPP which isn't handled in smb2_clone_range(). We end up looping in the while loop making same call to the samba server over and over again. The proposed fix is to exit and return the error value when encountered with an unhandled error. Cc: <stable@vger.kernel.org> Signed-off-by: Sachin Prabhu <sprabhu@redhat.com> Signed-off-by: Steve French <steve.french@primarydata.com> Signed-off-by: Steve French <smfrench@gmail.com>
Diffstat (limited to 'fs/cifs')
-rw-r--r--fs/cifs/smb2ops.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/cifs/smb2ops.c b/fs/cifs/smb2ops.c
index 96b5d40a2ece..eab05e1aa587 100644
--- a/fs/cifs/smb2ops.c
+++ b/fs/cifs/smb2ops.c
@@ -684,7 +684,8 @@ smb2_clone_range(const unsigned int xid,
/* No need to change MaxChunks since already set to 1 */
chunk_sizes_updated = true;
- }
+ } else
+ goto cchunk_out;
}
cchunk_out: