Drop the extra argument from swp_pager_meta_ctl and have it do lookup only. Stop checking for obj->type == swap and assert it instead. Move the meta_ctl 'pop' functionality to swap_pager_unswapped, the only place that uses it, and assume obj->type == swap there too.
The assertion added to swap_pager_get_pages_async needs expertimental verification, or a look from someone who knows better when that function gets invoked.