Re: [PATCH 1/3] mm/gup: introduce __put_user_pages()

From: Christoph Hellwig
Date: Tue Jul 23 2019 - 01:54:14 EST


On Mon, Jul 22, 2019 at 03:34:13PM -0700, john.hubbard@xxxxxxxxx wrote:
> +enum pup_flags_t {
> + PUP_FLAGS_CLEAN = 0,
> + PUP_FLAGS_DIRTY = 1,
> + PUP_FLAGS_LOCK = 2,
> + PUP_FLAGS_DIRTY_LOCK = 3,
> +};

Well, the enum defeats the ease of just being able to pass a boolean
expression to the function, which would simplify a lot of the caller,
so if we need to support the !locked version I'd rather see that as
a separate helper.

But do we actually have callers where not using the _lock version is
not a bug? set_page_dirty makes sense in the context of a file systems
that have a reference to the inode the page hangs off, but that is
(almost?) never the case for get_user_pages.