Re: [PATCH][SMB3] limit noisy error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 4/20/2021 12:27 AM, Steve French wrote:
For servers which don't support copy_range (SMB3 CopyChunk), the
logging of:
  CIFS: VFS: \\server\share refcpy ioctl error -95 getting resume key
can fill the client logs and make debugging real problems more
difficult.  Change the -EOPNOTSUPP on copy_range to a "warn once"

Making this a warn_once will suppress the future message for all
tcon's, won't it? Is it possible to use a bit in the tcon to track
this instead? That might be a closer match to the scope of the
message.

Tom.

Signed-off-by: Steve French <stfrench@xxxxxxxxxxxxx>
---
  fs/cifs/smb2ops.c | 5 ++++-
  1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/fs/cifs/smb2ops.c b/fs/cifs/smb2ops.c
index 5ccc36d98dad..dd0eb665b680 100644
--- a/fs/cifs/smb2ops.c
+++ b/fs/cifs/smb2ops.c
@@ -1567,7 +1567,10 @@ SMB2_request_res_key(const unsigned int xid,
struct cifs_tcon *tcon,
   NULL, 0 /* no input */, CIFSMaxBufSize,
   (char **)&res_key, &ret_data_len);

- if (rc) {
+ if (rc == -EOPNOTSUPP) {
+ pr_warn_once("Server share %s does not support copy range\n", tcon->treeName);
+ goto req_res_keyFor servers which don't support copy_range (SMB3
CopyChunk), the
logging of:
  CIFS: VFS: \\server\share refcpy ioctl error -95 getting resume key
can fill the client logs and make debugging real problems more
difficult.  Change the -EOPNOTSUPP on copy_range to a "warn once"

Signed-off-by: Steve French <stfrench@xxxxxxxxxxxxx>
---
  fs/cifs/smb2ops.c | 5 ++++-
  1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/fs/cifs/smb2ops.c b/fs/cifs/smb2ops.c
index 5ccc36d98dad..dd0eb665b680 100644
--- a/fs/cifs/smb2ops.c
+++ b/fs/cifs/smb2ops.c
@@ -1567,7 +1567,10 @@ SMB2_request_res_key(const unsigned int xid,
struct cifs_tcon *tcon,
   NULL, 0 /* no input */, CIFSMaxBufSize,
   (char **)&res_key, &ret_data_len);

- if (rc) {
+ if (rc == -EOPNOTSUPP) {
+ pr_warn_once("Server share %s does not support copy range\n", tcon->treeName);
+ goto req_res_key_exit;
+ } else if (rc) {
   cifs_tcon_dbg(VFS, "refcpy ioctl error %d getting resume key\n", rc);
   goto req_res_key_exit;
   }_exit;
+ } else if (rc) {
   cifs_tcon_dbg(VFS, "refcpy ioctl error %d getting resume key\n", rc);
   goto req_res_key_exit;
   }




[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux