From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sergey Suleymanov Subject: Re: Samba and kernel oplocks Date: 29 Aug 2002 10:21:50 +0400 Sender: linux-msdos-owner@vger.kernel.org Message-ID: <87sn0ydw1t.fsf@eatpbank.ru> References: <1030488939.18055.19.camel@ralph.plexio.private> <02082810141600.00982@anderson.cdc.net> Mime-Version: 1.0 Return-path: In-Reply-To: <02082810141600.00982@anderson.cdc.net> List-Id: Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Linux-MSDOS Mailing list >>>>> Anderson Pereira Ataides writes: Anderson> I thing problem is not only samba because nfs also have Anderson> problem. I have two Linux workstations and when I lock Anderson> record in one of them, the other one can't see this lock. Anderson> Like you I'm waiting for a solution to this problem. Well, I'm just try locks with samba, and it seems work. oplocks = no in smb.conf and this hack to mfs.c --- src/dosext/mfs/mfs.c.orig Thu Aug 29 10:09:33 2002 +++ src/dosext/mfs/mfs.c Thu Aug 29 10:08:31 2002 @@ -3823,11 +3823,16 @@ the top two bits are set. Shift the top ones by two bits. This still allows OLE2 apps to operate, but should stop lockd from dieing */ +#if 0 if ((larg.l_start & mask) != 0) larg.l_start = (larg.l_start & ~mask) | ((larg.l_start & mask) >> 2); +#else + larg.l_start &= 0x7fffffff; +#endif ret = fcntl (fd,F_SETLK,&larg); Debug0((dbg_fd, "lock fd=%x rc=%x type=%x whence=%x start=%lx, len=%lx\n", fd, ret, larg.l_type, larg.l_whence, larg.l_start,larg.l_len)); + if (ret == -1) SETWORD(&(state->eax), ACCESS_DENIED); return ret != -1 ? TRUE : FALSE; } break; I don't understand that bit magic, maybe this won't work with nfs or something else. -- Sergey Suleymanov