This changes clone_metapath to work the same way as release_metapath. This is merely a clean-up, not a fix, and nothing else depends on it.
On 30 July 2018 at 14:33, Andreas Gruenbacher <[email protected]> wrote: > Signed-off-by: Andreas Gruenbacher <[email protected]> > --- > fs/gfs2/bmap.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/fs/gfs2/bmap.c b/fs/gfs2/bmap.c > index 03128ed1f34e..a564cf0b7221 100644 > --- a/fs/gfs2/bmap.c > +++ b/fs/gfs2/bmap.c > @@ -294,8 +294,11 @@ static void clone_metapath(struct metapath *clone, > struct metapath *mp) > unsigned int hgt; > > *clone = *mp; > - for (hgt = 0; hgt < mp->mp_aheight; hgt++) > + for (hgt = 0; hgt < GFS2_MAX_META_HEIGHT; hgt++) { > + if (mp->mp_bh[hgt] == NULL) > + break; > get_bh(clone->mp_bh[hgt]); > + } > } > > static void gfs2_metapath_ra(struct gfs2_glock *gl, __be64 *start, __be64 > *end) > -- > 2.17.1 >
