All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steve Dickson <SteveD@RedHat.com>
To: Trond Myklebust <trond.myklebust@fys.uio.no>
Cc: nfs@lists.sourceforge.net, linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [NFS] [PATCH] mmap corruption
Date: Mon, 7 Apr 2003 10:00:52 -0400	[thread overview]
Message-ID: <20030407140052.GA1471@RedHat.com> (raw)
In-Reply-To: <16016.7633.982870.860147@charged.uio.no>

On Sun, Apr 06, 2003 at 02:30:09PM +0200, Trond Myklebust wrote:
> >>>>> " " == Steve Dickson <SteveD@RedHat.com> writes:
>      > /*
>      > * Every time either npages or ncommit had a value and the file
>      > size is
>      > * immediately changed (with in a microsecond or two) by another
>      > * truncation, followed by a mmap read, the file would be
>      > 	   corrupted.
>      > 	 */
>      > 	if (NFS_I(inode)->npages || NFS_I(inode)->ncommit ||
>      > 	NFS_I(inode)->ndirty) {
>      > 		printk("nfs_notify_change: fid %Ld npages %d ncommit
>      > 		%d ndirty %d\n", NFS_FILEID(inode),
>      > 		NFS_I(inode)->npages, ncommit, NFS_I(inode)->ndirty);
>      > 	}
>      > }
> 
> My point is that nfs_wb_all() is supposed to ensure that
> NFS_I(inode)->ncommit, and/or NFS_I(inode)->ndirty are both
> zero. i.e. you can have pending reads (in which case
> NFS_I(inode)->npages != 0), but *no* pending writes.
> 
> Was this the case?

OK, I understand your point.  And Yes, ndirty and ncommit 
always seem to be zero when nfs_wb_all() returns. Only
when npages != 0 is when I get the corruption.

I didn't realize that npages != 0 meant there are only pending 
reads *not* pending writes... Thanks for that clarification....

SteveD.

  reply	other threads:[~2003-04-07 14:00 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-04-04 19:20 [NFS] [PATCH] mmap corruption Steve Dickson
2003-04-04 22:01 ` Trond Myklebust
2003-04-04 22:01   ` [NFS] " Trond Myklebust
2003-04-05 16:47   ` Steve Dickson
2003-04-06 12:30     ` Trond Myklebust
2003-04-06 12:30       ` [NFS] " Trond Myklebust
2003-04-07 14:00       ` Steve Dickson [this message]
2003-04-07 14:56         ` Trond Myklebust
2003-04-07 17:39           ` Steve Dickson

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=20030407140052.GA1471@RedHat.com \
    --to=steved@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nfs@lists.sourceforge.net \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.