Btrfs: free sys_array eb as soon as possible
While reading sys_chunk_array in superblock, btrfs creates a temporary extent buffer. Since we don't use it after finishing reading sys_chunk_array, we don't need to keep it in memory. Signed-off-by: Liu Bo <bo.li.liu@oracle.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
Родитель
c315ef8d9d
Коммит
1c8b5b6e8b
|
@ -6630,13 +6630,13 @@ int btrfs_read_sys_array(struct btrfs_root *root)
|
||||||
sb_array_offset += len;
|
sb_array_offset += len;
|
||||||
cur_offset += len;
|
cur_offset += len;
|
||||||
}
|
}
|
||||||
free_extent_buffer(sb);
|
free_extent_buffer_stale(sb);
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
out_short_read:
|
out_short_read:
|
||||||
printk(KERN_ERR "BTRFS: sys_array too short to read %u bytes at offset %u\n",
|
printk(KERN_ERR "BTRFS: sys_array too short to read %u bytes at offset %u\n",
|
||||||
len, cur_offset);
|
len, cur_offset);
|
||||||
free_extent_buffer(sb);
|
free_extent_buffer_stale(sb);
|
||||||
return -EIO;
|
return -EIO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче