Re: Stackable file systems and NFS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Aug 16, 2012 at 10:29 PM, Rajat Sharma <fs.rajat@xxxxxxxxx> wrote:
> So is it truncating the file? i.e.
>
> # ping > /nfs/somefile
No appending ping >>/nfs/somefile


>
> On Thu, Aug 16, 2012 at 2:46 PM, Ranjan Sinha <rnjn.sinha@xxxxxxxxx> wrote:
>> On Thu, Aug 16, 2012 at 1:33 PM, Rajat Sharma <fs.rajat@xxxxxxxxx> wrote:
>>> What is the pattern other NFS client is writing to the file? Can't it
>>> be a legitimate NUL by any chance?
>>
>> Redirected output of ping.
>>
>>
>>>
>>> On Thu, Aug 16, 2012 at 1:22 PM, Ranjan Sinha <rnjn.sinha@xxxxxxxxx> wrote:
>>>> On Thu, Aug 16, 2012 at 1:00 PM, Rajat Sharma <fs.rajat@xxxxxxxxx> wrote:
>>>>> Correct me if I am reading something wrong, in your program listing,
>>>>> while printing the buffer you are passing a total_count variable,
>>>>> while vfs_read returned value is collected in count variable.
>>>>>
>>>>> debug_dump("Read buffer", buf, total_count);
>>>>
>>>> My apologies. Please read that as count only. A typo in the listing.
>>>>
>>>>>
>>>>> One suggestion, please fill up buf with some fixed known pattern
>>>>> before vfs_read.
>>>>
>>>> I tried that as well. It still comes out as ASCII NUL.
>>>>
>>>>>
>>>>>> We have also noticed that the expected increase (inc) and the size
>>>>> returned in (vfs_read()) is different.
>>>>>
>>>>> There is nothing which is blocking updates to file size between
>>>>> vfs_getattr() and vfs_read(), right? no locking?
>>>>
>>>> No locking. On second thoughts I think this is ok since more data could be
>>>> available between the calls to vfs_getattr and vfs_read as the other NFS client
>>>> is continuously writing to that file.
>>>>
>>>> --
>>>> Ranjan
>>>>
>>>>
>>>>>
>>>>> -Rajat
>>>>>
>>>>> On Thu, Aug 16, 2012 at 12:01 PM, Ranjan Sinha <rnjn.sinha@xxxxxxxxx> wrote:
>>>>>> Hi,
>>>>>>
>>>>>> On Tue, Aug 14, 2012 at 4:19 PM, Rajat Sharma <fs.rajat@xxxxxxxxx> wrote:
>>>>>>> Try mounting with noac nfs mount option to disable attribute caching.
>>>>>>>
>>>>>>> ac / noac
>>>>>>>
>>>>>>> "Selects whether the client may cache file attributes. If neither
>>>>>>> option is specified (or if ac is specified), the client caches file
>>>>>>> attributes."
>>>>>>
>>>>>> i don't think this is because of attribute caching. The size does change and
>>>>>> that is why we go to the read call (think of this is a simplified case of
>>>>>> tail -f). The only problem is that sometimes when we read we get ASCII NUL bytes
>>>>>> at the end. If we read the same block again, we get the correct data.
>>>>>>
>>>>>> In addition, we cannot force specific mount options in actual deployment
>>>>>> scenarios.
>>>>>>
>>>>>>
>>>>>> <edit>
>>>>>>
>>>>>>>> On Tue, Aug 14, 2012 at 5:10 PM, Ranjan Sinha <rnjn.sinha@xxxxxxxxx> wrote:
>>>>>>>> > For now, /etc/export file has the following setting
>>>>>>>> > *(rw,sync,no_root_squash)
>>>>>>>>
>>>>>>>> hm, AFAIK that means synchronous method is selected. So,
>>>>>>>> theoritically, if there is no further data, the other end of NFS
>>>>>>>> should just wait.
>>>>>>>>
>>>>>>>> Are you using blocking or non blocking read, btw? Sorry, i am not
>>>>>>>> really that good reading VFS code...
>>>>>>>>
>>>>>>
>>>>>> This is a blocking read call. I think this is not because there is no data,
>>>>>> rather somehow the updated data is not present in the VM buffers but the
>>>>>> inode size has changed. As I just said, if we read the file again from the
>>>>>> exact same location, we get the actual contents. Though after going through the
>>>>>> code I don't understand how is this possible.
>>>>>>
>>>>>>>> > On client side we have not specified any options explicitly. This is
>>>>>>>> > from /proc/mounts entry
>>>>>>>> > >rw,vers=3,rsize=32768,wsize=32768,hard,proto=tcp,timeo=600,retrans=2,sec=sys
>>>>>>>>
>>>>>>>> hm, not sure, maybe in your case, read and write buffer should be
>>>>>>>> reduced so any new data should be transmitted ASAP. I was inspired by
>>>>>>>> bufferbloat handling, but maybe I am wrong here somewhere....
>>>>>>>>
>>>>>>
>>>>>> --
>>>>>> Regards,
>>>>>> Ranjan

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux