Blame view
fs/xfs/xfs_inode_item.h
1.77 KB
0b61f8a40 xfs: convert to S... |
1 |
// SPDX-License-Identifier: GPL-2.0 |
1da177e4c Linux-2.6.12-rc2 |
2 |
/* |
7b7187698 [XFS] Update lice... |
3 4 |
* Copyright (c) 2000,2005 Silicon Graphics, Inc. * All Rights Reserved. |
1da177e4c Linux-2.6.12-rc2 |
5 6 7 |
*/ #ifndef __XFS_INODE_ITEM_H__ #define __XFS_INODE_ITEM_H__ |
69432832f xfs: split out in... |
8 |
/* kernel only definitions */ |
1da177e4c Linux-2.6.12-rc2 |
9 10 |
struct xfs_buf; |
a5f9be58c xfs: kill xfs_bmb... |
11 |
struct xfs_bmbt_rec; |
1da177e4c Linux-2.6.12-rc2 |
12 13 |
struct xfs_inode; struct xfs_mount; |
fd9cbe512 xfs: remove the x... |
14 |
struct xfs_inode_log_item { |
efe2330fd xfs: remove the x... |
15 |
struct xfs_log_item ili_item; /* common portion */ |
1da177e4c Linux-2.6.12-rc2 |
16 |
struct xfs_inode *ili_inode; /* inode ptr */ |
1319ebefd xfs: add an inode... |
17 18 19 20 21 22 23 24 25 |
unsigned short ili_lock_flags; /* inode lock flags */ /* * The ili_lock protects the interactions between the dirty state and * the flush state of the inode log item. This allows us to do atomic * modifications of multiple state fields without having to hold a * specific inode lock to serialise them. * * We need atomic changes between inode dirtying, inode flushing and * inode completion, but these all hold different combinations of |
718ecc503 xfs: xfs_iflock i... |
26 27 |
* ILOCK and IFLUSHING and hence we need some other method of * serialising updates to the flush state. |
1319ebefd xfs: add an inode... |
28 29 |
*/ spinlock_t ili_lock; /* flush state lock */ |
1da177e4c Linux-2.6.12-rc2 |
30 |
unsigned int ili_last_fields; /* fields when flushed */ |
f5d8d5c4b xfs: split in-cor... |
31 |
unsigned int ili_fields; /* fields to be logged */ |
fc0561cef xfs: optimise awa... |
32 |
unsigned int ili_fsync_fields; /* logged since last fsync */ |
1319ebefd xfs: add an inode... |
33 34 |
xfs_lsn_t ili_flush_lsn; /* lsn at last flush */ xfs_lsn_t ili_last_lsn; /* lsn at last transaction */ |
fd9cbe512 xfs: remove the x... |
35 |
}; |
1da177e4c Linux-2.6.12-rc2 |
36 |
|
aac855ab1 xfs: make inode I... |
37 |
static inline int xfs_inode_clean(struct xfs_inode *ip) |
335404089 [XFS] Use xfs_ino... |
38 |
{ |
f5d8d5c4b xfs: split in-cor... |
39 |
return !ip->i_itemp || !(ip->i_itemp->ili_fields & XFS_ILOG_ALL); |
335404089 [XFS] Use xfs_ino... |
40 |
} |
a844f4510 [XFS] Remove xfs_... |
41 42 |
extern void xfs_inode_item_init(struct xfs_inode *, struct xfs_mount *); extern void xfs_inode_item_destroy(struct xfs_inode *); |
88fc18798 xfs: remove unuse... |
43 |
extern void xfs_iflush_abort(struct xfs_inode *); |
6d192a9b8 [XFS] inode items... |
44 |
extern int xfs_inode_item_format_convert(xfs_log_iovec_t *, |
06b113212 xfs: remove inode... |
45 |
struct xfs_inode_log_format *); |
1da177e4c Linux-2.6.12-rc2 |
46 |
|
69432832f xfs: split out in... |
47 |
extern struct kmem_zone *xfs_ili_zone; |
1da177e4c Linux-2.6.12-rc2 |
48 49 |
#endif /* __XFS_INODE_ITEM_H__ */ |