From 7d8354c719fa620a580f6d7d322ca80185c50c7e Mon Sep 17 00:00:00 2001 From: Christof Schmitt Date: Wed, 5 Jun 2013 17:08:03 -0700 Subject: [PATCH] smbd: Change logging when SET_OFFLINE is not supported A client can send a request to set the OFFLINE attribute. In the default code this is not supported and triggers a log message each time. Change this to only log with level 0 when an actual errors occurs, and log ENOTSUP with level 10. Signed-off-by: Christof Schmitt Reviewed-by: Andrew Bartlett Autobuild-User(master): Andrew Bartlett Autobuild-Date(master): Thu Jun 6 04:30:26 CEST 2013 on sn-devel-104 --- source3/smbd/dosmode.c | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/source3/smbd/dosmode.c b/source3/smbd/dosmode.c index 04d27c7a2eb..a6ad107a01e 100644 --- a/source3/smbd/dosmode.c +++ b/source3/smbd/dosmode.c @@ -732,16 +732,21 @@ int file_set_dosmode(connection_struct *conn, struct smb_filename *smb_fname, old_mode = dos_mode(conn, smb_fname); - if (dosmode & FILE_ATTRIBUTE_OFFLINE) { - if (!(old_mode & FILE_ATTRIBUTE_OFFLINE)) { - lret = SMB_VFS_SET_OFFLINE(conn, smb_fname); - if (lret == -1) { - DEBUG(0, ("set_dos_mode: client has asked to " - "set FILE_ATTRIBUTE_OFFLINE to " - "%s/%s but there was an error while " - "setting it or it is not " - "supported.\n", parent_dir, - smb_fname_str_dbg(smb_fname))); + if ((dosmode & FILE_ATTRIBUTE_OFFLINE) && + !(old_mode & FILE_ATTRIBUTE_OFFLINE)) { + lret = SMB_VFS_SET_OFFLINE(conn, smb_fname); + if (lret == -1) { + if (errno == ENOTSUP) { + DEBUG(10, ("Setting FILE_ATTRIBUTE_OFFLINE for " + "%s/%s is not supported.\n", + parent_dir, + smb_fname_str_dbg(smb_fname))); + } else { + DEBUG(0, ("An error occurred while setting " + "FILE_ATTRIBUTE_OFFLINE for " + "%s/%s: %s", parent_dir, + smb_fname_str_dbg(smb_fname), + strerror(errno))); } } } -- 2.11.4.GIT