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)
320 static int __fillup_metapath(struct gfs2_inode *ip, struct metapath *mp,
341 * @mp: The metapath
344 * hooked onto mp->mp_bh[0] and that the metapath has been initialised
355 static int lookup_metapath(struct gfs2_inode *ip, struct metapath *mp)
363 * @mp: The metapath
371 static int fillup_metapath(struct gfs2_inode *ip, struct metapath *mp, int h)
389 static sector_t metapath_to_block(struct gfs2_sbd *sdp, struct metapath *mp)
402 static void release_metapath(struct metapath *mp)
452 typedef enum walker_status (*gfs2_metadata_walker)(struct metapath *mp,
466 static int gfs2_walk_metadata(struct inode *inode, struct metapath *mp,
516 /* Decrease height of metapath. */
536 /* Increase height of metapath. */
548 static enum walker_status gfs2_hole_walker(struct metapath *mp,
574 * @mp: The metapath at lblock
582 struct metapath *mp, struct iomap *iomap)
584 struct metapath clone;
605 static inline void gfs2_indirect_init(struct metapath *mp,
633 * @mp: The metapath, with proper height information calculated
659 struct metapath *mp)
785 * @mp: The metapath
792 static u64 gfs2_alloc_size(struct inode *inode, struct metapath *mp, u64 size)
833 * @mp: The metapath
839 struct metapath *mp)
1008 struct metapath *mp)
1095 struct metapath mp = { .mp_aheight = 1, };
1407 struct metapath mp = { .mp_aheight = 1, };
1418 struct metapath mp = { .mp_aheight = 1, };
1438 * We sweep a metadata buffer (provided by the metapath) for blocks we need to
1602 static bool mp_eq_to_hgt(struct metapath *mp, __u16 *list, unsigned int h)
1610 * find_nonnull_ptr - find a non-null pointer given a metapath and height
1612 * @mp: starting metapath
1617 * Assumes the metapath is valid (with buffers) out to height h.
1618 * Returns: true if a non-null pointer was found in the metapath buffer
1621 static bool find_nonnull_ptr(struct gfs2_sbd *sdp, struct metapath *mp,
1650 DEALLOC_MP_FULL = 0, /* Strip a metapath with all buffers read in */
1651 DEALLOC_MP_LOWER = 1, /* lower the metapath strip height */
1652 DEALLOC_FILL_MP = 2, /* Fill in the metapath to the given height. */
1657 metapointer_range(struct metapath *mp, int height,
1679 struct metapath *mp, int height,
1714 struct metapath mp = {};
1725 int mp_h; /* metapath buffers are read in to this height */
1802 state = DEALLOC_MP_FULL; /* We have a complete metapath */
1804 state = DEALLOC_FILL_MP; /* deal with partial metapath */
1819 /* Truncate a full metapath at the given strip height.
1843 * point is the first metapath we must not deallocate!
1863 /* lower the metapath strip height */
1887 /* Here we've found a part of the metapath that is not
1898 /* Fill the metapath with buffers to the given height. */
1931 higher up in the metapath and try again, otherwise