On 2019/11/7 下午5:20, Johannes Thumshirn wrote:
> On 07/11/2019 07:27, Qu Wenruo wrote:
>> +static int gather_dev_holes(struct btrfs_fs_info *info,
>> + struct btrfs_device_info *devices_info,
>> + int *index, struct list_head *list,
>> + int max_nr_devs, u64 stripe_size, int dev_stripes)
>> +{
>
> Hi Qu,
>
> What do you think of
>
> static int gather_dev_holes(struct btrfs_fs_info *info,
> int *index, u64 stripe_size,
> int dev_stripes)
> {
> struct btrfs_fs_devices *fs_devices = info->fs_devices;
> struct btrfs_device *device;
> int ret;
> int ndevs = 0;
>
> list_for_each_entry(device, &fs_devices->alloc_list,
> dev_alloc_list) {
>
> [...]
>
>
> btrfs_device_info can be derived from btrfs_fs_info, and *list and
> max_nr_devs can be derived from btrfs_device_info.
>
> This reduces the number of arguments by 3 and we don't need to pass that
> odd 'struct list_head *list' which isn't really clear from the type what
> it is referring to.
The objective of this refactor is to accept different list, not only
fs_devices->alloc_list, but also later fs_devices->missing_list.
So I'm afraid it's not that easy to reduce the number of paramters.
Thanks,
Qu
>
>
> Byte,
> Johannes
>
Attachment:
signature.asc
Description: OpenPGP digital signature
