Message ID | 20190816150600.9188-4-josef@toxicpanda.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Rework the worst case calculations for space reservation | expand |
On Fri, Aug 16, 2019 at 4:08 PM Josef Bacik <josef@toxicpanda.com> wrote: > > We only use the global reserve fallback for truncates, so use For truncates? I would say only for unlinks, rmdir and removing empty block groups. Or did some of your previous patches changed that, and I missed it, and now only truncates use it? > calc_metadata_size instead of calc_insert_metadata_size. I wouldn't hurt to be less vague and mention why we do this change (if this is still used for unlinks/bg removal, we still need to insertion orphan item, not just remove items). Thanks. > > Signed-off-by: Josef Bacik <josef@toxicpanda.com> > --- > fs/btrfs/transaction.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c > index f21416d68c2c..cc1a3000a344 100644 > --- a/fs/btrfs/transaction.c > +++ b/fs/btrfs/transaction.c > @@ -636,7 +636,7 @@ struct btrfs_trans_handle *btrfs_start_transaction_fallback_global_rsv( > if (IS_ERR(trans)) > return trans; > > - num_bytes = btrfs_calc_insert_metadata_size(fs_info, num_items); > + num_bytes = btrfs_calc_metadata_size(fs_info, num_items); > ret = btrfs_cond_migrate_bytes(fs_info, &fs_info->trans_block_rsv, > num_bytes, min_factor); > if (ret) { > -- > 2.21.0 >
On Fri, Aug 16, 2019 at 04:35:42PM +0100, Filipe Manana wrote: > On Fri, Aug 16, 2019 at 4:08 PM Josef Bacik <josef@toxicpanda.com> wrote: > > > > We only use the global reserve fallback for truncates, so use > > For truncates? > I would say only for unlinks, rmdir and removing empty block groups. > Or did some of your previous patches changed that, and I missed it, > and now only truncates use it? > Sorry I misspoke, but same basic idea, we only use it when we're removing shit, not adding shit. > > calc_metadata_size instead of calc_insert_metadata_size. > > I wouldn't hurt to be less vague and mention why we do this change (if > this is still used for unlinks/bg removal, we still need to insertion > orphan item, not just remove items). > Argh I misread the orphan stuff, I thought it was earlier/separate from this usage. You're right, let me see if I can just axe this altogether. Thanks, Josef
diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c index f21416d68c2c..cc1a3000a344 100644 --- a/fs/btrfs/transaction.c +++ b/fs/btrfs/transaction.c @@ -636,7 +636,7 @@ struct btrfs_trans_handle *btrfs_start_transaction_fallback_global_rsv( if (IS_ERR(trans)) return trans; - num_bytes = btrfs_calc_insert_metadata_size(fs_info, num_items); + num_bytes = btrfs_calc_metadata_size(fs_info, num_items); ret = btrfs_cond_migrate_bytes(fs_info, &fs_info->trans_block_rsv, num_bytes, min_factor); if (ret) {
We only use the global reserve fallback for truncates, so use calc_metadata_size instead of calc_insert_metadata_size. Signed-off-by: Josef Bacik <josef@toxicpanda.com> --- fs/btrfs/transaction.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)