Re: [PATCH, RFC] ext4: Replace hackish ext4_mb_poll_new_transaction with commit callback

Joel Becker
2008-10-17T20:29:50Z

On Fri, Oct 17, 2008 at 08:25:52AM -0400, Theodore Tso wrote:
> On Fri, Oct 17, 2008 at 06:02:14AM -0400, Theodore Tso wrote:
> > Thanks for reminding me about that; I had completely forgotten about
> > Andreas' patch. Sure, I'll respin the patch to use his extension.
>
> I looked more closely at Andreas' patch, and it's really not a good
> fit for what we want to do. The problem is that it is designed to
> attach arbitrary callbacks on a per transaction basis. Each time you
> add a callback you need to allocate a stucture, and then it gets
> chained onto a inked list.

Yeah, I looked at a similar scheme for the buffer commit
callbacks, and I realized that it would be a total pain. So I went with
a static callback.

> What I added was a dead-simple per-journal commit callback, with no
> additional memory allocations (and requirement to do error handling if
> the memory allocation fails), no need to take a spinlock before
> manually adding the call back to each transaction handle, no need to
> search the linked list to see if we have an entry on the linked list
> already, etc.

And this simple callback can used by a jbd2 client to build
the machinery for per-transaction callbacks if they want.

Joel

--

"We will have to repent in this generation not merely for the
vitriolic words and actions of the bad people, but for the
appalling silence of the good people."
- Rev. Dr. Martin Luther King, Jr.

Joel Becker
Principal Software Developer
Oracle
E-mail: joel.becker@oracle.com
Phone: (650) 506-8127