dax fix v5.2-rc8
- Fix xarray entry association for mixed mappings -----BEGIN PGP SIGNATURE----- iQIcBAABAgAGBQJdHpMDAAoJEB7SkWpmfYgCJ0wP/2fgMgoh1YBv4DU4gsNs328G pyTX3i6d+KoEmfvlcoOzU3lNtjf2S81H3QIkfTJG75uE9/3jNKOh+tPunj3/wIOv iHbpBZVK5OpE2f9FFNM785cTt7hBqBtR38N/PdKGFPSMzN9vX794rmvS8Ri0bHd4 9zmSvdnrkdu0U4BGmBRZdUOCUIdDrtQClKJBRtG5Ksb194zf7lt/jm4k9WFMqfYA 89mR/KHQhmhDnjyBynQa0TRtShlf/DsxtWiPyLT9FzD1RZt9+tFVLANRQEmFFAp2 eb+b+LT35AdEEwErv7RkCCGSGKA7KXy7+hyETsoPMBXG08Q77nogG+zb/j0wCwvK SsQpo1aqmIeJRBQOXbYeqhn6VR9YuVMFlgaSfOcn/noQDHUIeKis2pnOMeKX36MN xHTQm9hSgG+0Des5UoAd4eNH5fDmwuUJK4o4kVGG3pKPuTzyW1gLyo7ItewleE7c 7rOhLMU55mqUizxsBfEOO6qiJED64iQ2K3mve5I22YetaYCfdrNnU8x5iS9FEcir CATYHilKevowwVZg2a7Iy5FquYsQghMhZe4iF5gzjF+zEpj0Wi8S0nVsCtX8Js3S p/f3TFmc2i4ZCFPbOAAdYOuagU6pFbuSFQyjtljo5sjD3JKBXitgEaAepFXMtVSA EXEQYBgj5CoQ8ClF/eiA =NNXl -----END PGP SIGNATURE----- Merge tag 'dax-fix-5.2-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm Pull dax fix from Dan Williams: "A single dax fix that has been soaking awaiting other fixes under discussion to join it. As it is getting late in the cycle lets proceed with this fix and save follow-on changes for post-v5.3-rc1. - Fix xarray entry association for mixed mappings" * tag 'dax-fix-5.2-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: dax: Fix xarray entry association for mixed mappings
This commit is contained in:
commit
cde357c392
9
fs/dax.c
9
fs/dax.c
|
@ -720,12 +720,11 @@ static void *dax_insert_entry(struct xa_state *xas,
|
|||
|
||||
xas_reset(xas);
|
||||
xas_lock_irq(xas);
|
||||
if (dax_entry_size(entry) != dax_entry_size(new_entry)) {
|
||||
if (dax_is_zero_entry(entry) || dax_is_empty_entry(entry)) {
|
||||
void *old;
|
||||
|
||||
dax_disassociate_entry(entry, mapping, false);
|
||||
dax_associate_entry(new_entry, mapping, vmf->vma, vmf->address);
|
||||
}
|
||||
|
||||
if (dax_is_zero_entry(entry) || dax_is_empty_entry(entry)) {
|
||||
/*
|
||||
* Only swap our new entry into the page cache if the current
|
||||
* entry is a zero page or an empty entry. If a normal PTE or
|
||||
|
@ -734,7 +733,7 @@ static void *dax_insert_entry(struct xa_state *xas,
|
|||
* existing entry is a PMD, we will just leave the PMD in the
|
||||
* tree and dirty it if necessary.
|
||||
*/
|
||||
void *old = dax_lock_entry(xas, new_entry);
|
||||
old = dax_lock_entry(xas, new_entry);
|
||||
WARN_ON_ONCE(old != xa_mk_value(xa_to_value(entry) |
|
||||
DAX_LOCKED));
|
||||
entry = new_entry;
|
||||
|
|
Loading…
Reference in New Issue