Message ID | 1513332378-7193-1-git-send-email-nborisov@suse.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, Dec 15, 2017 at 12:06:18PM +0200, Nikolay Borisov wrote: > Commit 0e8c36a9fd81 ("Btrfs: fix lots of orphan inodes when the space > is not enough") changed the way transaction reservation is made in > btrfs_evict_node and as a result this function became unused. This has > been the status quo for 5 years in which time no one noticed, so I'd > say it's safe to assume it's unlikely it will ever be used again. > > Signed-off-by: Nikolay Borisov <nborisov@suse.com> https://marc.info/?l=linux-btrfs&m=142117508730660&w=2 https://marc.info/?l=linux-kernel&m=142119399504907&w=2 "Transcaction API, removing the func does not make sense without removing BTRFS_RESERVE_FLUSH_LIMIT at the same time." > --- > fs/btrfs/transaction.c | 10 +--------- > fs/btrfs/transaction.h | 3 --- > 2 files changed, 1 insertion(+), 12 deletions(-) > > diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c > index 5a8c2649af2f..b1793688c716 100644 > --- a/fs/btrfs/transaction.c > +++ b/fs/btrfs/transaction.c > @@ -542,7 +542,7 @@ start_transaction(struct btrfs_root *root, unsigned int num_items, > * and then we deadlock with somebody doing a freeze. > * > * If we are ATTACH, it means we just want to catch the current > - * transaction and commit it, so we needn't do sb_start_intwrite(). > + * transaction and commit it, so we needn't do sb_start_intwrite(). Unrelated change. > */ > if (type & __TRANS_FREEZABLE) > sb_start_intwrite(fs_info->sb); > @@ -658,14 +658,6 @@ struct btrfs_trans_handle *btrfs_start_transaction_fallback_global_rsv( > return trans; > } > > -struct btrfs_trans_handle *btrfs_start_transaction_lflush( > - struct btrfs_root *root, > - unsigned int num_items) > -{ > - return start_transaction(root, num_items, TRANS_START, > - BTRFS_RESERVE_FLUSH_LIMIT, true); > -} > - > struct btrfs_trans_handle *btrfs_join_transaction(struct btrfs_root *root) > { > return start_transaction(root, 0, TRANS_JOIN, BTRFS_RESERVE_NO_FLUSH, > diff --git a/fs/btrfs/transaction.h b/fs/btrfs/transaction.h > index c55e44560103..9b25b0ba92ee 100644 > --- a/fs/btrfs/transaction.h > +++ b/fs/btrfs/transaction.h > @@ -187,9 +187,6 @@ struct btrfs_trans_handle *btrfs_start_transaction_fallback_global_rsv( > struct btrfs_root *root, > unsigned int num_items, > int min_factor); > -struct btrfs_trans_handle *btrfs_start_transaction_lflush( > - struct btrfs_root *root, > - unsigned int num_items); > struct btrfs_trans_handle *btrfs_join_transaction(struct btrfs_root *root); > struct btrfs_trans_handle *btrfs_join_transaction_nolock(struct btrfs_root *root); > struct btrfs_trans_handle *btrfs_attach_transaction(struct btrfs_root *root); > -- > 2.7.4 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 2.01.2018 18:17, David Sterba wrote: > On Fri, Dec 15, 2017 at 12:06:18PM +0200, Nikolay Borisov wrote: >> Commit 0e8c36a9fd81 ("Btrfs: fix lots of orphan inodes when the space >> is not enough") changed the way transaction reservation is made in >> btrfs_evict_node and as a result this function became unused. This has >> been the status quo for 5 years in which time no one noticed, so I'd >> say it's safe to assume it's unlikely it will ever be used again. >> >> Signed-off-by: Nikolay Borisov <nborisov@suse.com> > > https://marc.info/?l=linux-btrfs&m=142117508730660&w=2 > https://marc.info/?l=linux-kernel&m=142119399504907&w=2 > > "Transcaction API, removing the func does not make sense without > removing BTRFS_RESERVE_FLUSH_LIMIT at the same time." I can't quite understand what you are saying. There are couple of more places where BTRFS_RESERVE_FLUSH_LIMIT is used outside of the transaction api (btrfs_delalloc_reserve_metadata, btrfs_evict_inode and reserve_metadata_space). Do you mean those function should also remove the usage of FLUSH_LIMIT? > >> --- >> fs/btrfs/transaction.c | 10 +--------- >> fs/btrfs/transaction.h | 3 --- >> 2 files changed, 1 insertion(+), 12 deletions(-) >> >> diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c >> index 5a8c2649af2f..b1793688c716 100644 >> --- a/fs/btrfs/transaction.c >> +++ b/fs/btrfs/transaction.c >> @@ -542,7 +542,7 @@ start_transaction(struct btrfs_root *root, unsigned int num_items, >> * and then we deadlock with somebody doing a freeze. >> * >> * If we are ATTACH, it means we just want to catch the current >> - * transaction and commit it, so we needn't do sb_start_intwrite(). >> + * transaction and commit it, so we needn't do sb_start_intwrite(). > > Unrelated change. > >> */ >> if (type & __TRANS_FREEZABLE) >> sb_start_intwrite(fs_info->sb); >> @@ -658,14 +658,6 @@ struct btrfs_trans_handle *btrfs_start_transaction_fallback_global_rsv( >> return trans; >> } >> >> -struct btrfs_trans_handle *btrfs_start_transaction_lflush( >> - struct btrfs_root *root, >> - unsigned int num_items) >> -{ >> - return start_transaction(root, num_items, TRANS_START, >> - BTRFS_RESERVE_FLUSH_LIMIT, true); >> -} >> - >> struct btrfs_trans_handle *btrfs_join_transaction(struct btrfs_root *root) >> { >> return start_transaction(root, 0, TRANS_JOIN, BTRFS_RESERVE_NO_FLUSH, >> diff --git a/fs/btrfs/transaction.h b/fs/btrfs/transaction.h >> index c55e44560103..9b25b0ba92ee 100644 >> --- a/fs/btrfs/transaction.h >> +++ b/fs/btrfs/transaction.h >> @@ -187,9 +187,6 @@ struct btrfs_trans_handle *btrfs_start_transaction_fallback_global_rsv( >> struct btrfs_root *root, >> unsigned int num_items, >> int min_factor); >> -struct btrfs_trans_handle *btrfs_start_transaction_lflush( >> - struct btrfs_root *root, >> - unsigned int num_items); >> struct btrfs_trans_handle *btrfs_join_transaction(struct btrfs_root *root); >> struct btrfs_trans_handle *btrfs_join_transaction_nolock(struct btrfs_root *root); >> struct btrfs_trans_handle *btrfs_attach_transaction(struct btrfs_root *root); >> -- >> 2.7.4 >> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c index 5a8c2649af2f..b1793688c716 100644 --- a/fs/btrfs/transaction.c +++ b/fs/btrfs/transaction.c @@ -542,7 +542,7 @@ start_transaction(struct btrfs_root *root, unsigned int num_items, * and then we deadlock with somebody doing a freeze. * * If we are ATTACH, it means we just want to catch the current - * transaction and commit it, so we needn't do sb_start_intwrite(). + * transaction and commit it, so we needn't do sb_start_intwrite(). */ if (type & __TRANS_FREEZABLE) sb_start_intwrite(fs_info->sb); @@ -658,14 +658,6 @@ struct btrfs_trans_handle *btrfs_start_transaction_fallback_global_rsv( return trans; } -struct btrfs_trans_handle *btrfs_start_transaction_lflush( - struct btrfs_root *root, - unsigned int num_items) -{ - return start_transaction(root, num_items, TRANS_START, - BTRFS_RESERVE_FLUSH_LIMIT, true); -} - struct btrfs_trans_handle *btrfs_join_transaction(struct btrfs_root *root) { return start_transaction(root, 0, TRANS_JOIN, BTRFS_RESERVE_NO_FLUSH, diff --git a/fs/btrfs/transaction.h b/fs/btrfs/transaction.h index c55e44560103..9b25b0ba92ee 100644 --- a/fs/btrfs/transaction.h +++ b/fs/btrfs/transaction.h @@ -187,9 +187,6 @@ struct btrfs_trans_handle *btrfs_start_transaction_fallback_global_rsv( struct btrfs_root *root, unsigned int num_items, int min_factor); -struct btrfs_trans_handle *btrfs_start_transaction_lflush( - struct btrfs_root *root, - unsigned int num_items); struct btrfs_trans_handle *btrfs_join_transaction(struct btrfs_root *root); struct btrfs_trans_handle *btrfs_join_transaction_nolock(struct btrfs_root *root); struct btrfs_trans_handle *btrfs_attach_transaction(struct btrfs_root *root);
Commit 0e8c36a9fd81 ("Btrfs: fix lots of orphan inodes when the space is not enough") changed the way transaction reservation is made in btrfs_evict_node and as a result this function became unused. This has been the status quo for 5 years in which time no one noticed, so I'd say it's safe to assume it's unlikely it will ever be used again. Signed-off-by: Nikolay Borisov <nborisov@suse.com> --- fs/btrfs/transaction.c | 10 +--------- fs/btrfs/transaction.h | 3 --- 2 files changed, 1 insertion(+), 12 deletions(-)