All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chris Mason <mason@suse.com>
To: Nikita Danilov <Nikita@Namesys.COM>
Cc: Michael Gaughen <mgaughen@polyserve.com>, reiserfs-list@namesys.com
Subject: Re: BUG in reiserfs_write_full_page().
Date: 18 Jul 2003 10:00:45 -0400	[thread overview]
Message-ID: <1058536844.7878.371.camel@tiny.suse.com> (raw)
In-Reply-To: <16151.63980.766223.769053@laputa.namesys.com>

On Fri, 2003-07-18 at 09:45, Nikita Danilov wrote:

>  > > So, in the case of reiserfs_write_full_page(), the BUG() is falsely 
>  > > triggered
>  > > due to a transaction that was started on another filesystem (ext3).  And the
>  > > fix would simply be to do something along the lines of ext3...
>  > 
>  > The reiserfs data logging actually does more than ext3 to make sure
>  > things get along, recording the super of the filesystem holding the
>  > transaction.  So, it is actually possible to start a new non-nested
>  > transaction.
> 
> This can result in a/b<->b/a deadlock, right?
> 
Sorry, I wasn't clear.  The transaction nesting code could detect and
deal with it (making sure not to nest into an ext3 transaction or a
reiserfs transaction on a different FS), but there are still other
deadlocks to deal with.

>  > 
>  > But, we shouldn't have to.  Other parts of the OS should be protecting
>  > us from a writepage being called at this time, which is why the bug is
>  > there.  Someone did a non GFP_NOFS allocation with a transaction
> 
> __bread()->__getblk()->__find_get_block()->find_get_page() allocates
> page with bdev->bd_inode->i_mapping->gfp_flags, which is GFP_USER, that
> includes GFP_FS.

You're in 2.5 land ;-)  There seem to be a few problems there, I've got
an oops in find_inode and a deadlock under load, but I still need to
read the (huge) sysrq-t to figure things out.

-chris



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

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-07-17 21:19 BUG in reiserfs_write_full_page() Michael Gaughen
2003-07-17 21:33 ` Chris Mason
2003-07-17 21:53   ` Michael Gaughen
2003-07-18 13:23     ` Chris Mason
2003-07-18 13:45       ` Nikita Danilov
2003-07-18 14:00         ` Chris Mason [this message]
2003-07-18 18:42           ` Michael Gaughen
2003-07-21 21:24             ` Michael Gaughen

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=1058536844.7878.371.camel@tiny.suse.com \
    --to=mason@suse.com \
    --cc=Nikita@Namesys.COM \
    --cc=mgaughen@polyserve.com \
    --cc=reiserfs-list@namesys.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 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.