From 0c1ff3bb09e3fec82c11fc182d6a5a12494caea8 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Thu, 17 Dec 2009 18:31:44 -0800 Subject: [PATCH] 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. --- source3/smbd/error.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source3/smbd/error.c b/source3/smbd/error.c index 874efa2a0b3..279b7baff0c 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); } -- 2.34.1