mirror of
https://github.com/torvalds/linux.git
synced 2026-06-07 05:55:44 +02:00
btrfs: simplify getting and extracting previous transaction at clean_pinned_extents()
Instead of detecting if there is a previous transaction by comparing the current transaction's list prev member to the head of the transaction list (fs_info->trans_list), use the list_is_first() helper which contains that logic and the naming makes sense since a new transaction is always added to the end of the list fs_info->trans_list with list_add_tail(). We are also extracting the previous transaction with list_last_entry() against the transaction, which is correct but confusing because that function is usually meant to be used against a pointer to the start of a list and not a member of a list. It is easier to reason by either calling list_first_entry() against the list fs_info->trans_list, since we can never have more than two transactions in the list, or by calling list_prev_entry() against the transaction. So change that to use the later method. Reviewed-by: Qu Wenruo <wqu@suse.com> Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Signed-off-by: Filipe Manana <fdmanana@suse.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
d887f03fdb
commit
a20f732822
|
|
@ -1418,9 +1418,8 @@ static bool clean_pinned_extents(struct btrfs_trans_handle *trans,
|
|||
int ret;
|
||||
|
||||
spin_lock(&fs_info->trans_lock);
|
||||
if (trans->transaction->list.prev != &fs_info->trans_list) {
|
||||
prev_trans = list_last_entry(&trans->transaction->list,
|
||||
struct btrfs_transaction, list);
|
||||
if (!list_is_first(&trans->transaction->list, &fs_info->trans_list)) {
|
||||
prev_trans = list_prev_entry(trans->transaction, list);
|
||||
refcount_inc(&prev_trans->use_count);
|
||||
}
|
||||
spin_unlock(&fs_info->trans_lock);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user