mirror of
https://github.com/versity/scoutfs.git
synced 2026-05-01 10:25:43 +00:00
Add the .totl. xattr tag. When the tag is set the end of the name specifies a total name with 3 encoded u64s separated by dots. The value of the xattr is a u64 that is added to the named total. An ioctl is added to read the totals. Signed-off-by: Zach Brown <zab@versity.com>
42 lines
1.8 KiB
C
42 lines
1.8 KiB
C
#ifndef _SCOUTFS_ITEM_H_
|
|
#define _SCOUTFS_ITEM_H_
|
|
|
|
int scoutfs_item_lookup(struct super_block *sb, struct scoutfs_key *key,
|
|
void *val, int val_len, struct scoutfs_lock *lock);
|
|
int scoutfs_item_lookup_exact(struct super_block *sb, struct scoutfs_key *key,
|
|
void *val, int val_len,
|
|
struct scoutfs_lock *lock);
|
|
int scoutfs_item_next(struct super_block *sb, struct scoutfs_key *key,
|
|
struct scoutfs_key *last, void *val, int val_len,
|
|
struct scoutfs_lock *lock);
|
|
int scoutfs_item_dirty(struct super_block *sb, struct scoutfs_key *key,
|
|
struct scoutfs_lock *lock);
|
|
int scoutfs_item_create(struct super_block *sb, struct scoutfs_key *key,
|
|
void *val, int val_len, struct scoutfs_lock *lock);
|
|
int scoutfs_item_create_force(struct super_block *sb, struct scoutfs_key *key,
|
|
void *val, int val_len,
|
|
struct scoutfs_lock *lock);
|
|
int scoutfs_item_update(struct super_block *sb, struct scoutfs_key *key,
|
|
void *val, int val_len, struct scoutfs_lock *lock);
|
|
int scoutfs_item_delta(struct super_block *sb, struct scoutfs_key *key,
|
|
void *val, int val_len, struct scoutfs_lock *lock);
|
|
int scoutfs_item_delete(struct super_block *sb, struct scoutfs_key *key,
|
|
struct scoutfs_lock *lock);
|
|
int scoutfs_item_delete_force(struct super_block *sb,
|
|
struct scoutfs_key *key,
|
|
struct scoutfs_lock *lock);
|
|
|
|
u64 scoutfs_item_dirty_pages(struct super_block *sb);
|
|
int scoutfs_item_write_dirty(struct super_block *sb);
|
|
int scoutfs_item_write_done(struct super_block *sb);
|
|
bool scoutfs_item_range_cached(struct super_block *sb,
|
|
struct scoutfs_key *start,
|
|
struct scoutfs_key *end, bool *dirty);
|
|
void scoutfs_item_invalidate(struct super_block *sb, struct scoutfs_key *start,
|
|
struct scoutfs_key *end);
|
|
|
|
int scoutfs_item_setup(struct super_block *sb);
|
|
void scoutfs_item_destroy(struct super_block *sb);
|
|
|
|
#endif
|