On Wed, Sep 19, 2018 at 11:12:02AM -0700, Omar Sandoval wrote:
> On Wed, Sep 19, 2018 at 02:02:32PM -0400, Johannes Weiner wrote:
> > On Tue, Sep 11, 2018 at 03:34:44PM -0700, Omar Sandoval wrote:
> > > @@ -2411,8 +2412,10 @@ static int setup_swap_extents(struct 
> > > swap_info_struct *sis, sector_t *span)
> > >  
> > >   if (mapping->a_ops->swap_activate) {
> > >           ret = mapping->a_ops->swap_activate(sis, swap_file, span);
> > > +         if (ret >= 0)
> > > +                 sis->flags |= SWP_ACTIVATED;
> > >           if (!ret) {
> > > -                 sis->flags |= SWP_FILE;
> > > +                 sis->flags |= SWP_FS;
> > >                   ret = add_swap_extent(sis, 0, sis->max, 0);
> > 
> > Won't this single, linear extent be in conflict with the discontiguous
> > extents you set up in your swap_activate callback in the last patch?
> 
> That's only in the case that ->swap_activate() returned 0, which only
> nfs_swap_activate() will do. btrfs_swap_activate() and
> iomap_swapfile_activate() both return the number of extents they set up.

Ah yes, I missed that.

That's a little under-documented I guess, but that's not your fault.

Reply via email to