浏览代码

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>
Sachin Prabhu 10 年之前
父节点
当前提交
2477bc58d4
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      fs/cifs/smb2ops.c

+ 2 - 1
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 */
 			/* No need to change MaxChunks since already set to 1 */
 			chunk_sizes_updated = true;
 			chunk_sizes_updated = true;
-		}
+		} else
+			goto cchunk_out;
 	}
 	}
 
 
 cchunk_out:
 cchunk_out: