Commit 3296bf56 authored by Qu Wenruo's avatar Qu Wenruo Committed by David Sterba

btrfs: transaction: Cleanup unused TRANS_STATE_BLOCKED

The state was introduced in commit 4a9d8bde ("Btrfs: make the state
of the transaction more readable"), then in commit 302167c5
("btrfs: don't end the transaction for delayed refs in throttle") the
state is completely removed.

So we can just clean up the state since it's only compared but never
set.
Signed-off-by: default avatarQu Wenruo <wqu@suse.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 61c047b5
...@@ -1741,7 +1741,7 @@ static int transaction_kthread(void *arg) ...@@ -1741,7 +1741,7 @@ static int transaction_kthread(void *arg)
} }
now = ktime_get_seconds(); now = ktime_get_seconds();
if (cur->state < TRANS_STATE_BLOCKED && if (cur->state < TRANS_STATE_COMMIT_START &&
!test_bit(BTRFS_FS_NEED_ASYNC_COMMIT, &fs_info->flags) && !test_bit(BTRFS_FS_NEED_ASYNC_COMMIT, &fs_info->flags) &&
(now < cur->start_time || (now < cur->start_time ||
now - cur->start_time < fs_info->commit_interval)) { now - cur->start_time < fs_info->commit_interval)) {
......
...@@ -97,7 +97,6 @@ ...@@ -97,7 +97,6 @@
*/ */
static const unsigned int btrfs_blocked_trans_types[TRANS_STATE_MAX] = { static const unsigned int btrfs_blocked_trans_types[TRANS_STATE_MAX] = {
[TRANS_STATE_RUNNING] = 0U, [TRANS_STATE_RUNNING] = 0U,
[TRANS_STATE_BLOCKED] = __TRANS_START,
[TRANS_STATE_COMMIT_START] = (__TRANS_START | __TRANS_ATTACH), [TRANS_STATE_COMMIT_START] = (__TRANS_START | __TRANS_ATTACH),
[TRANS_STATE_COMMIT_DOING] = (__TRANS_START | [TRANS_STATE_COMMIT_DOING] = (__TRANS_START |
__TRANS_ATTACH | __TRANS_ATTACH |
...@@ -454,7 +453,7 @@ int btrfs_record_root_in_trans(struct btrfs_trans_handle *trans, ...@@ -454,7 +453,7 @@ int btrfs_record_root_in_trans(struct btrfs_trans_handle *trans,
static inline int is_transaction_blocked(struct btrfs_transaction *trans) static inline int is_transaction_blocked(struct btrfs_transaction *trans)
{ {
return (trans->state >= TRANS_STATE_BLOCKED && return (trans->state >= TRANS_STATE_COMMIT_START &&
trans->state < TRANS_STATE_UNBLOCKED && trans->state < TRANS_STATE_UNBLOCKED &&
!trans->aborted); !trans->aborted);
} }
...@@ -641,7 +640,7 @@ start_transaction(struct btrfs_root *root, unsigned int num_items, ...@@ -641,7 +640,7 @@ start_transaction(struct btrfs_root *root, unsigned int num_items,
INIT_LIST_HEAD(&h->new_bgs); INIT_LIST_HEAD(&h->new_bgs);
smp_mb(); smp_mb();
if (cur_trans->state >= TRANS_STATE_BLOCKED && if (cur_trans->state >= TRANS_STATE_COMMIT_START &&
may_wait_transaction(fs_info, type)) { may_wait_transaction(fs_info, type)) {
current->journal_info = h; current->journal_info = h;
btrfs_commit_transaction(h); btrfs_commit_transaction(h);
...@@ -869,7 +868,7 @@ int btrfs_should_end_transaction(struct btrfs_trans_handle *trans) ...@@ -869,7 +868,7 @@ int btrfs_should_end_transaction(struct btrfs_trans_handle *trans)
struct btrfs_transaction *cur_trans = trans->transaction; struct btrfs_transaction *cur_trans = trans->transaction;
smp_mb(); smp_mb();
if (cur_trans->state >= TRANS_STATE_BLOCKED || if (cur_trans->state >= TRANS_STATE_COMMIT_START ||
cur_trans->delayed_refs.flushing) cur_trans->delayed_refs.flushing)
return 1; return 1;
...@@ -902,7 +901,6 @@ static int __btrfs_end_transaction(struct btrfs_trans_handle *trans, ...@@ -902,7 +901,6 @@ static int __btrfs_end_transaction(struct btrfs_trans_handle *trans,
{ {
struct btrfs_fs_info *info = trans->fs_info; struct btrfs_fs_info *info = trans->fs_info;
struct btrfs_transaction *cur_trans = trans->transaction; struct btrfs_transaction *cur_trans = trans->transaction;
int lock = (trans->type != TRANS_JOIN_NOLOCK);
int err = 0; int err = 0;
if (refcount_read(&trans->use_count) > 1) { if (refcount_read(&trans->use_count) > 1) {
...@@ -918,13 +916,6 @@ static int __btrfs_end_transaction(struct btrfs_trans_handle *trans, ...@@ -918,13 +916,6 @@ static int __btrfs_end_transaction(struct btrfs_trans_handle *trans,
btrfs_trans_release_chunk_metadata(trans); btrfs_trans_release_chunk_metadata(trans);
if (lock && READ_ONCE(cur_trans->state) == TRANS_STATE_BLOCKED) {
if (throttle)
return btrfs_commit_transaction(trans);
else
wake_up_process(info->transaction_kthread);
}
if (trans->type & __TRANS_FREEZABLE) if (trans->type & __TRANS_FREEZABLE)
sb_end_intwrite(info->sb); sb_end_intwrite(info->sb);
......
...@@ -13,7 +13,6 @@ ...@@ -13,7 +13,6 @@
enum btrfs_trans_state { enum btrfs_trans_state {
TRANS_STATE_RUNNING, TRANS_STATE_RUNNING,
TRANS_STATE_BLOCKED,
TRANS_STATE_COMMIT_START, TRANS_STATE_COMMIT_START,
TRANS_STATE_COMMIT_DOING, TRANS_STATE_COMMIT_DOING,
TRANS_STATE_UNBLOCKED, TRANS_STATE_UNBLOCKED,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment