On 2024/5/6 22:17, Kemeng Shi wrote: > The done_copy_out info from jbd2_journal_write_metadata_buffer is not > used. Simply remove it. > > Signed-off-by: Kemeng Shi <shikemeng@xxxxxxxxxxxxxxx> > --- > fs/jbd2/journal.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c > index 207b24e12ce9..068031f35aea 100644 > --- a/fs/jbd2/journal.c > +++ b/fs/jbd2/journal.c > @@ -320,7 +320,6 @@ static void journal_kill_thread(journal_t *journal) > * > * On success: > * Bit 0 set == escape performed on the data > - * Bit 1 set == buffer copy-out performed (kfree the data after IO) > */ > > int jbd2_journal_write_metadata_buffer(transaction_t *transaction, > @@ -455,7 +454,7 @@ int jbd2_journal_write_metadata_buffer(transaction_t *transaction, > set_buffer_shadow(bh_in); > spin_unlock(&jh_in->b_state_lock); > > - return do_escape | (done_copy_out << 1); > + return do_escape; > } > I checked the history, it seems that this bit has not been used since the very beginning when the jbd code was merged in, I suppose we could drop it. Since there is only one flag that is still in use, why not just drop the flag and pass out do_escape through an output parameter, or directly pass tag_flag, after that we could also drop the weird "if (flags & 1)" check in jbd2_journal_commit_transaction()? Thanks, Yi.