Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753140Ab0LFRKQ (ORCPT ); Mon, 6 Dec 2010 12:10:16 -0500 Received: from ist.d-labs.de ([213.239.218.44]:46986 "EHLO mx01.d-labs.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751815Ab0LFRKO convert rfc822-to-8bit (ORCPT ); Mon, 6 Dec 2010 12:10:14 -0500 Date: Mon, 6 Dec 2010 18:09:22 +0100 From: Florian Mickler Cc: Prasad Joshi , Linux Kernel , Joern , logfs@logfs.org, Andrew Morton Subject: Re: [PATCH 1/1] LogFS: Kernel BUG at readwrite.c:1193 Message-ID: <20101206180922.5f7fa3c1@schatten.dmk.lab> In-Reply-To: References: X-Mailer: Claws Mail 3.7.6cvs31 (GTK+ 2.20.1; x86_64-unknown-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 8BIT To: unlisted-recipients:; (no To-header on input) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2939 Lines: 89 Hi, On Tue, 16 Nov 2010 16:54:17 +0000 Prasad Joshi wrote: > This happens when __logfs_create() tries to write a new inode to the > disk which is full. > > __logfs_create() associates the transaction pointer with inode. During > the logfs_write_inode() function call chain this transaction pointer > is moved from inode to page->private using function move_inode_to_page > (do_write_inode() -> inode_to_page() -> move_inode_to_page) > > When the write inode fails, the transaction is aborted and iput is > called on the failed inode. During delete_inode the same transaction > pointer associated with the page is getting used. Thus causing kernel > BUG. > > The patch checks for error in write_inode() and restores the > page->private to NULL. > > This fixes https://bugzilla.kernel.org/show_bug.cgi?id=20162 . Can someone please review? Any comments? > Signed-off-by: Prasad Joshi > --- > diff --git a/fs/logfs/readwrite.c b/fs/logfs/readwrite.c > index 6127baf..ee99a9f 100644 > --- a/fs/logfs/readwrite.c > +++ b/fs/logfs/readwrite.c > @@ -1994,6 +1994,9 @@ static int do_write_inode(struct inode *inode) > > /* FIXME: transaction is part of logfs_block now. Is that enough? */ > err = logfs_write_buf(master_inode, page, 0); > + if (err) > + move_page_to_inode(inode, page); > + > logfs_put_write_page(page); > return err; > } > > > > ---------- Forwarded message ---------- > From: > Date: Tue, Nov 16, 2010 at 3:20 PM > Subject: [Bug 20162] [LogFS][2.6.36.rc7+] Kernel BUG at readwrite.c:1193 > To: prasadjoshi124@gmail.com > > > https://bugzilla.kernel.org/show_bug.cgi?id=20162 > > > Florian Mickler changed: > > ? ? ? ? ? What ? ?|Removed ? ? ? ? ? ? ? ? ? ? |Added > ---------------------------------------------------------------------------- > ? ? ? ? ? ? Status|NEW ? ? ? ? ? ? ? ? ? ? ? ? |RESOLVED > ? ? ? ? ? ? ? ? CC| ? ? ? ? ? ? ? ? ? ? ? ? ? ?|florian@mickler.org > ? ? ? ? Resolution| ? ? ? ? ? ? ? ? ? ? ? ? ? ?|PATCH_ALREADY_AVAILABLE > > > > > --- Comment #2 from Florian Mickler ?2010-11-16 > 15:20:46 --- > Can you submit that patch to lkml and cc the logfs maintainer and the logfs > list? > (Joern Engel , logfs@logfs.org, linux-kernel@vger.kernel.org) > > See Documentation/SubmittingPatches > > Patch: https://bugzilla.kernel.org/show_bug.cgi?id=20162#c1 > > -- > Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email > ------- You are receiving this mail because: ------- > You are on the CC list for the bug. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/