]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - libbcachefs/bcachefs.h
Update bcachefs sources to d267e10a43b2 bcachefs: __bch2_sb_field_to_text()
[bcachefs-tools-debian] / libbcachefs / bcachefs.h
index 840f605eff1f8dc693b17eacc1d7145224a843cf..dac383e3718163b6566eb2e6a4ff305fb65da715 100644 (file)
@@ -425,6 +425,7 @@ BCH_DEBUG_PARAMS_DEBUG()
        x(btree_node_merge)                     \
        x(btree_node_sort)                      \
        x(btree_node_read)                      \
+       x(btree_node_read_done)                 \
        x(btree_interior_update_foreground)     \
        x(btree_interior_update_total)          \
        x(btree_gc)                             \
@@ -464,6 +465,7 @@ enum bch_time_stats {
 #include "replicas_types.h"
 #include "subvolume_types.h"
 #include "super_types.h"
+#include "thread_with_file_types.h"
 
 /* Number of nodes btree coalesce will try to coalesce at once */
 #define GC_MERGE_NODES         4U
@@ -478,12 +480,6 @@ enum bch_time_stats {
 
 struct btree;
 
-struct log_output {
-       spinlock_t              lock;
-       wait_queue_head_t       wait;
-       struct printbuf         buf;
-};
-
 enum gc_phase {
        GC_PHASE_NOT_RUNNING,
        GC_PHASE_START,
@@ -607,9 +603,6 @@ struct bch_dev {
 };
 
 /*
- * fsck_done - kill?
- *
- * replace with something more general from enumated fsck passes/errors:
  * initial_gc_unfixed
  * error
  * topology error
@@ -625,7 +618,7 @@ struct bch_dev {
        x(going_ro)                     \
        x(write_disable_complete)       \
        x(clean_shutdown)               \
-       x(fsck_done)                    \
+       x(fsck_running)                 \
        x(initial_gc_unfixed)           \
        x(need_another_gc)              \
        x(need_delete_dead_snapshots)   \
@@ -739,8 +732,8 @@ struct bch_fs {
        struct super_block      *vfs_sb;
        dev_t                   dev;
        char                    name[40];
-       struct log_output       *output;
-       struct task_struct      *output_filter;
+       struct stdio_redirect   *stdio;
+       struct task_struct      *stdio_filter;
 
        /* ro/rw, add/remove/resize devices: */
        struct rw_semaphore     state_lock;
@@ -1252,6 +1245,15 @@ static inline bool bch2_dev_exists2(const struct bch_fs *c, unsigned dev)
        return dev < c->sb.nr_devices && c->devs[dev];
 }
 
+static inline struct stdio_redirect *bch2_fs_stdio_redirect(struct bch_fs *c)
+{
+       struct stdio_redirect *stdio = c->stdio;
+
+       if (c->stdio_filter && c->stdio_filter != current)
+               stdio = NULL;
+       return stdio;
+}
+
 #define BKEY_PADDED_ONSTACK(key, pad)                          \
        struct { struct bkey_i key; __u64 key ## _pad[pad]; }