Re: [LTP] statvfs -> f_bavail

From: Michal Simek
Date: Mon Apr 20 2009 - 02:42:31 EST


Al Viro wrote:
> On Mon, Apr 20, 2009 at 08:16:50AM +0200, Michal Simek wrote:
>
>> Nate Straz wrote:
>>
>>> On Apr 17 11:12, Michal Simek wrote:
>>>
>>>
>>>>> don't you know what is the description of f_bavail in struct statvfs?
>>>>> On my system I am getting zero for this entry that's why fsync02 failed.
>>>>>
>>>>>
>>>>>
>>>> I track down where the problem comes from.
>>>> There is problem for all fs which use simple_statfs function from
>>>> fs/libfs.c.
>>>> In open.c in vfs_statfs function is whole structure set to zero and then
>>>> in simple_statfs not set this value.
>>>> I think we should fix it in ltp code.
>>>> Here is my proposed change. If is ok - I will generate proper patch.
>>>>
>>>>
>>> If the problem is in the kernel, then it should be fixed in the kernel.
>>> That's the whole point of LTP, pointing out problems in the kernel which
>>> need to be fixed. Patching LTP to work around f_bavail not being set
>>> correctly is not the right thing to do.
>>>
>>>
>> :-) And what about if is the kernel code ok? :-)
>> Then IMHO is the right time to fix LTP.
>>
>> The main question is if is or not.
>>
>> Hi guys from linux-fsdevel: Can you told us what is the right solution
>> for my problem above?
>>
>
> "Fields that are undefined for a particular file system are set to 0".
> So what kind of fs are you running that on and is that sucker really
> defined for it? Note that if it's ramfs or tmpfs with -o nr_blocks=0,
> there is no such thing as "amount of free space", reserved for root
> or not.
I use ramfs and nfs without any -o nr_block=0 option.
That mean that for all other fs is possible to set nr_blocks=0 (f_bavail=0) and for all this cases
fsync02 test failed. That mean that make sense to test f_bavail value in LTP and if is zero
don't work with it. Am I right?

Thanks,
Michal

# mount
rootfs on / type rootfs (rw)
proc on /proc type proc (rw)
none on /var type ramfs (rw)
none on /sys type sysfs (rw)
192.168.0.102:/tftpboot/nfs on /mnt type nfs
(rw,vers=3,rsize=32768,wsize=32768,namlen=255,hard,nointr,nolock,proto=tcp,timeo=70,retrans=3,sec=sys,addr=192.168.0.102)



--
Michal Simek, Ing. (M.Eng)
PetaLogix - Linux Solutions for a Reconfigurable World
w: www.petalogix.com p: +61-7-30090663,+42-0-721842854 f: +61-7-30090663

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/