diff options
Diffstat (limited to 'fs/xfs/xfs_rw.h')
-rw-r--r-- | fs/xfs/xfs_rw.h | 36 |
1 files changed, 33 insertions, 3 deletions
diff --git a/fs/xfs/xfs_rw.h b/fs/xfs/xfs_rw.h index 188b296ff50c..fcf28dbded7c 100644 --- a/fs/xfs/xfs_rw.h +++ b/fs/xfs/xfs_rw.h | |||
@@ -72,6 +72,34 @@ xfs_fsb_to_db_io(struct xfs_iocore *io, xfs_fsblock_t fsb) | |||
72 | } | 72 | } |
73 | 73 | ||
74 | /* | 74 | /* |
75 | * Flags for xfs_free_eofblocks | ||
76 | */ | ||
77 | #define XFS_FREE_EOF_LOCK (1<<0) | ||
78 | #define XFS_FREE_EOF_NOLOCK (1<<1) | ||
79 | |||
80 | |||
81 | /* | ||
82 | * helper function to extract extent size hint from inode | ||
83 | */ | ||
84 | STATIC_INLINE xfs_extlen_t | ||
85 | xfs_get_extsz_hint( | ||
86 | xfs_inode_t *ip) | ||
87 | { | ||
88 | xfs_extlen_t extsz; | ||
89 | |||
90 | if (unlikely(ip->i_d.di_flags & XFS_DIFLAG_REALTIME)) { | ||
91 | extsz = (ip->i_d.di_flags & XFS_DIFLAG_EXTSIZE) | ||
92 | ? ip->i_d.di_extsize | ||
93 | : ip->i_mount->m_sb.sb_rextsize; | ||
94 | ASSERT(extsz); | ||
95 | } else { | ||
96 | extsz = (ip->i_d.di_flags & XFS_DIFLAG_EXTSIZE) | ||
97 | ? ip->i_d.di_extsize : 0; | ||
98 | } | ||
99 | return extsz; | ||
100 | } | ||
101 | |||
102 | /* | ||
75 | * Prototypes for functions in xfs_rw.c. | 103 | * Prototypes for functions in xfs_rw.c. |
76 | */ | 104 | */ |
77 | extern int xfs_write_clear_setuid(struct xfs_inode *ip); | 105 | extern int xfs_write_clear_setuid(struct xfs_inode *ip); |
@@ -91,10 +119,12 @@ extern void xfs_ioerror_alert(char *func, struct xfs_mount *mp, | |||
91 | extern int xfs_rwlock(bhv_desc_t *bdp, bhv_vrwlock_t write_lock); | 119 | extern int xfs_rwlock(bhv_desc_t *bdp, bhv_vrwlock_t write_lock); |
92 | extern void xfs_rwunlock(bhv_desc_t *bdp, bhv_vrwlock_t write_lock); | 120 | extern void xfs_rwunlock(bhv_desc_t *bdp, bhv_vrwlock_t write_lock); |
93 | extern int xfs_setattr(bhv_desc_t *, bhv_vattr_t *vap, int flags, | 121 | extern int xfs_setattr(bhv_desc_t *, bhv_vattr_t *vap, int flags, |
94 | cred_t *credp); | 122 | cred_t *credp); |
95 | extern int xfs_change_file_space(bhv_desc_t *bdp, int cmd, xfs_flock64_t *bf, | 123 | extern int xfs_change_file_space(bhv_desc_t *bdp, int cmd, xfs_flock64_t *bf, |
96 | xfs_off_t offset, cred_t *credp, int flags); | 124 | xfs_off_t offset, cred_t *credp, int flags); |
97 | extern int xfs_set_dmattrs(bhv_desc_t *bdp, u_int evmask, u_int16_t state, | 125 | extern int xfs_set_dmattrs(bhv_desc_t *bdp, u_int evmask, u_int16_t state, |
98 | cred_t *credp); | 126 | cred_t *credp); |
127 | extern int xfs_free_eofblocks(struct xfs_mount *mp, struct xfs_inode *ip, | ||
128 | int flags); | ||
99 | 129 | ||
100 | #endif /* __XFS_RW_H__ */ | 130 | #endif /* __XFS_RW_H__ */ |