Btrfs: don't release invalid page in btrfs_page_exists_in_range()
In inode.c:btrfs_page_exists_in_range(), if the page we got from the radix tree is an exception entry, which can't be retried, we exit the loop with a non-NULL page and then call page_cache_release against it, which is not ok since it's not a valid page. This could also make us return true when we shouldn't. Signed-off-by: Filipe David Borba Manana <fdmanana@gmail.com> Signed-off-by: Chris Mason <clm@fb.com>
This commit is contained in:
parent
809f901625
commit
6fdef6d43c
|
@ -6776,6 +6776,7 @@ bool btrfs_page_exists_in_range(struct inode *inode, loff_t start, loff_t end)
|
|||
* here as an exceptional entry: so return it without
|
||||
* attempting to raise page count.
|
||||
*/
|
||||
page = NULL;
|
||||
break; /* TODO: Is this relevant for this use case? */
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue