Date: Wed, 12 Dec 2001 14:21:54 +0100 From: Willem van Engen <wvengen@stack.nl> To: "Andrew Gallatin" <gallatin@cs.duke.edu> Cc: freebsd-emulation@freebsd.org Subject: Re: flexlm: works with linux_base-6, fails with linux_base-7 Message-ID: <20011212142154.2fcf4740.wvengen@stack.nl> In-Reply-To: <15382.23861.710621.118157@grasshopper.cs.duke.edu> References: <20011210115204.6ddde325.wvengen@stack.nl> <15382.5752.295875.987980@grasshopper.cs.duke.edu> <20011211184131.0425b1fd.wvengen@stack.nl> <15382.23861.710621.118157@grasshopper.cs.duke.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 11 Dec 2001 14:23:33 -0500 (EST) "Andrew Gallatin" <gallatin@cs.duke.edu> wrote: > > Willem van Engen writes: > > > So this is a fcntl64(fd, F_SETLK, {0,0,0,F_WRLCK,SEEK_CUR}). > > When I look at it with linux_base-6, the same arguments are used. > > At the moment I have no clue. > > I don't see anything obvious either. Are you sure that the > bsd_flock contains the same thing in the linux_base-6 case? Acutally no, there is a difference. I got lost in printf %[l][l]x stuff. linux_base-7: linux(2810): fcntl64(4, 00000006, *) > fcntl_bsd(4, F_SETLK, flock) > bsd.l_start = 0, lin.l_start = 0 > bsd.l_len = bfbff15000000000, lin.l_len = bfbff15000000000 > bsd.l_pid= 280cbc80, lin.l_pid = 280cbc80 > bsd.l_type= 3, lin.l_type = 1 > bsd.l_whence= 1, lin.l_whence = 1 linux_base-6: linux(2801): fcntl(4, 00000006, *) > fcntl_bsd(4, F_SETLK, flock) > bsd.l_start = 0, lin.l_start = 0 > bsd.l_len = 0, lin.l_len = 0 > bsd.l_pid= 0, lin.l_pid = 0 > bsd.l_type= 3, lin.l_type = 1 > bsd.l_whence= 1, lin.l_whence = 1 > If so, there might be some other difference that's causing the > fnctl to fail. > > The next thing I'd do is to set a ddb breakpoint in linux_fcntl64 & > step through its call to fcntl(). Or just instrument the F_SETLK path > of fcntl, but that mgith lead to too many printfs. I did some kernel debugging, and iirc the error 22 occured in /sys/kern/kern_descrip.c line 324 at VOP_ADVLOCK. But I'm not entirely sure and currently I have problems with symbols tables and remote kgdb, so I can't check it now. Anyway, if you see anything, great, but it's getting time-consuming so I'll investigate it further at a later time. Thanks for your help so far :) - Willem > > Cheers, > > Drew To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-emulation" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011212142154.2fcf4740.wvengen>