Re: [PATCH v2 4/5] swapfile: use ->read_iter and ->write_iter

From: Omar Sandoval
Date: Mon Dec 22 2014 - 02:32:44 EST


On Sat, Dec 20, 2014 at 06:13:37AM +0000, Al Viro wrote:
> On Fri, Dec 19, 2014 at 07:18:28PM -0800, Omar Sandoval wrote:
>
> > + ret = swap_file->f_op->read_iter(&kiocb, &to);
> > + if (ret == PAGE_SIZE) {
> > + SetPageUptodate(page);
> > count_vm_event(PSWPIN);
> > + ret = 0;
> > + } else {
> > + ClearPageUptodate(page);
> > + SetPageError(page);
> > + }
> > + unlock_page(page);
>
> Umm... What's to guarantee that ->read_iter() won't try lock_page() on what
> turns out to be equal to page?

Ergh. I don't see why ->read_iter would be screwing around in the swap
cache or with the pages in the iterator, anything in particular you can
see happening?

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