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:
parent
c315ef8d9d
commit
1c8b5b6e8b
|
@ -6630,13 +6630,13 @@ int btrfs_read_sys_array(struct btrfs_root *root)
|
|||
sb_array_offset += len;
|
||||
cur_offset += len;
|
||||
}
|
||||
free_extent_buffer(sb);
|
||||
free_extent_buffer_stale(sb);
|
||||
return ret;
|
||||
|
||||
out_short_read:
|
||||
printk(KERN_ERR "BTRFS: sys_array too short to read %u bytes at offset %u\n",
|
||||
len, cur_offset);
|
||||
free_extent_buffer(sb);
|
||||
free_extent_buffer_stale(sb);
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue