All of lore.kernel.org
 help / color / mirror / Atom feed
From: Akira Fujita <a-fujita@rs.jp.nec.com>
To: Peng Tao <bergwolf@gmail.com>
Cc: linux-ext4@vger.kernel.org, "Theodore Ts'o" <tytso@mit.edu>
Subject: Re: [PATCH 1/2] ext4: fix journal ref count in move_extent_par_page
Date: Tue, 04 Aug 2009 17:23:48 +0900	[thread overview]
Message-ID: <4A77F014.7060403@rs.jp.nec.com> (raw)
In-Reply-To: <6149e97b0908030617q2dfe598bsbbac45969f1f2625@mail.gmail.com>

Peng Tao wrote:
> Hi, Akira,
> 
> 2009/8/3 Akira Fujita <a-fujita@rs.jp.nec.com>:
>> Hi Peng,
>>
>> Peng Tao wrote:
>>> move_extent_par_page calls a_ops->write_begin() to increase journal handler's
>>> reference count. However, if either mext_replace_branches() or ext4_get_block
>>> fails, the increased reference count isn't decreased. This will cause later
>>> umounting of the fs forever hangs. The patch addresses the issue by calling
>>> ext4_journal_stop() if page is not NULL (which means a_ops->write_end() isn't
>>> invoked).
>> In case mext_replaced_branches() or ext4_get_block failed,
>> ext4_journal_stop() is called at out2 label(*)
>> and then journal reference counter is decreased.
>> Therefore I think this fix is not necessary.
> well, the orginal code calls both ext4_journal_start and
> a_ops->write_begin(). So the journal reference was increased twice but
> only gets decreased once in case of failure. This can be simply
> verified by returning -1 at the begining of mext_replaced_branches().
> With such modification, the fs cannot be umounted because of the wrong
> reference count.

Ah, I missed.
Sorry for the noise.
The patch looks good to me.

Regards,
Akira Fujita

      reply	other threads:[~2009-08-04  8:24 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-02 11:43 [PATCH 1/2] ext4: fix journal ref count in move_extent_par_page Peng Tao
2009-08-02 11:43 ` [PATCH 2/2] ext4: fix null pointer bug in move_extent.c Peng Tao
2009-08-03  8:30   ` Akira Fujita
2009-08-03 13:20     ` Peng Tao
2009-08-04  8:24       ` Akira Fujita
2009-08-08 17:18         ` Peng Tao
2009-08-10 17:26         ` Peng Tao
2009-08-03  8:30 ` [PATCH 1/2] ext4: fix journal ref count in move_extent_par_page Akira Fujita
2009-08-03 13:17   ` Peng Tao
2009-08-04  8:23     ` Akira Fujita [this message]

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=4A77F014.7060403@rs.jp.nec.com \
    --to=a-fujita@rs.jp.nec.com \
    --cc=bergwolf@gmail.com \
    --cc=linux-ext4@vger.kernel.org \
    --cc=tytso@mit.edu \
    /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.