mirror of
https://github.com/kdave/btrfs-progs
synced 2025-05-09 03:17:55 +00:00
btrfs-progs: use on-stack buffer for superblock
In update_disk_super_on_device,the buffer size is small, allocate it onstack and get rid of one error path. Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
2bac679058
commit
c4123e1848
@ -2588,7 +2588,7 @@ static int update_disk_super_on_device(struct btrfs_fs_info *info,
|
|||||||
char fs_uuid[BTRFS_UUID_SIZE];
|
char fs_uuid[BTRFS_UUID_SIZE];
|
||||||
u64 devid, type, io_align, io_width;
|
u64 devid, type, io_align, io_width;
|
||||||
u64 sector_size, total_bytes, bytes_used;
|
u64 sector_size, total_bytes, bytes_used;
|
||||||
char *buf = NULL;
|
char buf[BTRFS_SUPER_INFO_SIZE];
|
||||||
int fp = -1;
|
int fp = -1;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
@ -2636,13 +2636,6 @@ static int update_disk_super_on_device(struct btrfs_fs_info *info,
|
|||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
buf = malloc(BTRFS_SUPER_INFO_SIZE);
|
|
||||||
if (!buf) {
|
|
||||||
ret = -ENOMEM;
|
|
||||||
close(fp);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
memcpy(buf, info->super_copy, BTRFS_SUPER_INFO_SIZE);
|
memcpy(buf, info->super_copy, BTRFS_SUPER_INFO_SIZE);
|
||||||
|
|
||||||
disk_super = (struct btrfs_super_block *)buf;
|
disk_super = (struct btrfs_super_block *)buf;
|
||||||
@ -2672,7 +2665,6 @@ static int update_disk_super_on_device(struct btrfs_fs_info *info,
|
|||||||
write_backup_supers(fp, (u8 *)buf);
|
write_backup_supers(fp, (u8 *)buf);
|
||||||
|
|
||||||
out:
|
out:
|
||||||
free(buf);
|
|
||||||
if (fp != -1)
|
if (fp != -1)
|
||||||
close(fp);
|
close(fp);
|
||||||
return ret;
|
return ret;
|
||||||
|
Loading…
Reference in New Issue
Block a user