diff options
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.h | 33 | ||||
-rw-r--r-- | include/linux/blkdev.h | 30 | ||||
-rw-r--r-- | include/linux/freezer.h | 1 | ||||
-rw-r--r-- | include/linux/poison.h | 4 | ||||
-rw-r--r-- | include/trace/events/bcachefs.h | 61 |
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, |