mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-03-30 11:04:25 +00:00
dax: account DAX entries as nrpages
Simplify mapping_needs_writeback() by accounting DAX entries as pages instead of exceptional entries. Link: https://lkml.kernel.org/r/20201026151849.24232-4-willy@infradead.org Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Tested-by: Vishal Verma <vishal.l.verma@intel.com> Acked-by: Johannes Weiner <hannes@cmpxchg.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
46be67b424
commit
7f0e07fb02
2 changed files with 3 additions and 6 deletions
6
fs/dax.c
6
fs/dax.c
|
@ -525,7 +525,7 @@ retry:
|
||||||
dax_disassociate_entry(entry, mapping, false);
|
dax_disassociate_entry(entry, mapping, false);
|
||||||
xas_store(xas, NULL); /* undo the PMD join */
|
xas_store(xas, NULL); /* undo the PMD join */
|
||||||
dax_wake_entry(xas, entry, true);
|
dax_wake_entry(xas, entry, true);
|
||||||
mapping->nrexceptional--;
|
mapping->nrpages -= PG_PMD_NR;
|
||||||
entry = NULL;
|
entry = NULL;
|
||||||
xas_set(xas, index);
|
xas_set(xas, index);
|
||||||
}
|
}
|
||||||
|
@ -541,7 +541,7 @@ retry:
|
||||||
dax_lock_entry(xas, entry);
|
dax_lock_entry(xas, entry);
|
||||||
if (xas_error(xas))
|
if (xas_error(xas))
|
||||||
goto out_unlock;
|
goto out_unlock;
|
||||||
mapping->nrexceptional++;
|
mapping->nrpages += 1UL << order;
|
||||||
}
|
}
|
||||||
|
|
||||||
out_unlock:
|
out_unlock:
|
||||||
|
@ -661,7 +661,7 @@ static int __dax_invalidate_entry(struct address_space *mapping,
|
||||||
goto out;
|
goto out;
|
||||||
dax_disassociate_entry(entry, mapping, trunc);
|
dax_disassociate_entry(entry, mapping, trunc);
|
||||||
xas_store(&xas, NULL);
|
xas_store(&xas, NULL);
|
||||||
mapping->nrexceptional--;
|
mapping->nrpages -= 1UL << dax_entry_order(entry);
|
||||||
ret = 1;
|
ret = 1;
|
||||||
out:
|
out:
|
||||||
put_unlocked_entry(&xas, entry);
|
put_unlocked_entry(&xas, entry);
|
||||||
|
|
|
@ -618,9 +618,6 @@ EXPORT_SYMBOL(filemap_fdatawait_keep_errors);
|
||||||
/* Returns true if writeback might be needed or already in progress. */
|
/* Returns true if writeback might be needed or already in progress. */
|
||||||
static bool mapping_needs_writeback(struct address_space *mapping)
|
static bool mapping_needs_writeback(struct address_space *mapping)
|
||||||
{
|
{
|
||||||
if (dax_mapping(mapping))
|
|
||||||
return mapping->nrexceptional;
|
|
||||||
|
|
||||||
return mapping->nrpages;
|
return mapping->nrpages;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue