mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-25 21:24:08 +08:00
Btrfs: fix casting error in scrub reada code
The reada code from scrub was casting down a u64 to an unsigned long so it could insert it into a radix tree. What it really wanted to do was cast down the result of a shift, instead of casting down the u64. The bug resulted in trying to insert our reada struct into the wrong place, which caused soft lockups and other problems. Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
parent
d3b010640e
commit
a175423c83
@ -305,7 +305,7 @@ again:
|
||||
|
||||
spin_lock(&fs_info->reada_lock);
|
||||
ret = radix_tree_insert(&dev->reada_zones,
|
||||
(unsigned long)zone->end >> PAGE_CACHE_SHIFT,
|
||||
(unsigned long)(zone->end >> PAGE_CACHE_SHIFT),
|
||||
zone);
|
||||
spin_unlock(&fs_info->reada_lock);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user