Date: Wed, 19 Sep 2007 10:54:05 +0200 From: Roman Divacky <rdivacky@freebsd.org> To: Boris Samorodov <bsam@ipt.ru> Cc: freebsd-emulation@freebsd.org, sam <samflanker@gmail.com> Subject: Re: linuxolator problem on i386 Message-ID: <20070919085405.GA24442@freebsd.org> In-Reply-To: <41596338@srv.sem.ipt.ru> References: <20070917152625.GA507@freebsd.org> <64815375@srv.sem.ipt.ru> <46EF62C5.5090704@gmail.com> <00483937@srv.sem.ipt.ru> <46EF7E05.5040405@gmail.com> <20070918074332.GA30053@freebsd.org> <88000019@srv.sem.ipt.ru> <20070918082119.GA30932@freebsd.org> <89768331@srv.sem.ipt.ru> <41596338@srv.sem.ipt.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
> It so happened that here we get a deal with magic (number). Let me > show you the broken behaviour one more time: > 14594 hlds_i686 CALL linux_getdents(0x6,0x8da5b44,0x1000) > 14594 hlds_i686 RET linux_getdents 4096/0x1000 > Look at the first linux_getdents() line. The third parameter (buffer > length?) equals to 0x1000 which is 4096. The second line with > linux_getdents shows that it has read precisely 4096 (bytes?). What if > we face here a (so called at our high school) border-case > (border-problem)? > > OK, the program reads the directory contents. Lets touch a new file > at this directory. What does happen? Follow me: > 14579 hlds_i686 CALL linux_getdents(0x6,0x8da574c,0x1000) > 14579 hlds_i686 RET linux_getdents 4084/0xff4 > That's it! <loud long applauses> > > Roman, I hope now you may create the needed patch. > As for me I'm too tied (and too proud :-) ) today and 'm going to have > a little sleep. I am sorry but I dont understand at all.. what are you trying to show? whats wrong with returning 4084?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070919085405.GA24442>