Message ID | 1605422363-14947-1-git-send-email-kaixuxia@tencent.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | btrfs: remove the useless value assignment in block_rsv_release_bytes | expand |
On Sun, Nov 15, 2020 at 02:39:23PM +0800, xiakaixu1987@gmail.com wrote: > From: Kaixu Xia <kaixuxia@tencent.com> > > The variable qgroup_to_release is overwritten by the following if/else > statement before it is used, so this assignment is useless. Remove it. Again this lacks explanation why removing it is correct.
On 2020/11/16 23:15, David Sterba wrote: > On Sun, Nov 15, 2020 at 02:39:23PM +0800, xiakaixu1987@gmail.com wrote: >> From: Kaixu Xia <kaixuxia@tencent.com> >> >> The variable qgroup_to_release is overwritten by the following if/else >> statement before it is used, so this assignment is useless. Remove it. > > Again this lacks explanation why removing it is correct. > Actually this assignment is redundant because the variable qgroup_to_release has been overwritten before it is used. The logic like this, static u64 block_rsv_release_bytes(...) { ... if (num_bytes == (u64)-1) { num_bytes = block_rsv->size; qgroup_to_release = block_rsv->qgroup_rsv_size; } //qgroup_to_release isn't used if (block_rsv->qgroup_rsv_reserved >= block_rsv->qgroup_rsv_size) { qgroup_to_release = block_rsv->qgroup_rsv_reserved - block_rsv->qgroup_rsv_size; block_rsv->qgroup_rsv_reserved = block_rsv->qgroup_rsv_size; } else { qgroup_to_release = 0; }//qgroup_to_release is overwritten ... } Thanks, Kaixu
On Tue, Nov 17, 2020 at 11:17:17AM +0800, kaixuxia wrote: > > > On 2020/11/16 23:15, David Sterba wrote: > > On Sun, Nov 15, 2020 at 02:39:23PM +0800, xiakaixu1987@gmail.com wrote: > >> From: Kaixu Xia <kaixuxia@tencent.com> > >> > >> The variable qgroup_to_release is overwritten by the following if/else > >> statement before it is used, so this assignment is useless. Remove it. > > > > Again this lacks explanation why removing it is correct. > > > Actually this assignment is redundant because the variable qgroup_to_release > has been overwritten before it is used. The logic like this, That's obvious and I did not mean that. Have you checked in which commit the variable became unused and why? It's possible that it was indeed just an oversight, but if not it could point to a bug.
diff --git a/fs/btrfs/block-rsv.c b/fs/btrfs/block-rsv.c index bc920afe23bf..8638327069b7 100644 --- a/fs/btrfs/block-rsv.c +++ b/fs/btrfs/block-rsv.c @@ -109,10 +109,8 @@ static u64 block_rsv_release_bytes(struct btrfs_fs_info *fs_info, u64 ret; spin_lock(&block_rsv->lock); - if (num_bytes == (u64)-1) { + if (num_bytes == (u64)-1) num_bytes = block_rsv->size; - qgroup_to_release = block_rsv->qgroup_rsv_size; - } block_rsv->size -= num_bytes; if (block_rsv->reserved >= block_rsv->size) { num_bytes = block_rsv->reserved - block_rsv->size;