Subject: Re: kern/30303: Unlocking already-unlocked file on smbfs returns EBUSY
To: None <gnats-bugs@NetBSD.org>
From: Jaromir Dolecek <jdolecek@NetBSD.org>
List: netbsd-bugs
Date: 06/12/2005 17:25:27
> This is apparently due to smb_maperror() in
> sys/netsmb/smb_subr.c mapping the ERRnotlocked returned by the SMB
> server to EBUSY, then that getting passed back up to flock()'s caller.
This is right :)
Can you try this patch?
Index: smb_subr.c
===================================================================
RCS file: /cvsroot/src/sys/netsmb/smb_subr.c,v
retrieving revision 1.21
diff -u -p -r1.21 smb_subr.c
--- smb_subr.c 26 Feb 2005 22:39:50 -0000 1.21
+++ smb_subr.c 12 Jun 2005 15:24:26 -0000
@@ -241,7 +241,8 @@ smb_maperror(int eclass, int eno)
case ERRquota:
return EDQUOT;
case ERRnotlocked:
- return EBUSY;
+ /* it's okay to try to unlock already unlocked file */
+ return 0;
case NT_STATUS_NOTIFY_ENUM_DIR:
return EMSGSIZE;
}
Jaromir
--
Jaromir Dolecek <jdolecek@NetBSD.org> http://www.NetBSD.cz/
-=- We can walk our road together if our goals are all the same; -=-
-=- We can run alone and free if we pursue a different aim. -=-