Fix smb2.lock.rw-shared with async I/O enabled

Volker Lendecke Volker.Lendecke at SerNet.DE
Fri Jul 13 04:44:48 MDT 2012


Hi!

Attached find a patch for $SUBJECT. Someone who feels
familiar with the SMB2 server please comment/ack/push it.

Thanks,

Volker

-- 
SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
phone: +49-551-370000-0, fax: +49-551-370000-9
AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen
http://www.sernet.de, mailto:kontakt at sernet.de
-------------- next part --------------
From e5f367f5f94e0a01ea0071746401a40c1f05c584 Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl at samba.org>
Date: Fri, 13 Jul 2012 08:38:07 +0200
Subject: [PATCH] s3: Make us survive smb2.lock.rw-shared with aio enabled

schedule_aio_smb2_write can return NT_STATUS_FILE_LOCK_CONFLICT.
This is a valid error code that smb2.lock.rw-shared expects and
checks for. The code before this patch maps this to NT_STATUS_FILE_CLOSED,
masking the real, correct error message.
---
 source3/smbd/smb2_write.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/source3/smbd/smb2_write.c b/source3/smbd/smb2_write.c
index 8ddd8cc..6a78939 100644
--- a/source3/smbd/smb2_write.c
+++ b/source3/smbd/smb2_write.c
@@ -318,7 +318,7 @@ static struct tevent_req *smbd_smb2_write_send(TALLOC_CTX *mem_ctx,
 
 	if (!NT_STATUS_EQUAL(status, NT_STATUS_RETRY)) {
 		/* Real error in setting up aio. Fail. */
-		tevent_req_nterror(req, NT_STATUS_FILE_CLOSED);
+		tevent_req_nterror(req, status);
 		return tevent_req_post(req, ev);
 	}
 
-- 
1.7.0.4



More information about the samba-technical mailing list