>The page_count() test here is a bit of a worry, too. Why do we need it? >The caller must have pinned the page in some fashion else we couldn't use >it safely in this function at all. > >I assume that you discovered that once we've cleared PageWriteback(), the >page can get reclaimed elsewhere? If so, that could still happen >immediately after the page_count() test. It's all a bit of a worry. >Deferring the ClearPageWriteback() will fix any race concerns, but I do >think that we need to take a ref on the page for the pagevec ownership. >

Actually, I considered taking a ref to pin pages. But this could prevent the pagereclaiming activity so I did not use it.