From: Christoph Hellwig <hch@infradead.org>
To: Andrea Arcangeli <andrea@suse.de>
Cc: linux-kernel@vger.kernel.org, lord@sgi.com
Subject: Re: 2.4.20pre5aa1
Date: Thu, 5 Sep 2002 20:15:30 +0100 [thread overview]
Message-ID: <20020905201530.A12457@infradead.org> (raw)
In-Reply-To: <20020905190600.GH1657@dualathlon.random>; from andrea@suse.de on Thu, Sep 05, 2002 at 09:06:00PM +0200
On Thu, Sep 05, 2002 at 09:06:00PM +0200, Andrea Arcangeli wrote:
> On Thu, Sep 05, 2002 at 07:48:24PM +0100, Christoph Hellwig wrote:
> > On Thu, Sep 05, 2002 at 08:41:25PM +0200, Andrea Arcangeli wrote:
> > > other fs, if you're not holding the i_sem (and you certainly aren't
> > > holding the i_sem that frequently, you don't even for writes).
> >
> > Except of O_DIRECT writes we _do_ hold i_sem, btw.
>
> can't you end with this?
>
> O_DIRECT write
> write finishes
> truncate drops the write
> truncate set i_sem to 0
> write set i_sem to something
s/i_sem/i_size/g ?
> and the fs is then corrupt? (very minor corruption of course and
> extremely hard to trigger, trivially solvable by an fsck, ext[23] had
> similar issues too with the get_block failures with < PAGE_SIZE
> softblocksize, fixed around 2.4.19, that was certainly easier to
> reproduce btw)
Won't happen:
O_DIRECT write starts
+ takes XFS iolock exclusive
- invalidates pagecache
+ downgrades iolock to shared
- perform write
xfs_setattr for truncate called
+ takes XFS iolock shared
-> blocks
- write i_size to something
+ releases iolock
-> gets woken
next prev parent reply other threads:[~2002-09-05 19:10 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-09-04 23:35 2.4.20pre5aa1 Andrea Arcangeli
2002-09-04 23:56 ` 2.4.20pre5aa1 Andrew Morton
2002-09-05 0:25 ` 2.4.20pre5aa1 Andrea Arcangeli
2002-09-05 12:44 ` 2.4.20pre5aa1 Christoph Hellwig
2002-09-05 16:53 ` 2.4.20pre5aa1 Andrea Arcangeli
2002-09-05 17:09 ` 2.4.20pre5aa1 Christoph Hellwig
2002-09-05 18:41 ` 2.4.20pre5aa1 Andrea Arcangeli
2002-09-05 18:46 ` 2.4.20pre5aa1 Christoph Hellwig
2002-09-05 18:59 ` 2.4.20pre5aa1 Andrea Arcangeli
2002-09-05 19:02 ` 2.4.20pre5aa1 Christoph Hellwig
2002-09-05 19:13 ` 2.4.20pre5aa1 Andrea Arcangeli
2002-09-05 19:17 ` 2.4.20pre5aa1 Christoph Hellwig
2002-09-05 18:48 ` 2.4.20pre5aa1 Christoph Hellwig
2002-09-05 19:06 ` 2.4.20pre5aa1 Andrea Arcangeli
2002-09-05 19:15 ` Christoph Hellwig [this message]
2002-09-05 19:26 ` 2.4.20pre5aa1 Christoph Hellwig
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=20020905201530.A12457@infradead.org \
--to=hch@infradead.org \
--cc=andrea@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=lord@sgi.com \
/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
Powered by JetHome