NFS Buffering
JD
jd1008 at gmail.com
Wed Sep 29 02:21:35 UTC 2010
On 09/28/2010 06:26 PM, Samuel Kidman wrote:
>
>
> On Tue, Sep 28, 2010 at 10:07 PM, Simon Andrews
> <simon.andrews at bbsrc.ac.uk <mailto:simon.andrews at bbsrc.ac.uk>> wrote:
>
> I have a fedora 13 box on which I have a remote mounted nfs share
> over a
> fairly slow (10Mb/s) link. I'm then transferring data onto this share
> from a different machine using scp.
>
> The problem is that after scp reports that it's 100% complete the
> program will hang for ~20 mins before it will move on to another file.
> At this point it can't be killed.
>
> It looks like the nfs daemon is caching write data (around 2GB of it)
> which lets scp think its finished when actually there's loads of data
> sitting in a write buffer. The hanging is presumably the time it
> takes
> to flush the buffer (there is a process called nfsiod which is active
> during this time and df shows data is still being written).
>
> Does anyone know how to either make this buffer smaller, or get rid of
> it all together so the scp can accruately report on its progress?
>
> Thanks
>
> Simon.
>
Hey! Simon,
you could also re-write scp to open the file descriptor with
O_SYNC to force all writes to be synchronous, and you will
obviate the need to call fsync().
More information about the users
mailing list