Commit 1c8b5b6e authored by Liu Bo's avatar Liu Bo Committed by David Sterba

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: default avatarLiu Bo <bo.li.liu@oracle.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent c315ef8d
...@@ -6630,13 +6630,13 @@ int btrfs_read_sys_array(struct btrfs_root *root) ...@@ -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;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment