forked from Minki/linux
FS-Cache: Don't delete pending pages from the page-store tracking tree
Don't delete pending pages from the page-store tracking tree, but rather send them for another write as they've presumably been updated. Signed-off-by: David Howells <dhowells@redhat.com>
This commit is contained in:
parent
1bccf513ac
commit
285e728b0a
@ -57,8 +57,11 @@ static void fscache_end_page_write(struct fscache_object *object,
|
||||
/* delete the page from the tree if it is now no longer
|
||||
* pending */
|
||||
spin_lock(&cookie->stores_lock);
|
||||
fscache_stat(&fscache_n_store_radix_deletes);
|
||||
xpage = radix_tree_delete(&cookie->stores, page->index);
|
||||
if (!radix_tree_tag_get(&cookie->stores, page->index,
|
||||
FSCACHE_COOKIE_PENDING_TAG)) {
|
||||
fscache_stat(&fscache_n_store_radix_deletes);
|
||||
xpage = radix_tree_delete(&cookie->stores, page->index);
|
||||
}
|
||||
spin_unlock(&cookie->stores_lock);
|
||||
wake_up_bit(&cookie->flags, 0);
|
||||
}
|
||||
|
@ -546,7 +546,6 @@ out:
|
||||
}
|
||||
EXPORT_SYMBOL(radix_tree_tag_clear);
|
||||
|
||||
#ifndef __KERNEL__ /* Only the test harness uses this at present */
|
||||
/**
|
||||
* radix_tree_tag_get - get a tag on a radix tree node
|
||||
* @root: radix tree root
|
||||
@ -609,7 +608,6 @@ int radix_tree_tag_get(struct radix_tree_root *root,
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(radix_tree_tag_get);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* radix_tree_next_hole - find the next hole (not-present entry)
|
||||
|
Loading…
Reference in New Issue
Block a user