mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 16:44:58 +02:00
bcachefs: Move write_points to debugfs
this was hitting the sysfs 4k limit Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
parent
55a132c37a
commit
78c9c6f6cd
|
|
@ -7,6 +7,7 @@
|
|||
*/
|
||||
|
||||
#include "bcachefs.h"
|
||||
#include "alloc_foreground.h"
|
||||
#include "bkey_methods.h"
|
||||
#include "btree_cache.h"
|
||||
#include "btree_io.h"
|
||||
|
|
@ -844,8 +845,11 @@ static void btree_deadlock_to_text(struct printbuf *out, struct bch_fs *c)
|
|||
seqmutex_unlock(&c->btree_trans_lock);
|
||||
}
|
||||
|
||||
static ssize_t bch2_btree_deadlock_read(struct file *file, char __user *buf,
|
||||
size_t size, loff_t *ppos)
|
||||
typedef void (*fs_to_text_fn)(struct printbuf *, struct bch_fs *);
|
||||
|
||||
static ssize_t bch2_simple_print(struct file *file, char __user *buf,
|
||||
size_t size, loff_t *ppos,
|
||||
fs_to_text_fn fn)
|
||||
{
|
||||
struct dump_iter *i = file->private_data;
|
||||
struct bch_fs *c = i->c;
|
||||
|
|
@ -856,7 +860,7 @@ static ssize_t bch2_btree_deadlock_read(struct file *file, char __user *buf,
|
|||
i->ret = 0;
|
||||
|
||||
if (!i->iter) {
|
||||
btree_deadlock_to_text(&i->buf, c);
|
||||
fn(&i->buf, c);
|
||||
i->iter++;
|
||||
}
|
||||
|
||||
|
|
@ -869,6 +873,12 @@ static ssize_t bch2_btree_deadlock_read(struct file *file, char __user *buf,
|
|||
return ret ?: i->ret;
|
||||
}
|
||||
|
||||
static ssize_t bch2_btree_deadlock_read(struct file *file, char __user *buf,
|
||||
size_t size, loff_t *ppos)
|
||||
{
|
||||
return bch2_simple_print(file, buf, size, ppos, btree_deadlock_to_text);
|
||||
}
|
||||
|
||||
static const struct file_operations btree_deadlock_ops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = bch2_dump_open,
|
||||
|
|
@ -876,6 +886,19 @@ static const struct file_operations btree_deadlock_ops = {
|
|||
.read = bch2_btree_deadlock_read,
|
||||
};
|
||||
|
||||
static ssize_t bch2_write_points_read(struct file *file, char __user *buf,
|
||||
size_t size, loff_t *ppos)
|
||||
{
|
||||
return bch2_simple_print(file, buf, size, ppos, bch2_write_points_to_text);
|
||||
}
|
||||
|
||||
static const struct file_operations write_points_ops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = bch2_dump_open,
|
||||
.release = bch2_dump_release,
|
||||
.read = bch2_write_points_read,
|
||||
};
|
||||
|
||||
void bch2_fs_debug_exit(struct bch_fs *c)
|
||||
{
|
||||
if (!IS_ERR_OR_NULL(c->fs_debug_dir))
|
||||
|
|
@ -927,6 +950,9 @@ void bch2_fs_debug_init(struct bch_fs *c)
|
|||
debugfs_create_file("btree_deadlock", 0400, c->fs_debug_dir,
|
||||
c->btree_debug, &btree_deadlock_ops);
|
||||
|
||||
debugfs_create_file("write_points", 0400, c->fs_debug_dir,
|
||||
c->btree_debug, &write_points_ops);
|
||||
|
||||
c->btree_debug_dir = debugfs_create_dir("btrees", c->fs_debug_dir);
|
||||
if (IS_ERR_OR_NULL(c->btree_debug_dir))
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -176,7 +176,6 @@ read_attribute(btree_reserve_cache);
|
|||
read_attribute(stripes_heap);
|
||||
read_attribute(open_buckets);
|
||||
read_attribute(open_buckets_partial);
|
||||
read_attribute(write_points);
|
||||
read_attribute(nocow_lock_table);
|
||||
|
||||
#ifdef BCH_WRITE_REF_DEBUG
|
||||
|
|
@ -364,9 +363,6 @@ SHOW(bch2_fs)
|
|||
if (attr == &sysfs_open_buckets_partial)
|
||||
bch2_open_buckets_partial_to_text(out, c);
|
||||
|
||||
if (attr == &sysfs_write_points)
|
||||
bch2_write_points_to_text(out, c);
|
||||
|
||||
if (attr == &sysfs_compression_stats)
|
||||
bch2_compression_stats_to_text(out, c);
|
||||
|
||||
|
|
@ -569,7 +565,6 @@ struct attribute *bch2_fs_internal_files[] = {
|
|||
&sysfs_stripes_heap,
|
||||
&sysfs_open_buckets,
|
||||
&sysfs_open_buckets_partial,
|
||||
&sysfs_write_points,
|
||||
#ifdef BCH_WRITE_REF_DEBUG
|
||||
&sysfs_write_refs,
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user