mirror of
https://github.com/koverstreet/bcachefs-tools.git
synced 2025-02-09 00:00:04 +03:00
Update bcachefs sources to ab3b6e7dd6 bcachefs: Fix pr_buf() calls
This commit is contained in:
parent
70f2681838
commit
32aabbc4e5
@ -1 +1 @@
|
|||||||
5e392aed7aa06fd3476d1e5da1248f4d47867fc4
|
ab3b6e7dd69c5cd5dfd96fd265ade6897720f671
|
||||||
|
@ -182,6 +182,40 @@ TRACE_EVENT(journal_reclaim_finish,
|
|||||||
__entry->nr_flushed)
|
__entry->nr_flushed)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/* allocator: */
|
||||||
|
|
||||||
|
TRACE_EVENT(do_discards,
|
||||||
|
TP_PROTO(struct bch_fs *c, u64 seen, u64 open,
|
||||||
|
u64 need_journal_commit, u64 discarded, int ret),
|
||||||
|
TP_ARGS(c, seen, open, need_journal_commit, discarded, ret),
|
||||||
|
|
||||||
|
TP_STRUCT__entry(
|
||||||
|
__field(dev_t, dev )
|
||||||
|
__field(u64, seen )
|
||||||
|
__field(u64, open )
|
||||||
|
__field(u64, need_journal_commit )
|
||||||
|
__field(u64, discarded )
|
||||||
|
__field(int, ret )
|
||||||
|
),
|
||||||
|
|
||||||
|
TP_fast_assign(
|
||||||
|
__entry->dev = c->dev;
|
||||||
|
__entry->seen = seen;
|
||||||
|
__entry->open = open;
|
||||||
|
__entry->need_journal_commit = need_journal_commit;
|
||||||
|
__entry->discarded = discarded;
|
||||||
|
__entry->ret = ret;
|
||||||
|
),
|
||||||
|
|
||||||
|
TP_printk("%d%d seen %llu open %llu need_journal_commit %llu discarded %llu ret %i",
|
||||||
|
MAJOR(__entry->dev), MINOR(__entry->dev),
|
||||||
|
__entry->seen,
|
||||||
|
__entry->open,
|
||||||
|
__entry->need_journal_commit,
|
||||||
|
__entry->discarded,
|
||||||
|
__entry->ret)
|
||||||
|
);
|
||||||
|
|
||||||
/* bset.c: */
|
/* bset.c: */
|
||||||
|
|
||||||
DEFINE_EVENT(bpos, bkey_pack_pos_fail,
|
DEFINE_EVENT(bpos, bkey_pack_pos_fail,
|
||||||
|
@ -886,7 +886,7 @@ static int bch2_clear_need_discard(struct btree_trans *trans, struct bpos pos,
|
|||||||
GFP_KERNEL, 0);
|
GFP_KERNEL, 0);
|
||||||
*discard_done = true;
|
*discard_done = true;
|
||||||
|
|
||||||
ret = bch2_trans_relock(trans);
|
ret = bch2_trans_relock(trans) ? 0 : -EINTR;
|
||||||
if (ret)
|
if (ret)
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
@ -907,6 +907,7 @@ static void bch2_do_discards_work(struct work_struct *work)
|
|||||||
struct btree_trans trans;
|
struct btree_trans trans;
|
||||||
struct btree_iter iter;
|
struct btree_iter iter;
|
||||||
struct bkey_s_c k;
|
struct bkey_s_c k;
|
||||||
|
u64 seen = 0, open = 0, need_journal_commit = 0, discarded = 0;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
bch2_trans_init(&trans, c, 0, 0);
|
bch2_trans_init(&trans, c, 0, 0);
|
||||||
@ -929,11 +930,19 @@ static void bch2_do_discards_work(struct work_struct *work)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
seen++;
|
||||||
|
|
||||||
|
if (bch2_bucket_is_open_safe(c, k.k->p.inode, k.k->p.offset)) {
|
||||||
|
open++;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (bch2_bucket_needs_journal_commit(&c->buckets_waiting_for_journal,
|
if (bch2_bucket_needs_journal_commit(&c->buckets_waiting_for_journal,
|
||||||
c->journal.flushed_seq_ondisk,
|
c->journal.flushed_seq_ondisk,
|
||||||
k.k->p.inode, k.k->p.offset) ||
|
k.k->p.inode, k.k->p.offset)) {
|
||||||
bch2_bucket_is_open_safe(c, k.k->p.inode, k.k->p.offset))
|
need_journal_commit++;
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
ret = __bch2_trans_do(&trans, NULL, NULL,
|
ret = __bch2_trans_do(&trans, NULL, NULL,
|
||||||
BTREE_INSERT_USE_RESERVE|
|
BTREE_INSERT_USE_RESERVE|
|
||||||
@ -941,6 +950,8 @@ static void bch2_do_discards_work(struct work_struct *work)
|
|||||||
bch2_clear_need_discard(&trans, k.k->p, ca, &discard_done));
|
bch2_clear_need_discard(&trans, k.k->p, ca, &discard_done));
|
||||||
if (ret)
|
if (ret)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
discarded++;
|
||||||
}
|
}
|
||||||
bch2_trans_iter_exit(&trans, &iter);
|
bch2_trans_iter_exit(&trans, &iter);
|
||||||
|
|
||||||
@ -948,7 +959,13 @@ static void bch2_do_discards_work(struct work_struct *work)
|
|||||||
percpu_ref_put(&ca->io_ref);
|
percpu_ref_put(&ca->io_ref);
|
||||||
|
|
||||||
bch2_trans_exit(&trans);
|
bch2_trans_exit(&trans);
|
||||||
|
|
||||||
|
if (need_journal_commit * 2 > seen)
|
||||||
|
bch2_journal_flush_async(&c->journal, NULL);
|
||||||
|
|
||||||
percpu_ref_put(&c->writes);
|
percpu_ref_put(&c->writes);
|
||||||
|
|
||||||
|
trace_do_discards(c, seen, open, need_journal_commit, discarded, ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
void bch2_do_discards(struct bch_fs *c)
|
void bch2_do_discards(struct bch_fs *c)
|
||||||
|
@ -199,8 +199,6 @@ static int __bio_uncompress(struct bch_fs *c, struct bio *src,
|
|||||||
workspace = mempool_alloc(&c->decompress_workspace, GFP_NOIO);
|
workspace = mempool_alloc(&c->decompress_workspace, GFP_NOIO);
|
||||||
ctx = zstd_init_dctx(workspace, zstd_dctx_workspace_bound());
|
ctx = zstd_init_dctx(workspace, zstd_dctx_workspace_bound());
|
||||||
|
|
||||||
src_len = le32_to_cpup(src_data.b);
|
|
||||||
|
|
||||||
ret = zstd_decompress_dctx(ctx,
|
ret = zstd_decompress_dctx(ctx,
|
||||||
dst_data, dst_len,
|
dst_data, dst_len,
|
||||||
src_data.b + 4, real_src_len);
|
src_data.b + 4, real_src_len);
|
||||||
|
@ -324,7 +324,7 @@ void bch2_opt_to_text(struct printbuf *out,
|
|||||||
if (flags & OPT_SHOW_FULL_LIST)
|
if (flags & OPT_SHOW_FULL_LIST)
|
||||||
bch2_string_opt_to_text(out, opt->choices, v);
|
bch2_string_opt_to_text(out, opt->choices, v);
|
||||||
else
|
else
|
||||||
pr_buf(out, opt->choices[v]);
|
pr_buf(out, "%s", opt->choices[v]);
|
||||||
break;
|
break;
|
||||||
case BCH_OPT_FN:
|
case BCH_OPT_FN:
|
||||||
opt->to_text(out, c, sb, v);
|
opt->to_text(out, c, sb, v);
|
||||||
|
@ -386,7 +386,7 @@ static inline void pr_uuid(struct printbuf *out, u8 *uuid)
|
|||||||
char uuid_str[40];
|
char uuid_str[40];
|
||||||
|
|
||||||
uuid_unparse_lower(uuid, uuid_str);
|
uuid_unparse_lower(uuid, uuid_str);
|
||||||
pr_buf(out, uuid_str);
|
pr_buf(out, "%s", uuid_str);
|
||||||
}
|
}
|
||||||
|
|
||||||
int bch2_strtoint_h(const char *, int *);
|
int bch2_strtoint_h(const char *, int *);
|
||||||
|
Loading…
Reference in New Issue
Block a user