From: Aaron Straus <aaron@merfinllc.com>
To: chucklever@gmail.com
Cc: Neil Brown <neilb@suse.de>,
Linux NFS Mailing List <linux-nfs@vger.kernel.org>,
Trond Myklebust <trond.myklebust@fys.uio.no>,
LKML Kernel <linux-kernel@vger.kernel.org>
Subject: Re: [NFS] blocks of zeros (NULLs) in NFS files in kernels >= 2.6.20
Date: Mon, 8 Sep 2008 15:02:22 -0700 [thread overview]
Message-ID: <20080908220222.GA15261@merfinllc.com> (raw)
In-Reply-To: <76bd70e30809081415h6b55a8dfl8171634c576ac946@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1535 bytes --]
Hi Chuck,
On Sep 08 05:15 PM, Chuck Lever wrote:
> This seems to correspond with the strace logs, which show that you
> stopped the bad run before it generated more writes.
Yes. Sorry. I stopped the writer once the reader saw the NULL bytes.
> Normally this isn't a big deal, as NFS likes applications to serialize
> access to shared files. However, in this case we expect the .flush()
> to force all dirty bytes out at once, and this is definitely not
> occurring....
>
> The third thing is that I don't see any flush or fsync system calls in
> the strace logs, even though the writer.py script invokes fp.flush().
> I'm not terribly familiar with Python's flush(). How do you expect
> the flush() method to work?
I think fp.flush() in Python is equivalent to fflush() i.e. it only
flushes the stdio buffer. It doesn't actually call fsync or fdatasync
or anything like that.
We can pretty easily change the Python code to use the syscall
write()/etc methods.
> I wonder why the client is using FILE_SYNC writes and not
> UNSTABLE+COMMIT. Are the clients using the "sync" mount option? I
> don't see O_SYNC on the open.
I've exported them on the server as sync e.g. in exports:
/export 192.168.0.0/24(rw,sync)
However I don't give any special options when mounting e.e. on the
client:
mount machine:/export mntpnt
Anyway thanks for looking at this and let me know if I can do anything
else!
=a=
--
===================
Aaron Straus
aaron@merfinllc.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 191 bytes --]
next prev parent reply other threads:[~2008-09-08 22:02 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-05 19:19 blocks of zeros (NULLs) in NFS files in kernels >= 2.6.20 Aaron Straus
2008-09-05 19:56 ` [NFS] " Chuck Lever
2008-09-05 20:04 ` Aaron Straus
2008-09-05 20:36 ` Bernd Eckenfels
2008-09-05 20:36 ` Chuck Lever
2008-09-05 22:14 ` Aaron Straus
2008-09-06 0:03 ` Aaron Straus
2008-09-08 19:02 ` Aaron Straus
2008-09-08 21:15 ` Chuck Lever
2008-09-08 22:02 ` Aaron Straus [this message]
2008-09-09 19:46 ` Aaron Straus
2008-09-11 16:55 ` Chuck Lever
2008-09-11 17:19 ` Aaron Straus
2008-09-11 17:48 ` Chuck Lever
2008-09-11 18:49 ` Aaron Straus
2008-09-22 16:05 ` Hans-Peter Jansen
2008-09-22 16:35 ` Trond Myklebust
2008-09-22 17:04 ` Aaron Straus
2008-09-22 17:26 ` Chuck Lever
2008-09-22 17:37 ` Aaron Straus
2008-09-22 17:29 ` Trond Myklebust
2008-09-22 17:45 ` Aaron Straus
2008-09-22 18:43 ` Aaron Straus
2008-09-22 18:45 ` Hans-Peter Jansen
2008-09-22 18:45 ` Hans-Peter Jansen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080908220222.GA15261@merfinllc.com \
--to=aaron@merfinllc.com \
--cc=chucklever@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=neilb@suse.de \
--cc=trond.myklebust@fys.uio.no \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox