Tao Ma
2010-Apr-16 05:59 UTC
[Ocfs2-devel] [PATCH] ocfs2: Reset status if we want to restart file extension.
In __ocfs2_extend_allocation, we will restart our file extension if ((!status) && restart_func). But there is a bug that the status is still left as -EGAIN. This is really an old bug, but it is masked by the return value of ocfs2_journal_dirty. So it show up when we make ocfs2_journal_dirty void. Signed-off-by: Tao Ma <tao.ma at oracle.com> --- fs/ocfs2/file.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c index 19d16f2..6342f42 100644 --- a/fs/ocfs2/file.c +++ b/fs/ocfs2/file.c @@ -678,6 +678,7 @@ restarted_transaction: if (why == RESTART_META) { mlog(0, "restarting function.\n"); restart_func = 1; + status = 0; } else { BUG_ON(why != RESTART_TRANS); -- 1.5.5
Joel Becker
2010-Apr-16 10:14 UTC
[Ocfs2-devel] [PATCH] ocfs2: Reset status if we want to restart file extension.
On Fri, Apr 16, 2010 at 01:59:25PM +0800, Tao Ma wrote:> In __ocfs2_extend_allocation, we will restart our file extension > if ((!status) && restart_func). But there is a bug that the > status is still left as -EGAIN. This is really an old bug, > but it is masked by the return value of ocfs2_journal_dirty. > So it show up when we make ocfs2_journal_dirty void. > > Signed-off-by: Tao Ma <tao.ma at oracle.com>good catch. This patch is now in the 'fixes' branch of ocfs2.git. Joel -- "The nearest approach to immortality on Earth is a government bureau." - James F. Byrnes Joel Becker Principal Software Developer Oracle E-mail: joel.becker at oracle.com Phone: (650) 506-8127