From: Trond Myklebust <trond.myklebust@fys.uio.no>
To: Andrea Arcangeli <andrea@suse.de>
Cc: linux-kernel@vger.kernel.org
Subject: Re: nfs MAP_SHARED corruption fix
Date: 08 May 2001 17:21:02 +0200 [thread overview]
Message-ID: <shs3dafvpcx.fsf@charged.uio.no> (raw)
In-Reply-To: <20010508160050.F543@athlon.random>
In-Reply-To: Andrea Arcangeli's message of "Tue, 8 May 2001 16:00:50 +0200"
>>>>> " " == Andrea Arcangeli <andrea@suse.de> writes:
> This fixes corruption with MAP_SHARED on top of nfs filesystem
> in 2.4:
> --- 2.4.5pre1aa2/fs/nfs/write.c.~1~ Tue May 1 19:35:29 2001
> +++ 2.4.5pre1aa2/fs/nfs/write.c Tue May 8 02:04:15 2001
> @@ -1533,6 +1533,7 @@
> if (!inode && file)
> inode = file->f_dentry->d_inode;
> + filemap_fdatasync(inode->i_mapping);
> do {
> error = 0; if (wait)
Yech! Apart from the fact that this means you do a full fdatasync()
even when you are simply trying to flush out single pages,
nfs_sync_file() gets called all over the place including in areas
where we know we're already holding a page lock.
AFAICs this fix will clearly deadlock...
Could you instead detail exactly which corruption problem you are
trying to fix?
Cheers,
Trond
next prev parent reply other threads:[~2001-05-08 15:22 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-05-08 14:00 nfs MAP_SHARED corruption fix Andrea Arcangeli
2001-05-08 15:21 ` Trond Myklebust [this message]
2001-05-08 15:38 ` Kurt Garloff
2001-05-09 7:30 ` Trond Myklebust
2001-05-09 13:25 ` Andrea Arcangeli
2001-05-09 22:02 ` Marcelo Tosatti
2001-05-10 0:08 ` Andrea Arcangeli
2001-05-09 22:38 ` Marcelo Tosatti
2001-05-10 1:16 ` Andrea Arcangeli
2001-05-10 0:00 ` Marcelo Tosatti
2001-05-10 10:11 ` Trond Myklebust
2001-05-10 10:14 ` Trond Myklebust
2001-05-09 2:48 ` Andrea Arcangeli
2001-05-09 7:00 ` Trond Myklebust
-- strict thread matches above, loose matches on Subject: below --
2001-05-09 10:55 Kurt Garloff
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=shs3dafvpcx.fsf@charged.uio.no \
--to=trond.myklebust@fys.uio.no \
--cc=andrea@suse.de \
--cc=linux-kernel@vger.kernel.org \
/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