summaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_ialloc.h
diff options
context:
space:
mode:
authorDave Chinner <david@fromorbit.com>2013-06-27 08:04:55 +0200
committerBen Myers <bpm@sgi.com>2013-06-27 21:26:21 +0200
commit28c8e41af693e4b5cd2d68218f144cf40ce15781 (patch)
tree79bea3212f87c81509af8acbf92b004f91e4a3eb /fs/xfs/xfs_ialloc.h
parentxfs: Inode create transaction reservations (diff)
downloadlinux-28c8e41af693e4b5cd2d68218f144cf40ce15781.tar.xz
linux-28c8e41af693e4b5cd2d68218f144cf40ce15781.zip
xfs: Inode create item recovery
When we find a icreate transaction, we need to get and initialise the buffers in the range that has been passed. Extract and verify the information in the item record, then loop over the range initialising and issuing the buffer writes delayed. Support an arbitrary size range to initialise so that in future when we allocate inodes in much larger chunks all kernels that understand this transaction can still recover them. Signed-off-by: Dave Chinner <david@fromorbit.com> Reviewed-by: Mark Tinguely <tinguely@sgi.com> Signed-off-by: Ben Myers <bpm@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_ialloc.h')
-rw-r--r--fs/xfs/xfs_ialloc.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/xfs/xfs_ialloc.h b/fs/xfs/xfs_ialloc.h
index c8da3df271e6..68c07320f096 100644
--- a/fs/xfs/xfs_ialloc.h
+++ b/fs/xfs/xfs_ialloc.h
@@ -150,6 +150,14 @@ int xfs_inobt_lookup(struct xfs_btree_cur *cur, xfs_agino_t ino,
int xfs_inobt_get_rec(struct xfs_btree_cur *cur,
xfs_inobt_rec_incore_t *rec, int *stat);
+/*
+ * Inode chunk initialisation routine
+ */
+int xfs_ialloc_inode_init(struct xfs_mount *mp, struct xfs_trans *tp,
+ struct list_head *buffer_list,
+ xfs_agnumber_t agno, xfs_agblock_t agbno,
+ xfs_agblock_t length, unsigned int gen);
+
extern const struct xfs_buf_ops xfs_agi_buf_ops;
#endif /* __XFS_IALLOC_H__ */