Lines Matching refs:metapath
36 struct metapath {
180 * @mp: The metapath to return the result in
183 * This routine returns a struct metapath structure that defines a path
190 * find_metapath() would return a struct metapath structure set to:
236 struct metapath *mp, unsigned int height)
245 static inline unsigned int metapath_branch_start(const struct metapath *mp)
253 * metaptr1 - Return the first possible metadata pointer in a metapath buffer
255 * @mp: The metapath
257 static inline __be64 *metaptr1(unsigned int height, const struct metapath *mp)
268 * @mp: The metapath
275 static inline __be64 *metapointer(unsigned int height, const struct metapath *mp)
281 static inline const __be64 *metaend(unsigned int height, const struct metapath *mp)
287 static void clone_metapath(struct metapath *clone, struct metapath *mp)
321 static int __fillup_metapath(struct gfs2_inode *ip, struct metapath *mp,
342 * @mp: The metapath
345 * hooked onto mp->mp_bh[0] and that the metapath has been initialised
356 static int lookup_metapath(struct gfs2_inode *ip, struct metapath *mp)
364 * @mp: The metapath
372 static int fillup_metapath(struct gfs2_inode *ip, struct metapath *mp, int h)
390 static sector_t metapath_to_block(struct gfs2_sbd *sdp, struct metapath *mp)
403 static void release_metapath(struct metapath *mp)
453 typedef enum walker_status (*gfs2_metadata_walker)(struct metapath *mp,
467 static int gfs2_walk_metadata(struct inode *inode, struct metapath *mp,
517 /* Decrease height of metapath. */
537 /* Increase height of metapath. */
549 static enum walker_status gfs2_hole_walker(struct metapath *mp,
575 * @mp: The metapath at lblock
583 struct metapath *mp, struct iomap *iomap)
585 struct metapath clone;
606 static inline __be64 *gfs2_indirect_init(struct metapath *mp,
635 * @mp: The metapath, with proper height information calculated
661 struct metapath *mp)
787 * @mp: The metapath
794 static u64 gfs2_alloc_size(struct inode *inode, struct metapath *mp, u64 size)
835 * @mp: The metapath
841 struct metapath *mp)
975 struct metapath mp = { .mp_aheight = 1, };
1063 struct metapath *mp)
1155 struct metapath mp = { .mp_aheight = 1, };
1289 struct metapath mp = { .mp_aheight = 1, };
1463 struct metapath mp = { .mp_aheight = 1, };
1483 * We sweep a metadata buffer (provided by the metapath) for blocks we need to
1648 static bool mp_eq_to_hgt(struct metapath *mp, __u16 *list, unsigned int h)
1656 * find_nonnull_ptr - find a non-null pointer given a metapath and height
1657 * @mp: starting metapath
1660 * Assumes the metapath is valid (with buffers) out to height h.
1661 * Returns: true if a non-null pointer was found in the metapath buffer
1664 static bool find_nonnull_ptr(struct gfs2_sbd *sdp, struct metapath *mp,
1693 DEALLOC_MP_FULL = 0, /* Strip a metapath with all buffers read in */
1694 DEALLOC_MP_LOWER = 1, /* lower the metapath strip height */
1695 DEALLOC_FILL_MP = 2, /* Fill in the metapath to the given height. */
1700 metapointer_range(struct metapath *mp, int height,
1722 struct metapath *mp, int height,
1757 struct metapath mp = {};
1768 int mp_h; /* metapath buffers are read in to this height */
1845 state = DEALLOC_MP_FULL; /* We have a complete metapath */
1847 state = DEALLOC_FILL_MP; /* deal with partial metapath */
1862 /* Truncate a full metapath at the given strip height.
1886 * point is the first metapath we must not deallocate!
1906 /* lower the metapath strip height */
1930 /* Here we've found a part of the metapath that is not
1941 /* Fill the metapath with buffers to the given height. */
1974 higher up in the metapath and try again, otherwise
2518 struct metapath mp = { .mp_aheight = 1, };