summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/crypto/sha2.h (renamed from include/crypto/sha.h)0
-rw-r--r--include/linux/blk_types.h33
-rw-r--r--include/linux/blkdev.h30
-rw-r--r--include/linux/freezer.h1
-rw-r--r--include/linux/poison.h4
-rw-r--r--include/trace/events/bcachefs.h61
6 files changed, 95 insertions, 34 deletions
diff --git a/include/crypto/sha.h b/include/crypto/sha2.h
index 8a46202b..8a46202b 100644
--- a/include/crypto/sha.h
+++ b/include/crypto/sha2.h
diff --git a/include/linux/blk_types.h b/include/linux/blk_types.h
index 42cd0032..8aef4bb8 100644
--- a/include/linux/blk_types.h
+++ b/include/linux/blk_types.h
@@ -8,12 +8,43 @@
#include <linux/atomic.h>
#include <linux/types.h>
#include <linux/bvec.h>
+#include <linux/kobject.h>
struct bio_set;
struct bio;
-struct block_device;
typedef void (bio_end_io_t) (struct bio *);
+#define BDEVNAME_SIZE 32
+
+struct request_queue {
+ struct backing_dev_info *backing_dev_info;
+};
+
+struct gendisk {
+};
+
+struct hd_struct {
+ struct kobject kobj;
+};
+
+struct block_device {
+ struct kobject kobj;
+ dev_t bd_dev;
+ char name[BDEVNAME_SIZE];
+ struct inode *bd_inode;
+ struct request_queue queue;
+ void *bd_holder;
+ struct gendisk * bd_disk;
+ struct gendisk __bd_disk;
+ int bd_fd;
+ int bd_sync_fd;
+
+ struct backing_dev_info *bd_bdi;
+ struct backing_dev_info __bd_bdi;
+};
+
+#define bdev_kobj(_bdev) (&((_bdev)->kobj))
+
/*
* Block error status values. See block/blk-core:blk_errors for the details.
*/
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 318bcfaf..4300c4da 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -59,36 +59,8 @@ static inline struct inode *file_inode(const struct file *f)
return f->f_inode;
}
-#define BDEVNAME_SIZE 32
-
-struct request_queue {
- struct backing_dev_info *backing_dev_info;
-};
-
-struct gendisk {
-};
-
-struct hd_struct {
- struct kobject kobj;
-};
-
#define part_to_dev(part) (part)
-struct block_device {
- char name[BDEVNAME_SIZE];
- struct inode *bd_inode;
- struct request_queue queue;
- void *bd_holder;
- struct hd_struct *bd_part;
- struct gendisk *bd_disk;
- struct gendisk __bd_disk;
- int bd_fd;
- int bd_sync_fd;
-
- struct backing_dev_info *bd_bdi;
- struct backing_dev_info __bd_bdi;
-};
-
void generic_make_request(struct bio *);
int submit_bio_wait(struct bio *);
@@ -111,7 +83,7 @@ sector_t get_capacity(struct gendisk *disk);
void blkdev_put(struct block_device *bdev, fmode_t mode);
void bdput(struct block_device *bdev);
struct block_device *blkdev_get_by_path(const char *path, fmode_t mode, void *holder);
-struct block_device *lookup_bdev(const char *path);
+int lookup_bdev(const char *path, dev_t *);
struct super_block {
void *s_fs_info;
diff --git a/include/linux/freezer.h b/include/linux/freezer.h
index 1af94d5b..a29d1565 100644
--- a/include/linux/freezer.h
+++ b/include/linux/freezer.h
@@ -4,5 +4,6 @@
#define try_to_freeze()
#define set_freezable()
#define freezing(task) false
+#define freezable_schedule_timeout(_t) schedule_timeout(_t);
#endif /* __TOOLS_LINUX_FREEZER_H */
diff --git a/include/linux/poison.h b/include/linux/poison.h
index dc8ae5d8..aff1c925 100644
--- a/include/linux/poison.h
+++ b/include/linux/poison.h
@@ -27,11 +27,7 @@
#define TIMER_ENTRY_STATIC ((void *) 0x300 + POISON_POINTER_DELTA)
/********** mm/page_poison.c **********/
-#ifdef CONFIG_PAGE_POISONING_ZERO
-#define PAGE_POISON 0x00
-#else
#define PAGE_POISON 0xaa
-#endif
/********** mm/page_alloc.c ************/
diff --git a/include/trace/events/bcachefs.h b/include/trace/events/bcachefs.h
index e6c3e17a..c79338c8 100644
--- a/include/trace/events/bcachefs.h
+++ b/include/trace/events/bcachefs.h
@@ -528,6 +528,62 @@ TRACE_EVENT(copygc,
__entry->buckets_moved, __entry->buckets_not_moved)
);
+TRACE_EVENT(trans_get_iter,
+ TP_PROTO(unsigned long caller, unsigned long ip,
+ enum btree_id btree_id,
+ struct bpos *pos_want,
+ unsigned locks_want,
+ struct bpos *pos_found,
+ unsigned locks_found,
+ unsigned uptodate),
+ TP_ARGS(caller, ip, btree_id,
+ pos_want, locks_want,
+ pos_found, locks_found,
+ uptodate),
+
+ TP_STRUCT__entry(
+ __field(unsigned long, caller )
+ __field(unsigned long, ip )
+ __field(u8, btree_id )
+ __field(u8, uptodate )
+ __field(u8, locks_want )
+ __field(u8, locks_found )
+ __field(u64, pos_want_inode )
+ __field(u64, pos_want_offset )
+ __field(u32, pos_want_snapshot )
+ __field(u64, pos_found_inode )
+ __field(u64, pos_found_offset )
+ __field(u32, pos_found_snapshot )
+ ),
+
+ TP_fast_assign(
+ __entry->caller = caller;
+ __entry->ip = ip;
+ __entry->btree_id = btree_id;
+ __entry->uptodate = uptodate;
+ __entry->pos_want_inode = pos_want->inode;
+ __entry->pos_want_offset = pos_want->offset;
+ __entry->pos_want_snapshot = pos_want->snapshot;
+ __entry->pos_found_inode = pos_found->inode;
+ __entry->pos_found_offset = pos_found->offset;
+ __entry->pos_found_snapshot = pos_found->snapshot;
+ ),
+
+ TP_printk("%ps %pS btree %u uptodate %u want %llu:%llu:%u locks %u found %llu:%llu:%u locks %u",
+ (void *) __entry->caller,
+ (void *) __entry->ip,
+ __entry->btree_id,
+ __entry->uptodate,
+ __entry->pos_want_inode,
+ __entry->pos_want_offset,
+ __entry->pos_want_snapshot,
+ __entry->locks_want,
+ __entry->pos_found_inode,
+ __entry->pos_found_offset,
+ __entry->pos_found_snapshot,
+ __entry->locks_found)
+);
+
TRACE_EVENT(transaction_restart_ip,
TP_PROTO(unsigned long caller, unsigned long ip),
TP_ARGS(caller, ip),
@@ -565,6 +621,11 @@ DEFINE_EVENT(transaction_restart, trans_restart_btree_node_reused,
TP_ARGS(ip)
);
+DEFINE_EVENT(transaction_restart, trans_blocked_journal_reclaim,
+ TP_PROTO(unsigned long ip),
+ TP_ARGS(ip)
+);
+
TRACE_EVENT(trans_restart_would_deadlock,
TP_PROTO(unsigned long trans_ip,
unsigned long caller_ip,