On Wed, 7 Aug 2013 19:41:48 -0400 Ed Cashin <ecashin@xxxxxxxxxx> 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, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>