diff options
author | Christof Schmitt <christof.schmitt@us.ibm.com> | 2013-06-05 17:08:03 -0700 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2013-06-06 04:30:26 +0200 |
commit | 7d8354c719fa620a580f6d7d322ca80185c50c7e (patch) | |
tree | bd17fdb9c8bf3f79dcf27083f5df0d56cbe510a4 /source3 | |
parent | 1a6eac2c37f4d80033e450731bd36a9af4b2bd1d (diff) | |
download | samba-7d8354c719fa620a580f6d7d322ca80185c50c7e.tar.gz samba-7d8354c719fa620a580f6d7d322ca80185c50c7e.tar.bz2 samba-7d8354c719fa620a580f6d7d322ca80185c50c7e.zip |
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 <christof.schmitt@us.ibm.com>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Thu Jun 6 04:30:26 CEST 2013 on sn-devel-104
Diffstat (limited to 'source3')
-rw-r--r-- | source3/smbd/dosmode.c | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/source3/smbd/dosmode.c b/source3/smbd/dosmode.c index 04d27c7a2e..a6ad107a01 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))); } } } |