kern/120869: [procfs] 'stat' shows that all files have 0-length when they are actually not empty

Robert Watson rwatson at FreeBSD.org
Thu Feb 21 09:36:05 UTC 2008


On Thu, 21 Feb 2008, Bruce Evans wrote:

> On Wed, 20 Feb 2008, Robert Watson wrote:
>
>> On Wed, 20 Feb 2008, remko at FreeBSD.org wrote:
>> 
>>> After a bit of discussion, this is not something which we are going to 
>>> fix. It is not worth the hassle. If you think this should be different, we 
>>> do welcome patches. Thanks fo rusing FreeBSD!
>> 
>> Just as two data points here: Solaris attempts to provide coherent file 
>> sizes in /proc (at least to the extent that tried a few for objects where 
>> it is remotely possible), and the Linux 2.6.12 kernel I have on a box 
>> locally basically doesn't.
>> 
>> My view is that it's a synthetic file system with data that varies 
>> dynamically at runtime, and that while it wouldn't hurt to produce file 
>> size information that's correct, it's quite a bit of work to do so and that 
>> I wouldn't prioritize it above other, more critical things that need to 
>> happen. We should certainly evaluate any patches that come in for possible 
>> inclusion, assuming they don't muck up the internals of procfs too much; 
>> it's not clear to me if they necessarily do so or not.
>
> The bug is mainly that stat() claims that the files are regular when they 
> highly irregular (they are more like fifos).  This confuses naive 
> applications into thinking that normal access methods for regular files 
> actually work.

I feel this way more generally about synthetic file systems with objects in 
them that don't correspond with any of the standard file system objects that 
applications known how to deal with.

Robert N M Watson
Computer Laboratory
University of Cambridge


More information about the freebsd-fs mailing list