Message ID | 20200814000352.124179-5-anand.jain@oracle.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | btrfs: consolidate seed mutex to sprout mutex | expand |
On 14.08.20 г. 3:03 ч., Anand Jain wrote: > In the function btrfs_close_devices() and its helper function > close_fs_devices(), the return value aren't used as there isn't error > return from these functions. So clean up the return argument. > > Also in the function btrfs_remove_chunk() remove the local variable > %fs_devices, instead use the assigned pointer directly. > > Signed-off-by: Anand Jain <anand.jain@oracle.com> > --- > fs/btrfs/volumes.c | 21 ++++++++------------- > fs/btrfs/volumes.h | 2 +- > 2 files changed, 9 insertions(+), 14 deletions(-) > > diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c > index 66691416ca8f..dd867375478b 100644 > --- a/fs/btrfs/volumes.c > +++ b/fs/btrfs/volumes.c > @@ -1148,12 +1148,12 @@ static void btrfs_close_one_device(struct btrfs_device *device) > ASSERT(atomic_read(&device->reada_in_flight) == 0); > } > > -static int close_fs_devices(struct btrfs_fs_devices *fs_devices) > +static void close_fs_devices(struct btrfs_fs_devices *fs_devices) > { > struct btrfs_device *device, *tmp; > > if (--fs_devices->opened > 0) > - return 0; > + return; > > mutex_lock(&fs_devices->device_list_mutex); > list_for_each_entry_safe(device, tmp, &fs_devices->devices, dev_list) { > @@ -1165,17 +1165,14 @@ static int close_fs_devices(struct btrfs_fs_devices *fs_devices) > WARN_ON(fs_devices->rw_devices); > fs_devices->opened = 0; > fs_devices->seeding = false; > - > - return 0; > } > > -int btrfs_close_devices(struct btrfs_fs_devices *fs_devices) > +void btrfs_close_devices(struct btrfs_fs_devices *fs_devices) > { > struct btrfs_fs_devices *seed_devices = NULL; > - int ret; > > mutex_lock(&uuid_mutex); > - ret = close_fs_devices(fs_devices); > + close_fs_devices(fs_devices); > if (!fs_devices->opened) { > seed_devices = fs_devices->seed; > fs_devices->seed = NULL; > @@ -1188,7 +1185,6 @@ int btrfs_close_devices(struct btrfs_fs_devices *fs_devices) > close_fs_devices(fs_devices); > free_fs_devices(fs_devices); > } > - return ret; > } > This is the relevant portions which implement what's documented. Also I have already sent similar cleanup on 15.07. > static int open_fs_devices(struct btrfs_fs_devices *fs_devices, > @@ -2933,7 +2929,6 @@ int btrfs_remove_chunk(struct btrfs_trans_handle *trans, u64 chunk_offset) > struct map_lookup *map; > u64 dev_extent_len = 0; > int i, ret = 0; > - struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; > > em = btrfs_get_chunk_map(fs_info, chunk_offset, 1); > if (IS_ERR(em)) { > @@ -2955,14 +2950,14 @@ int btrfs_remove_chunk(struct btrfs_trans_handle *trans, u64 chunk_offset) > * a device replace operation that replaces the device object associated > * with map stripes (dev-replace.c:btrfs_dev_replace_finishing()). > */ > - mutex_lock(&fs_devices->device_list_mutex); > + mutex_lock(&fs_info->fs_devices->device_list_mutex); > for (i = 0; i < map->num_stripes; i++) { > struct btrfs_device *device = map->stripes[i].dev; > ret = btrfs_free_dev_extent(trans, device, > map->stripes[i].physical, > &dev_extent_len); > if (ret) { > - mutex_unlock(&fs_devices->device_list_mutex); > + mutex_unlock(&fs_info->fs_devices->device_list_mutex); > btrfs_abort_transaction(trans, ret); > goto out; > } > @@ -2978,12 +2973,12 @@ int btrfs_remove_chunk(struct btrfs_trans_handle *trans, u64 chunk_offset) > > ret = btrfs_update_device(trans, device); > if (ret) { > - mutex_unlock(&fs_devices->device_list_mutex); > + mutex_unlock(&fs_info->fs_devices->device_list_mutex); > btrfs_abort_transaction(trans, ret); > goto out; > } > } > - mutex_unlock(&fs_devices->device_list_mutex); > + mutex_unlock(&fs_info->fs_devices->device_list_mutex); > > ret = btrfs_free_chunk(trans, chunk_offset); > if (ret) { This is unrelated cleanup... > diff --git a/fs/btrfs/volumes.h b/fs/btrfs/volumes.h > index 5eea93916fbf..76e5470e19a8 100644 > --- a/fs/btrfs/volumes.h > +++ b/fs/btrfs/volumes.h > @@ -435,7 +435,7 @@ int btrfs_open_devices(struct btrfs_fs_devices *fs_devices, > struct btrfs_device *btrfs_scan_one_device(const char *path, > fmode_t flags, void *holder); > int btrfs_forget_devices(const char *path); > -int btrfs_close_devices(struct btrfs_fs_devices *fs_devices); > +void btrfs_close_devices(struct btrfs_fs_devices *fs_devices); > void btrfs_free_extra_devids(struct btrfs_fs_devices *fs_devices, int step); > void btrfs_assign_next_active_device(struct btrfs_device *device, > struct btrfs_device *this_dev); >
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c index 66691416ca8f..dd867375478b 100644 --- a/fs/btrfs/volumes.c +++ b/fs/btrfs/volumes.c @@ -1148,12 +1148,12 @@ static void btrfs_close_one_device(struct btrfs_device *device) ASSERT(atomic_read(&device->reada_in_flight) == 0); } -static int close_fs_devices(struct btrfs_fs_devices *fs_devices) +static void close_fs_devices(struct btrfs_fs_devices *fs_devices) { struct btrfs_device *device, *tmp; if (--fs_devices->opened > 0) - return 0; + return; mutex_lock(&fs_devices->device_list_mutex); list_for_each_entry_safe(device, tmp, &fs_devices->devices, dev_list) { @@ -1165,17 +1165,14 @@ static int close_fs_devices(struct btrfs_fs_devices *fs_devices) WARN_ON(fs_devices->rw_devices); fs_devices->opened = 0; fs_devices->seeding = false; - - return 0; } -int btrfs_close_devices(struct btrfs_fs_devices *fs_devices) +void btrfs_close_devices(struct btrfs_fs_devices *fs_devices) { struct btrfs_fs_devices *seed_devices = NULL; - int ret; mutex_lock(&uuid_mutex); - ret = close_fs_devices(fs_devices); + close_fs_devices(fs_devices); if (!fs_devices->opened) { seed_devices = fs_devices->seed; fs_devices->seed = NULL; @@ -1188,7 +1185,6 @@ int btrfs_close_devices(struct btrfs_fs_devices *fs_devices) close_fs_devices(fs_devices); free_fs_devices(fs_devices); } - return ret; } static int open_fs_devices(struct btrfs_fs_devices *fs_devices, @@ -2933,7 +2929,6 @@ int btrfs_remove_chunk(struct btrfs_trans_handle *trans, u64 chunk_offset) struct map_lookup *map; u64 dev_extent_len = 0; int i, ret = 0; - struct btrfs_fs_devices *fs_devices = fs_info->fs_devices; em = btrfs_get_chunk_map(fs_info, chunk_offset, 1); if (IS_ERR(em)) { @@ -2955,14 +2950,14 @@ int btrfs_remove_chunk(struct btrfs_trans_handle *trans, u64 chunk_offset) * a device replace operation that replaces the device object associated * with map stripes (dev-replace.c:btrfs_dev_replace_finishing()). */ - mutex_lock(&fs_devices->device_list_mutex); + mutex_lock(&fs_info->fs_devices->device_list_mutex); for (i = 0; i < map->num_stripes; i++) { struct btrfs_device *device = map->stripes[i].dev; ret = btrfs_free_dev_extent(trans, device, map->stripes[i].physical, &dev_extent_len); if (ret) { - mutex_unlock(&fs_devices->device_list_mutex); + mutex_unlock(&fs_info->fs_devices->device_list_mutex); btrfs_abort_transaction(trans, ret); goto out; } @@ -2978,12 +2973,12 @@ int btrfs_remove_chunk(struct btrfs_trans_handle *trans, u64 chunk_offset) ret = btrfs_update_device(trans, device); if (ret) { - mutex_unlock(&fs_devices->device_list_mutex); + mutex_unlock(&fs_info->fs_devices->device_list_mutex); btrfs_abort_transaction(trans, ret); goto out; } } - mutex_unlock(&fs_devices->device_list_mutex); + mutex_unlock(&fs_info->fs_devices->device_list_mutex); ret = btrfs_free_chunk(trans, chunk_offset); if (ret) { diff --git a/fs/btrfs/volumes.h b/fs/btrfs/volumes.h index 5eea93916fbf..76e5470e19a8 100644 --- a/fs/btrfs/volumes.h +++ b/fs/btrfs/volumes.h @@ -435,7 +435,7 @@ int btrfs_open_devices(struct btrfs_fs_devices *fs_devices, struct btrfs_device *btrfs_scan_one_device(const char *path, fmode_t flags, void *holder); int btrfs_forget_devices(const char *path); -int btrfs_close_devices(struct btrfs_fs_devices *fs_devices); +void btrfs_close_devices(struct btrfs_fs_devices *fs_devices); void btrfs_free_extra_devids(struct btrfs_fs_devices *fs_devices, int step); void btrfs_assign_next_active_device(struct btrfs_device *device, struct btrfs_device *this_dev);
In the function btrfs_close_devices() and its helper function close_fs_devices(), the return value aren't used as there isn't error return from these functions. So clean up the return argument. Also in the function btrfs_remove_chunk() remove the local variable %fs_devices, instead use the assigned pointer directly. Signed-off-by: Anand Jain <anand.jain@oracle.com> --- fs/btrfs/volumes.c | 21 ++++++++------------- fs/btrfs/volumes.h | 2 +- 2 files changed, 9 insertions(+), 14 deletions(-)