mirror of
https://github.com/versity/scoutfs.git
synced 2026-09-06 08:06:56 +00:00
We can't block on a lock while holding the transaction open because that'd stop lock downconversion from syncing to write out items while it is converting from EX. Add a warning if we try to acquire a blocking lock while holding a transaction. Signed-off-by: Zach Brown <zab@versity.com>
23 lines
779 B
C
23 lines
779 B
C
#ifndef _SCOUTFS_TRANS_H_
|
|
#define _SCOUTFS_TRANS_H_
|
|
|
|
#include "count.h"
|
|
|
|
void scoutfs_trans_write_func(struct work_struct *work);
|
|
int scoutfs_sync_fs(struct super_block *sb, int wait);
|
|
int scoutfs_file_fsync(struct file *file, loff_t start, loff_t end,
|
|
int datasync);
|
|
void scoutfs_trans_restart_sync_deadline(struct super_block *sb);
|
|
|
|
int scoutfs_hold_trans(struct super_block *sb, struct scoutfs_item_count *cnt);
|
|
bool scoutfs_trans_held(void);
|
|
void scoutfs_release_trans(struct super_block *sb);
|
|
void scoutfs_trans_wake_holders(struct super_block *sb);
|
|
void scoutfs_trans_track_item(struct super_block *sb, signed items,
|
|
signed keys, signed vals);
|
|
|
|
int scoutfs_setup_trans(struct super_block *sb);
|
|
void scoutfs_shutdown_trans(struct super_block *sb);
|
|
|
|
#endif
|