Thread (75 messages) 75 messages, 7 authors, 2007-08-27

Re: Distributed storage.

From: Daniel Phillips <hidden>
Date: 2007-08-13 09:08:57
Also in: linux-fsdevel, lkml

On Monday 13 August 2007 00:45, Jens Axboe wrote:
On Mon, Aug 13 2007, Jens Axboe wrote:
quoted
quoted
You did not comment on the one about putting the bio destructor
in the ->endio handler, which looks dead simple.  The majority of
cases just use the default endio handler and the default
destructor.  Of the remaining cases, where a specialized
destructor is needed, typically a specialized endio handler is
too, so combining is free.  There are few if any cases where a
new specialized endio handler would need to be written.
We could do that without too much work, I agree.
But that idea fails as well, since reference counts and IO completion
are two completely seperate entities. So unless end IO just happens
to be the last user holding a reference to the bio, you cannot free
it.
That is not a problem.  When bio_put hits zero it calls ->endio instead 
of the destructor.  The ->endio sees that the count is zero and 
destroys the bio.

Regards,

Daniel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help