mirror of
https://github.com/versity/scoutfs.git
synced 2026-07-27 10:33:08 +00:00
Oh, thank goodness. It turns out that there's a crash extension for working with tracepoints in crash dumps. Let's use standard tracepoints and pretend this tracing hack never happened. Signed-off-by: Zach Brown <zab@versity.com>
57 lines
1.1 KiB
C
57 lines
1.1 KiB
C
#ifndef _SCOUTFS_SUPER_H_
|
|
#define _SCOUTFS_SUPER_H_
|
|
|
|
#include <linux/fs.h>
|
|
#include <linux/rbtree.h>
|
|
|
|
#include "format.h"
|
|
#include "buddy.h"
|
|
|
|
struct scoutfs_counters;
|
|
struct buddy_alloc;
|
|
|
|
struct scoutfs_sb_info {
|
|
struct super_block *sb;
|
|
|
|
struct scoutfs_super_block super;
|
|
|
|
spinlock_t next_ino_lock;
|
|
|
|
spinlock_t block_lock;
|
|
struct radix_tree_root block_radix;
|
|
wait_queue_head_t block_wq;
|
|
atomic_t block_writes;
|
|
int block_write_err;
|
|
|
|
struct mutex buddy_mutex;
|
|
struct buddy_alloc *bud;
|
|
|
|
/* XXX there will be a lot more of these :) */
|
|
struct rw_semaphore btree_rwsem;
|
|
|
|
atomic_t trans_holds;
|
|
wait_queue_head_t trans_hold_wq;
|
|
|
|
spinlock_t trans_write_lock;
|
|
u64 trans_write_count;
|
|
int trans_write_ret;
|
|
struct work_struct trans_write_work;
|
|
wait_queue_head_t trans_write_wq;
|
|
struct workqueue_struct *trans_write_workq;
|
|
|
|
/* $sysfs/fs/scoutfs/$id/ */
|
|
struct kset *kset;
|
|
|
|
struct scoutfs_counters *counters;
|
|
};
|
|
|
|
static inline struct scoutfs_sb_info *SCOUTFS_SB(struct super_block *sb)
|
|
{
|
|
return sb->s_fs_info;
|
|
}
|
|
|
|
void scoutfs_advance_dirty_super(struct super_block *sb);
|
|
int scoutfs_write_dirty_super(struct super_block *sb);
|
|
|
|
#endif
|