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>
