diff options
author | Jeremy Allison <jra@samba.org> | 2009-12-17 18:31:44 -0800 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2009-12-17 18:31:44 -0800 |
commit | 0c1ff3bb09e3fec82c11fc182d6a5a12494caea8 (patch) | |
tree | 18bd7a1dce02d887642ce3874a24bfc45e7e6335 /source3 | |
parent | f8ab38a8f211a11c7b006ea7cfb19aee526e12a4 (diff) | |
download | samba-0c1ff3bb09e3fec82c11fc182d6a5a12494caea8.tar.gz samba-0c1ff3bb09e3fec82c11fc182d6a5a12494caea8.tar.bz2 samba-0c1ff3bb09e3fec82c11fc182d6a5a12494caea8.zip |
Always map EMFILE to ERRDOS, ERRnofids, *NOT* NT_STATUS_TOO_MANY_OPENED_FILES.
This is what W2KR3 does for NTCreateX and openX calls. May be the correct fix
for bug 6837 - "Too many open files" when trying to access large number of files.
Jeremy.
Diffstat (limited to 'source3')
-rw-r--r-- | source3/smbd/error.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/source3/smbd/error.c b/source3/smbd/error.c index 874efa2a0b..279b7baff0 100644 --- a/source3/smbd/error.c +++ b/source3/smbd/error.c @@ -132,6 +132,10 @@ void reply_openerror(struct smb_request *req, NTSTATUS status) */ reply_botherror(req, NT_STATUS_OBJECT_NAME_COLLISION, ERRDOS, ERRfilexists); + } else if (NT_STATUS_EQUAL(status, NT_STATUS_TOO_MANY_OPENED_FILES)) { + /* EMFILE always seems to be returned as a DOS error. + * See bug 6837. */ + reply_doserror(req, ERRDOS, ERRnofids); } else { reply_nterror(req, status); } |