1
2
3
4
5
6#ifndef XFS_SYNC_H
7#define XFS_SYNC_H 1
8
9struct xfs_mount;
10struct xfs_perag;
11
12struct xfs_eofblocks {
13 __u32 eof_flags;
14 kuid_t eof_uid;
15 kgid_t eof_gid;
16 prid_t eof_prid;
17 __u64 eof_min_file_size;
18};
19
20
21
22
23#define XFS_ICI_NO_TAG (-1)
24
25#define XFS_ICI_RECLAIM_TAG 0
26
27#define XFS_ICI_BLOCKGC_TAG 1
28
29
30
31
32#define XFS_IGET_CREATE 0x1
33#define XFS_IGET_UNTRUSTED 0x2
34#define XFS_IGET_DONTCACHE 0x4
35#define XFS_IGET_INCORE 0x8
36
37
38
39
40#define XFS_INODE_WALK_INEW_WAIT 0x1
41
42int xfs_iget(struct xfs_mount *mp, struct xfs_trans *tp, xfs_ino_t ino,
43 uint flags, uint lock_flags, xfs_inode_t **ipp);
44
45
46struct xfs_inode * xfs_inode_alloc(struct xfs_mount *mp, xfs_ino_t ino);
47void xfs_inode_free(struct xfs_inode *ip);
48
49void xfs_reclaim_worker(struct work_struct *work);
50
51void xfs_reclaim_inodes(struct xfs_mount *mp);
52int xfs_reclaim_inodes_count(struct xfs_mount *mp);
53long xfs_reclaim_inodes_nr(struct xfs_mount *mp, int nr_to_scan);
54
55void xfs_inode_set_reclaim_tag(struct xfs_inode *ip);
56
57int xfs_blockgc_free_dquots(struct xfs_mount *mp, struct xfs_dquot *udqp,
58 struct xfs_dquot *gdqp, struct xfs_dquot *pdqp,
59 unsigned int eof_flags);
60int xfs_blockgc_free_quota(struct xfs_inode *ip, unsigned int eof_flags);
61int xfs_blockgc_free_space(struct xfs_mount *mp, struct xfs_eofblocks *eofb);
62
63void xfs_inode_set_eofblocks_tag(struct xfs_inode *ip);
64void xfs_inode_clear_eofblocks_tag(struct xfs_inode *ip);
65
66void xfs_inode_set_cowblocks_tag(struct xfs_inode *ip);
67void xfs_inode_clear_cowblocks_tag(struct xfs_inode *ip);
68
69void xfs_blockgc_worker(struct work_struct *work);
70
71int xfs_inode_walk(struct xfs_mount *mp, int iter_flags,
72 int (*execute)(struct xfs_inode *ip, void *args),
73 void *args, int tag);
74
75int xfs_icache_inode_is_allocated(struct xfs_mount *mp, struct xfs_trans *tp,
76 xfs_ino_t ino, bool *inuse);
77
78void xfs_blockgc_stop(struct xfs_mount *mp);
79void xfs_blockgc_start(struct xfs_mount *mp);
80
81#endif
82