Thread (12 messages) flat view 12 messages, 3 authors, 2012-08-17

Stackable file systems and NFS

From: Ranjan Sinha <hidden>
Date: 2012-08-16 06:31:54

Hi,

On Tue, Aug 14, 2012 at 4:19 PM, Rajat Sharma [off-list ref] 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>
quoted
On Tue, Aug 14, 2012 at 5:10 PM, Ranjan Sinha [off-list ref] wrote:
quoted
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.
quoted
quoted
On client side we have not specified any options explicitly. This is
from /proc/mounts entry
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help