Skip site navigation (1)Skip section navigation (2)
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>