Re: readdir/telldir/seekdir problem (i think)

From: Rick Macklem <rmacklem_at_uoguelph.ca>
Date: Thu, 30 Apr 2015 15:36:30 -0400 (EDT)
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_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to
> "freebsd-current-unsubscribe_at_freebsd.org"
> 
Received on Thu Apr 30 2015 - 17:37:02 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:57 UTC