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