Subject: Re: linux-next: OOPS at boot time

From: Al Viro <[email-masked]>
Date: Sat, 24 Jul 2010 13:27:50 +0100

On Fri, Jul 23, 2010 at 12:04:08PM +0200, Jan Kara wrote:

> > @@ -1428,8 +1429,10 @@ out:
> >  	/*
> >  	 * Undo the block allocation
> >  	 */
> > -	if (!performed_allocation)
> > -		dquot_free_block(inode, *count);
> > +	if (!performed_allocation) {
> > +		dquot_free_block_nodirty(inode, *count);
> > +		mark_inode_dirty(inode);
> > +	}
> >  	brelse(bitmap_bh);
> >  	return 0;
> >  }
>   Sorry, but the above two changes look stupid... Why call _nodirty variant
> and dirty the inode immediately after that? It happens in two other places
> in your patch as well...

Frankly, I don't believe that dquot_free_block() is _ever_ the right interface;
please, leave dirtying the inode to the filesystem and let it be explicit.