]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - fs/dax.c
virtiofs: Do not send forget request "struct list_head" element
[linux.git] / fs / dax.c
index 6bf81f931de39e48bc2983a1c901b1a6643443f8..2cc43cd914eb8332e3c1ccbdcfafa2e6ce64baee 100644 (file)
--- a/fs/dax.c
+++ b/fs/dax.c
@@ -220,10 +220,11 @@ static void *get_unlocked_entry(struct xa_state *xas, unsigned int order)
 
        for (;;) {
                entry = xas_find_conflict(xas);
+               if (!entry || WARN_ON_ONCE(!xa_is_value(entry)))
+                       return entry;
                if (dax_entry_order(entry) < order)
                        return XA_RETRY_ENTRY;
-               if (!entry || WARN_ON_ONCE(!xa_is_value(entry)) ||
-                               !dax_is_locked(entry))
+               if (!dax_is_locked(entry))
                        return entry;
 
                wq = dax_entry_waitqueue(xas, entry, &ewait.key);