projects
/
linux-2.6-microblaze.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fs/dax: Fix pmd vs pte conflict detection
[linux-2.6-microblaze.git]
/
fs
/
dax.c
diff --git
a/fs/dax.c
b/fs/dax.c
index
6bf81f9
..
2cc43cd
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);
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 (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);
return entry;
wq = dax_entry_waitqueue(xas, entry, &ewait.key);