On Wed, 7 Aug 2013 19:41:48 -0400 Ed Cashin <[email protected]> wrote:

> On Aug 7, 2013, at 5:27 PM, Andrew Morton wrote:
> 
> >> elevated refcount, full stop.
> >> 
> > 
> > err, no.  slab.c uses alloc_pages(), so the underlying page indeed has
> > a proper refcount.  I'm still not understanding how this situation comes
> > about.
> 
> It sounds like it's wrong to give block pages with a zero count,

Depends on your definition of "page".  It should be OK to put a
_count==0 tail page into a BIO, because the MM knows that it's a tail
page and that its refcount actually lives in the head page.

> so why not just have aoe BUG_ON(compound_trans_head(bv->page->_count) == 0) 
> until we're sure nobody does that anymore?

AOE shouldn't be touching ->_count at all.  That's why it has the
leading underscore.  If AOE can stick with the usual interfaces such as
page_count(), everything should work?


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to