Date: Thu, 10 Nov 2005 07:55:08 -0700 From: Scott Long <scottl@samsco.org> To: Poul-Henning Kamp <phk@phk.freebsd.dk> Cc: Doug White <dwhite@FreeBSD.org>, cvs-src@FreeBSD.org, src-committers@FreeBSD.org, Doug White <dwhite@gumbysoft.com>, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/kern vfs_subr.c src/sys/fs/devfs devfs_vnops.c Message-ID: <43735F4C.7070307@samsco.org> In-Reply-To: <5761.1131632514@critter.freebsd.dk> References: <5761.1131632514@critter.freebsd.dk>
next in thread | previous in thread | raw e-mail | index | archive | help
Poul-Henning Kamp wrote: > In message <437351BB.6000103@samsco.org>, Scott Long writes: > > >>Putting the cookie into the dirent means either changing the size of the >>dirent struct and breaking the userland ABI (almost as bad as changing >>the size of stat, but not quite), or making a 'kdirent' struct and then >>manually shifting and copying it to a dirent struct. > > > Not really that bad. > > My idea was to make a > struct kdirent { > struct dirent foo; > cookie stuff bar; > } > > Filesystems would call vfs_read_dirent() with a struct kdirent and > depending on the userland/kernel flag in the uio vfs_read_dirent() > would copy either the entire kdirent or only the userspace dirent. > > > >>What I really think this is is a ploy by PHK to get someone motivated to >>fix it for him ;-) > > > I'm generally in favour of people doing work so I don't have to but > in this particular case that was not the motivation :-) > > (At least you can't prove anything!) > > Poul-Henning > I still don't see how this is supposed to work. VOP_READDIR() doesn't return the dirent array to the caller, it's directly copied to the user buffer. Scott
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?43735F4C.7070307>