Re: [PATCH 3/3] ext3: introduce ext3_error_remove_page

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Oct 25, 2012 at 09:45:51PM +0200, Jan Kara wrote:
> On Thu 25-10-12 11:12:49, Naoya Horiguchi wrote:
> > What I suggested in the previous patch for ext4 is ditto with ext3,
> > so do the same thing for ext3.
> > 
> > Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
> > ---
> >  fs/ext3/inode.c | 33 ++++++++++++++++++++++++++++++---
> >  1 file changed, 30 insertions(+), 3 deletions(-)
> > 
> > diff --git v3.7-rc2.orig/fs/ext3/inode.c v3.7-rc2/fs/ext3/inode.c
> > index 7e87e37..7f708bf 100644
> > --- v3.7-rc2.orig/fs/ext3/inode.c
> > +++ v3.7-rc2/fs/ext3/inode.c
> > @@ -1967,6 +1967,33 @@ static int ext3_journalled_set_page_dirty(struct page *page)
> >  	return __set_page_dirty_nobuffers(page);
> >  }
> >  
> > +static int ext3_error_remove_page(struct address_space *mapping,
> > +				struct page *page)
> > +{
> > +	struct inode *inode = mapping->host;
> > +	struct buffer_head *bh, *head;
> > +	ext3_fsblk_t block = 0;
> > +
> > +	if (!PageDirty(page) || !page_has_buffers(page))
> > +		goto remove_page;
> > +
> > +	/* Lost data. Handle as critical fs error. */
> > +	bh = head = page_buffers(page);
> > +	do {
> > +		if (buffer_dirty(bh)) {
>   For ext3, you should check that buffer_mapped() is set because we can
> have dirty and unmapped buffers. Otherwise the patch looks OK.

OK, I'll add it.

Thanks,
Naoya

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]