On Thu, Sep 27, 2001 at 02:12:44PM +0200, Jan Kara wrote:
> > And there are recursions we just can't get rid of --- an inode delete
> > ends up deallocating the inode on disk and updating the dquot (which
> > does a dqput, which writes the quota entry using the normal VFS API),
> > and we _have_ to make that quota-file write a nested transaction if we
> > want quotas to be atomic with respect to journal recovery. Short of
> > adding a new context parameter to be passed all the way through the
> > quota and VM layers wherever this sort of recursion is possible, we
> > need to attach that context to the task. (Without a task struct
> > field, though, we can still hash outstanding transaction handles by
> > pid for fast lookup.)
> Actually Alan should now have patch in his queue which makes
> quota guarantee no recursion on DQUOT_ALLOC/FREE operations (apart from
> mark_inode_dirty()). Recursion is possible only in DQUOT_DROP,
> DQUOT_INIT and DQUOT_TRANSFER. So this patch might help ext3 a bit.
Possibly: it might be possible to defer the dquot_drop until after
we've closed the transaction which deleted the inode. Thanks.
Cheers,
Stephen
-
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/