lkml.org 
[lkml]   [2020]   [May]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [RFC PATCH 54/61] afs: Wait on PG_fscache before modifying/releasing a page
Date
Matthew Wilcox <willy@infradead.org> wrote:

> > Won't that screw up ITER_MAPPING? Does that mean that ITER_MAPPING isn't
> > viable?
>
> Can you remind me why ITER_MAPPING needs:
>
> "The caller must guarantee that the pages are all present and they must be
> locked using PG_locked, PG_writeback or PG_fscache to prevent them from
> going away or being migrated whilst they're being accessed."
>
> An elevated refcount prevents migration, and it also prevents the pages
> from being freed. It doesn't prevent them from being truncated out of
> the file, but it does ensure the pages aren't reallocated.

ITER_MAPPING relies on the mapping to maintain the pointers to the pages so
that it can find them rather than being like ITER_BVEC where there's a
separate list.

Truncate removes the pages from the mapping - at which point ITER_MAPPING can
no longer find them.

David

\
 
 \ /
  Last update: 2020-05-06 16:25    [W:0.263 / U:1.816 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site