jbd2: use shrink_type type instead of bool type for __jbd2_journal_clean_checkpoint_list()
v2 cover jbd2: use shrink_type type instead of bool type for __jbd2_journal_clean_checkpoint_list()
Diff v2 vs v1:
1. Update/add comment for __jbd2_journal_clean_checkpoint_list();
2. Add 'jbd2' prefix for 'shrink_type';
Ye Bin (2):
jbd2: use shrink_type type instead of bool type for
__jbd2_journal_clean_checkpoint_list()
jbd2: add prefix 'jbd2' for 'shrink_type'
fs/jbd2/checkpoint.c | 24 +++++++++++++----------- fs/jbd2/commit.c | 2 +- include/linux/jbd2.h | 4 +++- 3 files changed, 17 insertions(+), 13 deletions(-)
Signature · 1 line
2.31.1
PATCH v2 1/2 jbd2: use shrink_type type instead of bool type for __jbd2_journal_clean_checkpoint_list()
"enum shrink_type" can clearly express the meaning of the parameter of __jbd2_journal_clean_checkpoint_list(), and there is no need to use the bool type.
--- fs/jbd2/checkpoint.c | 16 +++++++++------- fs/jbd2/commit.c | 2 +- include/linux/jbd2.h | 4 +++- 3 files changed, 13 insertions(+), 9 deletions(-)
fs/jbd2/checkpoint.c +9 -7
@@ -337,8 +337,6 @@ int jbd2_cleanup_journal_tail(journal_t *journal)/* Checkpoint list management */ -enum shrink_type {SHRINK_DESTROY ,SHRINK_BUSY_STOP ,SHRINK_BUSY_SKIP }; -/* * journal_shrink_one_cp_list *
@@ -472,21 +470,25 @@ unsigned long jbd2_journal_shrink_checkpoint_list(journal_t *journal,* journal_clean_checkpoint_list * * Find all the written-back checkpoint buffers in the journal and release them. -* If 'destroy' is set, release all buffers unconditionally. +* If 'type' is SHRINK_DESTROY, release all buffers unconditionally. If 'type' +* is SHRINK_BUSY_STOP, will stop release buffers if encounters a busy buffer. +* To avoid wasting CPU cycles scanning the buffer list in some cases, don't +* pass SHRINK_BUSY_SKIP 'type' for this function. * * Called with j_list_lock held. */ -void __jbd2_journal_clean_checkpoint_list (journal_t *journal,bool destroy) +void __jbd2_journal_clean_checkpoint_list (journal_t *journal, +enum shrink_type type) {transaction_t *transaction, *last_transaction, *next_transaction; -enum shrink_type type;bool released; +WARN_ON_ONCE (type ==SHRINK_BUSY_SKIP ); + transaction = journal->j_checkpoint_transactions;if (!transaction)return ; - type = destroy ?SHRINK_DESTROY :SHRINK_BUSY_STOP ; last_transaction = transaction->t_cpprev; next_transaction = transaction; do {
@@ -527,7 +529,7 @@ void jbd2_journal_destroy_checkpoint(journal_t *journal)spin_unlock (&journal->j_list_lock);break ; } -__jbd2_journal_clean_checkpoint_list (journal, true); +__jbd2_journal_clean_checkpoint_list (journal,SHRINK_DESTROY );spin_unlock (&journal->j_list_lock);cond_resched (); }
fs/jbd2/commit.c +1 -1
@@ -501,7 +501,7 @@ void jbd2_journal_commit_transaction(journal_t *journal)* frees some memory */ spin_lock (&journal->j_list_lock); -__jbd2_journal_clean_checkpoint_list (journal, false); +__jbd2_journal_clean_checkpoint_list (journal,SHRINK_BUSY_STOP );spin_unlock (&journal->j_list_lock);jbd2_debug (3 ,"JBD2: commit phase 1\n" );
include/linux/jbd2.h +3 -1
@@ -1434,7 +1434,9 @@ void jbd2_update_log_tail(journal_t *journal, tid_t tid, unsigned long block);extern void jbd2_journal_commit_transaction (journal_t *);/* Checkpoint list management */ -void __jbd2_journal_clean_checkpoint_list (journal_t *journal,bool destroy); +enum shrink_type {SHRINK_DESTROY ,SHRINK_BUSY_STOP ,SHRINK_BUSY_SKIP }; + +void __jbd2_journal_clean_checkpoint_list (journal_t *journal,enum shrink_type type);unsigned long jbd2_journal_shrink_checkpoint_list (journal_t *journal,unsigned long *nr_to_scan);int __jbd2_journal_remove_checkpoint (struct journal_head *);int jbd2_journal_try_remove_checkpoint (struct journal_head *jh);
Signature · 1 line
2.31.1
Quoted 5 lines · Ye Bin
"enum
shrink_type" can clearly express the meaning of the parameter of__jbd2_journal_clean_checkpoint_list(), and there is no need to use the bool type.Signed-off-by Ye Bin <[email protected]>
Looks good. Feel free to add:
Honza
Quoted 89 lines
--- fs/jbd2/checkpoint.c | 16 +++++++++------- fs/jbd2/commit.c | 2 +- include/linux/jbd2.h | 4 +++- 3 files changed, 13 insertions(+), 9 deletions(-)fs/jbd2/checkpoint.c +9
-7@@ -337,8 +337,6 @@ int jbd2_cleanup_journal_tail(journal_t *journal)/* Checkpoint list management */ -enum shrink_type {SHRINK_DESTROY ,SHRINK_BUSY_STOP ,SHRINK_BUSY_SKIP }; -/* * journal_shrink_one_cp_list * @@ -472,21 +470,25 @@ unsigned long jbd2_journal_shrink_checkpoint_list(journal_t *journal,* journal_clean_checkpoint_list * * Find all the written-back checkpoint buffers in the journal and release them. -* If 'destroy' is set, release all buffers unconditionally. +* If 'type' is SHRINK_DESTROY, release all buffers unconditionally. If 'type' +* is SHRINK_BUSY_STOP, will stop release buffers if encounters a busy buffer. +* To avoid wasting CPU cycles scanning the buffer list in some cases, don't +* pass SHRINK_BUSY_SKIP 'type' for this function. * * Called with j_list_lock held. */ -void __jbd2_journal_clean_checkpoint_list (journal_t *journal,bool destroy) +void __jbd2_journal_clean_checkpoint_list (journal_t *journal, +enum shrink_type type) {transaction_t *transaction, *last_transaction, *next_transaction; -enum shrink_type type;bool released; +WARN_ON_ONCE (type ==SHRINK_BUSY_SKIP ); + transaction = journal->j_checkpoint_transactions;if (!transaction)return ; - type = destroy ?SHRINK_DESTROY :SHRINK_BUSY_STOP ; last_transaction = transaction->t_cpprev; next_transaction = transaction; do {@@ -527,7 +529,7 @@ void jbd2_journal_destroy_checkpoint(journal_t *journal)spin_unlock (&journal->j_list_lock);break ; } -__jbd2_journal_clean_checkpoint_list (journal, true); +__jbd2_journal_clean_checkpoint_list (journal,SHRINK_DESTROY );spin_unlock (&journal->j_list_lock);cond_resched (); }fs/jbd2/commit.c +1
-1@@ -501,7 +501,7 @@ void jbd2_journal_commit_transaction(journal_t *journal)* frees some memory */ spin_lock (&journal->j_list_lock); -__jbd2_journal_clean_checkpoint_list (journal, false); +__jbd2_journal_clean_checkpoint_list (journal,SHRINK_BUSY_STOP );spin_unlock (&journal->j_list_lock);jbd2_debug (3 ,"JBD2: commit phase 1\n" );include/linux/jbd2.h +3
-1@@ -1434,7 +1434,9 @@ void jbd2_update_log_tail(journal_t *journal, tid_t tid, unsigned long block);extern void jbd2_journal_commit_transaction (journal_t *);/* Checkpoint list management */ -void __jbd2_journal_clean_checkpoint_list (journal_t *journal,bool destroy); +enum shrink_type {SHRINK_DESTROY ,SHRINK_BUSY_STOP ,SHRINK_BUSY_SKIP }; + +void __jbd2_journal_clean_checkpoint_list (journal_t *journal,enum shrink_type type);unsigned long jbd2_journal_shrink_checkpoint_list (journal_t *journal,unsigned long *nr_to_scan);int __jbd2_journal_remove_checkpoint (struct journal_head *);int jbd2_journal_try_remove_checkpoint (struct journal_head *jh);Signature · 1 line
2.31.1
Signature · 2 lines
Jan Kara <[email protected]> SUSE Labs, CR
Quoted 5 lines · Ye Bin
"enum
shrink_type" can clearly express the meaning of the parameter of__jbd2_journal_clean_checkpoint_list(), and there is no need to use the bool type.Signed-off-by Ye Bin <[email protected]>
Looks good to me.
Quoted 87 lines
--- fs/jbd2/checkpoint.c | 16 +++++++++------- fs/jbd2/commit.c | 2 +- include/linux/jbd2.h | 4 +++- 3 files changed, 13 insertions(+), 9 deletions(-)fs/jbd2/checkpoint.c +9
-7@@ -337,8 +337,6 @@ int jbd2_cleanup_journal_tail(journal_t *journal)/* Checkpoint list management */ -enum shrink_type {SHRINK_DESTROY ,SHRINK_BUSY_STOP ,SHRINK_BUSY_SKIP }; -/* * journal_shrink_one_cp_list * @@ -472,21 +470,25 @@ unsigned long jbd2_journal_shrink_checkpoint_list(journal_t *journal,* journal_clean_checkpoint_list * * Find all the written-back checkpoint buffers in the journal and release them. -* If 'destroy' is set, release all buffers unconditionally. +* If 'type' is SHRINK_DESTROY, release all buffers unconditionally. If 'type' +* is SHRINK_BUSY_STOP, will stop release buffers if encounters a busy buffer. +* To avoid wasting CPU cycles scanning the buffer list in some cases, don't +* pass SHRINK_BUSY_SKIP 'type' for this function. * * Called with j_list_lock held. */ -void __jbd2_journal_clean_checkpoint_list (journal_t *journal,bool destroy) +void __jbd2_journal_clean_checkpoint_list (journal_t *journal, +enum shrink_type type) {transaction_t *transaction, *last_transaction, *next_transaction; -enum shrink_type type;bool released; +WARN_ON_ONCE (type ==SHRINK_BUSY_SKIP ); + transaction = journal->j_checkpoint_transactions;if (!transaction)return ; - type = destroy ?SHRINK_DESTROY :SHRINK_BUSY_STOP ; last_transaction = transaction->t_cpprev; next_transaction = transaction; do {@@ -527,7 +529,7 @@ void jbd2_journal_destroy_checkpoint(journal_t *journal)spin_unlock (&journal->j_list_lock);break ; } -__jbd2_journal_clean_checkpoint_list (journal, true); +__jbd2_journal_clean_checkpoint_list (journal,SHRINK_DESTROY );spin_unlock (&journal->j_list_lock);cond_resched (); }fs/jbd2/commit.c +1
-1@@ -501,7 +501,7 @@ void jbd2_journal_commit_transaction(journal_t *journal)* frees some memory */ spin_lock (&journal->j_list_lock); -__jbd2_journal_clean_checkpoint_list (journal, false); +__jbd2_journal_clean_checkpoint_list (journal,SHRINK_BUSY_STOP );spin_unlock (&journal->j_list_lock);jbd2_debug (3 ,"JBD2: commit phase 1\n" );include/linux/jbd2.h +3
-1@@ -1434,7 +1434,9 @@ void jbd2_update_log_tail(journal_t *journal, tid_t tid, unsigned long block);extern void jbd2_journal_commit_transaction (journal_t *);/* Checkpoint list management */ -void __jbd2_journal_clean_checkpoint_list (journal_t *journal,bool destroy); +enum shrink_type {SHRINK_DESTROY ,SHRINK_BUSY_STOP ,SHRINK_BUSY_SKIP }; + +void __jbd2_journal_clean_checkpoint_list (journal_t *journal,enum shrink_type type);unsigned long jbd2_journal_shrink_checkpoint_list (journal_t *journal,unsigned long *nr_to_scan);int __jbd2_journal_remove_checkpoint (struct journal_head *);int jbd2_journal_try_remove_checkpoint (struct journal_head *jh);
PATCH v2 2/2 jbd2: add prefix 'jbd2' for 'shrink_type'
In reply to Ye BinAs 'shrink_type' is exported. The module prefix 'jbd2' is added to distinguish from memory reclamation.
--- fs/jbd2/checkpoint.c | 22 +++++++++++----------- fs/jbd2/commit.c | 2 +- include/linux/jbd2.h | 4 ++-- 3 files changed, 14 insertions(+), 14 deletions(-)
fs/jbd2/checkpoint.c +11 -11
@@ -348,7 +348,7 @@ int jbd2_cleanup_journal_tail(journal_t *journal)* Called with j_list_lock held. */ static unsigned long journal_shrink_one_cp_list (struct journal_head *jh, -enum shrink_type type, +enum jbd2_shrink_type type,bool *released) {struct journal_head *last_jh;
@@ -365,12 +365,12 @@ static unsigned long journal_shrink_one_cp_list(struct journal_head *jh, jh = next_jh; next_jh = jh->b_cpnext; -if (type ==SHRINK_DESTROY ) { +if (type ==JBD2_SHRINK_DESTROY ) { ret =__jbd2_journal_remove_checkpoint (jh); }else { ret =jbd2_journal_try_remove_checkpoint (jh);if (ret <0 ) { -if (type ==SHRINK_BUSY_SKIP ) +if (type ==JBD2_SHRINK_BUSY_SKIP )continue ;break ; }
@@ -437,7 +437,7 @@ unsigned long jbd2_journal_shrink_checkpoint_list(journal_t *journal, tid = transaction->t_tid; freed =journal_shrink_one_cp_list (transaction->t_checkpoint_list, -SHRINK_BUSY_SKIP , &released); +JBD2_SHRINK_BUSY_SKIP , &released); nr_freed += freed; (*nr_to_scan) -=min (*nr_to_scan, freed);if (*nr_to_scan ==0 )
@@ -470,20 +470,20 @@ unsigned long jbd2_journal_shrink_checkpoint_list(journal_t *journal,* journal_clean_checkpoint_list * * Find all the written-back checkpoint buffers in the journal and release them. -* If 'type' is SHRINK_DESTROY, release all buffers unconditionally. If 'type' -* is SHRINK_BUSY_STOP, will stop release buffers if encounters a busy buffer. -* To avoid wasting CPU cycles scanning the buffer list in some cases, don't -* pass SHRINK_BUSY_SKIP 'type' for this function. +* If 'type' is JBD2_SHRINK_DESTROY, release all buffers unconditionally. If +* 'type' is JBD2_SHRINK_BUSY_STOP, will stop release buffers if encounters a +* busy buffer. To avoid wasting CPU cycles scanning the buffer list in some +* cases, don't pass JBD2_SHRINK_BUSY_SKIP 'type' for this function. * * Called with j_list_lock held. */ void __jbd2_journal_clean_checkpoint_list (journal_t *journal, -enum shrink_type type) +enum jbd2_shrink_type type) {transaction_t *transaction, *last_transaction, *next_transaction;bool released; -WARN_ON_ONCE (type ==SHRINK_BUSY_SKIP ); +WARN_ON_ONCE (type ==JBD2_SHRINK_BUSY_SKIP ); transaction = journal->j_checkpoint_transactions;if (!transaction)
@@ -529,7 +529,7 @@ void jbd2_journal_destroy_checkpoint(journal_t *journal)spin_unlock (&journal->j_list_lock);break ; } -__jbd2_journal_clean_checkpoint_list (journal,SHRINK_DESTROY ); +__jbd2_journal_clean_checkpoint_list (journal,JBD2_SHRINK_DESTROY );spin_unlock (&journal->j_list_lock);cond_resched (); }
fs/jbd2/commit.c +1 -1
@@ -501,7 +501,7 @@ void jbd2_journal_commit_transaction(journal_t *journal)* frees some memory */ spin_lock (&journal->j_list_lock); -__jbd2_journal_clean_checkpoint_list (journal,SHRINK_BUSY_STOP ); +__jbd2_journal_clean_checkpoint_list (journal,JBD2_SHRINK_BUSY_STOP );spin_unlock (&journal->j_list_lock);jbd2_debug (3 ,"JBD2: commit phase 1\n" );
include/linux/jbd2.h +2 -2
@@ -1434,9 +1434,9 @@ void jbd2_update_log_tail(journal_t *journal, tid_t tid, unsigned long block);extern void jbd2_journal_commit_transaction (journal_t *);/* Checkpoint list management */ -enum shrink_type {SHRINK_DESTROY ,SHRINK_BUSY_STOP ,SHRINK_BUSY_SKIP }; +enum jbd2_shrink_type {JBD2_SHRINK_DESTROY ,JBD2_SHRINK_BUSY_STOP ,JBD2_SHRINK_BUSY_SKIP }; -void __jbd2_journal_clean_checkpoint_list (journal_t *journal,enum shrink_type type); +void __jbd2_journal_clean_checkpoint_list (journal_t *journal,enum jbd2_shrink_type type);unsigned long jbd2_journal_shrink_checkpoint_list (journal_t *journal,unsigned long *nr_to_scan);int __jbd2_journal_remove_checkpoint (struct journal_head *);int jbd2_journal_try_remove_checkpoint (struct journal_head *jh);
Signature · 1 line
2.31.1
Re: [PATCH v2 2/2] jbd2: add prefix 'jbd2' for 'shrink_type'
Quoted 4 lines · Ye Bin
As '
shrink_type' is exported. The module prefix 'jbd2' is added to distinguish from memory reclamation.Signed-off-by Ye Bin <[email protected]>
Looks good. Feel free to add:
Honza
Quoted 111 lines
--- fs/jbd2/checkpoint.c | 22 +++++++++++----------- fs/jbd2/commit.c | 2 +- include/linux/jbd2.h | 4 ++-- 3 files changed, 14 insertions(+), 14 deletions(-)fs/jbd2/checkpoint.c +11
-11@@ -348,7 +348,7 @@ int jbd2_cleanup_journal_tail(journal_t *journal)* Called with j_list_lock held. */ static unsigned long journal_shrink_one_cp_list (struct journal_head *jh, -enum shrink_type type, +enum jbd2_shrink_type type,bool *released) {struct journal_head *last_jh;@@ -365,12 +365,12 @@ static unsigned long journal_shrink_one_cp_list(struct journal_head *jh, jh = next_jh; next_jh = jh->b_cpnext; -if (type ==SHRINK_DESTROY ) { +if (type ==JBD2_SHRINK_DESTROY ) { ret =__jbd2_journal_remove_checkpoint (jh); }else { ret =jbd2_journal_try_remove_checkpoint (jh);if (ret <0 ) { -if (type ==SHRINK_BUSY_SKIP ) +if (type ==JBD2_SHRINK_BUSY_SKIP )continue ;break ; }@@ -437,7 +437,7 @@ unsigned long jbd2_journal_shrink_checkpoint_list(journal_t *journal, tid = transaction->t_tid; freed =journal_shrink_one_cp_list (transaction->t_checkpoint_list, -SHRINK_BUSY_SKIP , &released); +JBD2_SHRINK_BUSY_SKIP , &released); nr_freed += freed; (*nr_to_scan) -=min (*nr_to_scan, freed);if (*nr_to_scan ==0 )@@ -470,20 +470,20 @@ unsigned long jbd2_journal_shrink_checkpoint_list(journal_t *journal,* journal_clean_checkpoint_list * * Find all the written-back checkpoint buffers in the journal and release them. -* If 'type' is SHRINK_DESTROY, release all buffers unconditionally. If 'type' -* is SHRINK_BUSY_STOP, will stop release buffers if encounters a busy buffer. -* To avoid wasting CPU cycles scanning the buffer list in some cases, don't -* pass SHRINK_BUSY_SKIP 'type' for this function. +* If 'type' is JBD2_SHRINK_DESTROY, release all buffers unconditionally. If +* 'type' is JBD2_SHRINK_BUSY_STOP, will stop release buffers if encounters a +* busy buffer. To avoid wasting CPU cycles scanning the buffer list in some +* cases, don't pass JBD2_SHRINK_BUSY_SKIP 'type' for this function. * * Called with j_list_lock held. */ void __jbd2_journal_clean_checkpoint_list (journal_t *journal, -enum shrink_type type) +enum jbd2_shrink_type type) {transaction_t *transaction, *last_transaction, *next_transaction;bool released; -WARN_ON_ONCE (type ==SHRINK_BUSY_SKIP ); +WARN_ON_ONCE (type ==JBD2_SHRINK_BUSY_SKIP ); transaction = journal->j_checkpoint_transactions;if (!transaction)@@ -529,7 +529,7 @@ void jbd2_journal_destroy_checkpoint(journal_t *journal)spin_unlock (&journal->j_list_lock);break ; } -__jbd2_journal_clean_checkpoint_list (journal,SHRINK_DESTROY ); +__jbd2_journal_clean_checkpoint_list (journal,JBD2_SHRINK_DESTROY );spin_unlock (&journal->j_list_lock);cond_resched (); }fs/jbd2/commit.c +1
-1@@ -501,7 +501,7 @@ void jbd2_journal_commit_transaction(journal_t *journal)* frees some memory */ spin_lock (&journal->j_list_lock); -__jbd2_journal_clean_checkpoint_list (journal,SHRINK_BUSY_STOP ); +__jbd2_journal_clean_checkpoint_list (journal,JBD2_SHRINK_BUSY_STOP );spin_unlock (&journal->j_list_lock);jbd2_debug (3 ,"JBD2: commit phase 1\n" );include/linux/jbd2.h +2
-2@@ -1434,9 +1434,9 @@ void jbd2_update_log_tail(journal_t *journal, tid_t tid, unsigned long block);extern void jbd2_journal_commit_transaction (journal_t *);/* Checkpoint list management */ -enum shrink_type {SHRINK_DESTROY ,SHRINK_BUSY_STOP ,SHRINK_BUSY_SKIP }; +enum jbd2_shrink_type {JBD2_SHRINK_DESTROY ,JBD2_SHRINK_BUSY_STOP ,JBD2_SHRINK_BUSY_SKIP }; -void __jbd2_journal_clean_checkpoint_list (journal_t *journal,enum shrink_type type); +void __jbd2_journal_clean_checkpoint_list (journal_t *journal,enum jbd2_shrink_type type);unsigned long jbd2_journal_shrink_checkpoint_list (journal_t *journal,unsigned long *nr_to_scan);int __jbd2_journal_remove_checkpoint (struct journal_head *);int jbd2_journal_try_remove_checkpoint (struct journal_head *jh);Signature · 1 line
2.31.1
Signature · 2 lines
Jan Kara <[email protected]> SUSE Labs, CR
Re: [PATCH v2 2/2] jbd2: add prefix 'jbd2' for 'shrink_type'
In reply to Ye BinQuoted 4 lines · Ye Bin
As '
shrink_type' is exported. The module prefix 'jbd2' is added to distinguish from memory reclamation.Signed-off-by Ye Bin <[email protected]>
Looks nice.
Quoted 109 lines
--- fs/jbd2/checkpoint.c | 22 +++++++++++----------- fs/jbd2/commit.c | 2 +- include/linux/jbd2.h | 4 ++-- 3 files changed, 14 insertions(+), 14 deletions(-)fs/jbd2/checkpoint.c +11
-11@@ -348,7 +348,7 @@ int jbd2_cleanup_journal_tail(journal_t *journal)* Called with j_list_lock held. */ static unsigned long journal_shrink_one_cp_list (struct journal_head *jh, -enum shrink_type type, +enum jbd2_shrink_type type,bool *released) {struct journal_head *last_jh;@@ -365,12 +365,12 @@ static unsigned long journal_shrink_one_cp_list(struct journal_head *jh, jh = next_jh; next_jh = jh->b_cpnext; -if (type ==SHRINK_DESTROY ) { +if (type ==JBD2_SHRINK_DESTROY ) { ret =__jbd2_journal_remove_checkpoint (jh); }else { ret =jbd2_journal_try_remove_checkpoint (jh);if (ret <0 ) { -if (type ==SHRINK_BUSY_SKIP ) +if (type ==JBD2_SHRINK_BUSY_SKIP )continue ;break ; }@@ -437,7 +437,7 @@ unsigned long jbd2_journal_shrink_checkpoint_list(journal_t *journal, tid = transaction->t_tid; freed =journal_shrink_one_cp_list (transaction->t_checkpoint_list, -SHRINK_BUSY_SKIP , &released); +JBD2_SHRINK_BUSY_SKIP , &released); nr_freed += freed; (*nr_to_scan) -=min (*nr_to_scan, freed);if (*nr_to_scan ==0 )@@ -470,20 +470,20 @@ unsigned long jbd2_journal_shrink_checkpoint_list(journal_t *journal,* journal_clean_checkpoint_list * * Find all the written-back checkpoint buffers in the journal and release them. -* If 'type' is SHRINK_DESTROY, release all buffers unconditionally. If 'type' -* is SHRINK_BUSY_STOP, will stop release buffers if encounters a busy buffer. -* To avoid wasting CPU cycles scanning the buffer list in some cases, don't -* pass SHRINK_BUSY_SKIP 'type' for this function. +* If 'type' is JBD2_SHRINK_DESTROY, release all buffers unconditionally. If +* 'type' is JBD2_SHRINK_BUSY_STOP, will stop release buffers if encounters a +* busy buffer. To avoid wasting CPU cycles scanning the buffer list in some +* cases, don't pass JBD2_SHRINK_BUSY_SKIP 'type' for this function. * * Called with j_list_lock held. */ void __jbd2_journal_clean_checkpoint_list (journal_t *journal, -enum shrink_type type) +enum jbd2_shrink_type type) {transaction_t *transaction, *last_transaction, *next_transaction;bool released; -WARN_ON_ONCE (type ==SHRINK_BUSY_SKIP ); +WARN_ON_ONCE (type ==JBD2_SHRINK_BUSY_SKIP ); transaction = journal->j_checkpoint_transactions;if (!transaction)@@ -529,7 +529,7 @@ void jbd2_journal_destroy_checkpoint(journal_t *journal)spin_unlock (&journal->j_list_lock);break ; } -__jbd2_journal_clean_checkpoint_list (journal,SHRINK_DESTROY ); +__jbd2_journal_clean_checkpoint_list (journal,JBD2_SHRINK_DESTROY );spin_unlock (&journal->j_list_lock);cond_resched (); }fs/jbd2/commit.c +1
-1@@ -501,7 +501,7 @@ void jbd2_journal_commit_transaction(journal_t *journal)* frees some memory */ spin_lock (&journal->j_list_lock); -__jbd2_journal_clean_checkpoint_list (journal,SHRINK_BUSY_STOP ); +__jbd2_journal_clean_checkpoint_list (journal,JBD2_SHRINK_BUSY_STOP );spin_unlock (&journal->j_list_lock);jbd2_debug (3 ,"JBD2: commit phase 1\n" );include/linux/jbd2.h +2
-2@@ -1434,9 +1434,9 @@ void jbd2_update_log_tail(journal_t *journal, tid_t tid, unsigned long block);extern void jbd2_journal_commit_transaction (journal_t *);/* Checkpoint list management */ -enum shrink_type {SHRINK_DESTROY ,SHRINK_BUSY_STOP ,SHRINK_BUSY_SKIP }; +enum jbd2_shrink_type {JBD2_SHRINK_DESTROY ,JBD2_SHRINK_BUSY_STOP ,JBD2_SHRINK_BUSY_SKIP }; -void __jbd2_journal_clean_checkpoint_list (journal_t *journal,enum shrink_type type); +void __jbd2_journal_clean_checkpoint_list (journal_t *journal,enum jbd2_shrink_type type);unsigned long jbd2_journal_shrink_checkpoint_list (journal_t *journal,unsigned long *nr_to_scan);int __jbd2_journal_remove_checkpoint (struct journal_head *);int jbd2_journal_try_remove_checkpoint (struct journal_head *jh);
Quoted 10 lines · Ye Bin
Diff v2 vs v1:
1. Update/add comment for__jbd2_journal_clean_checkpoint_list();
2. Add 'jbd2' prefix for 'shrink_type';Ye Bin (2):
jbd2: useshrink_typetype instead of bool type for
__jbd2_journal_clean_checkpoint_list()
jbd2: add prefix 'jbd2' for 'shrink_type'[...]
Applied, thanks!
[1/2] jbd2: use shrink_type type instead of bool type for __jbd2_journal_clean_checkpoint_list()
commit: 078760d950016f5982751f5512e69f26ad8feb31
[2/2] jbd2: add prefix 'jbd2' for 'shrink_type'
commit: 26770a717cac57041d9414725e3e01dd19b08dd2Best regards,
Signature · 1 line
Theodore Ts'o <[email protected]>