Date: Thu, 30 Apr 2015 15:36:30 -0400 (EDT) From: Rick Macklem <rmacklem@uoguelph.ca> To: John Baldwin <jhb@freebsd.org> Cc: Jilles Tjoelker <jilles@stack.nl>, freebsd-current@freebsd.org, Julian Elischer <julian@freebsd.org> Subject: Re: readdir/telldir/seekdir problem (i think) Message-ID: <1844541998.29139476.1430422590565.JavaMail.root@uoguelph.ca> In-Reply-To: <1581090.ihgbrSavJc@ralph.baldwin.cx>
next in thread | previous in thread | raw e-mail | index | archive | help
John Baldwin wrote: > On Thursday, April 30, 2015 02:56:25 PM Julian Elischer wrote: > > We really need to do something because the current system is really > > broken. > > And the fact that dirent has *32 bit* inode number in it was a > > shock.. I'd presumed > > that had gone the way of the dinosaurs and dodo. > > I think 11 needs to have a new dirent structure given out by a new > > syscall. > > (old one still present for compat reasons). Whether we need a > > readdir64() and friends > > I have not yet decided. Maybe it's time to bump libc's number again > > :-) > > This is the entire point of the ino64 branch (and project): to > rototill > struct stat and related structures so we have one ABI jump instead of > lots of separate ABI jumps. It bumps ino_t to 64 bits, dev_t to 32 > (IIRC), > adds d_off to dirent, etc. I believe the branch is able to do it all > with > symbol versioning rather than bumping libc. However, this is why > several of > us keep harping on this as the real long-term solution. :) > Yep. Btw, some of the stuff I did for the 64bit d_fileno patch I have isn't in projects/ino64 because they felt it could go in after the main patch. I haven't looked at how the new getdirentries() syscall + opendir() and friends actually need to change to use d_off/d_cookie yet, but will do so. (Btw, some like d_cookie since they feel it is more representative of what it is while others prefer d_off because that is what others used. I, personally, couldn't care less what it ends up being called.) I will admit to having some concern w.r.t. progress on this. Last I heard Gleb Kurtsou didn't have time to work on it and he's the main author (from 2011, if I recall correctly). I agree we really need to figure out how to get this in FreeBSD11. rick ps: With a naming change of dirent->dirent64, my patch could go into head before projects/ino64, since all that happens is the the high order 32bits of d_fileno == 0 until projects/ino64 goes in. If others think it appropriate, I can do that. > -- > John Baldwin > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to > "freebsd-current-unsubscribe@freebsd.org" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1844541998.29139476.1430422590565.JavaMail.root>