aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/gfs2/rgrp.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c
index 7ce22d8c489b..c17029a92b8f 100644
--- a/fs/gfs2/rgrp.c
+++ b/fs/gfs2/rgrp.c
@@ -1596,6 +1596,12 @@ find_next:
1596 n += (rbm->bi - initial_bi); 1596 n += (rbm->bi - initial_bi);
1597 goto find_next; 1597 goto find_next;
1598 } 1598 }
1599 if (ret == -E2BIG) {
1600 index = 0;
1601 rbm->offset = 0;
1602 n += (rbm->bi - initial_bi);
1603 goto res_covered_end_of_rgrp;
1604 }
1599 return ret; 1605 return ret;
1600 1606
1601bitmap_full: /* Mark bitmap as full and fall through */ 1607bitmap_full: /* Mark bitmap as full and fall through */
@@ -1608,6 +1614,7 @@ next_bitmap: /* Find next bitmap in the rgrp */
1608 index++; 1614 index++;
1609 if (index == rbm->rgd->rd_length) 1615 if (index == rbm->rgd->rd_length)
1610 index = 0; 1616 index = 0;
1617res_covered_end_of_rgrp:
1611 rbm->bi = &rbm->rgd->rd_bits[index]; 1618 rbm->bi = &rbm->rgd->rd_bits[index];
1612 if ((index == 0) && nowrap) 1619 if ((index == 0) && nowrap)
1613 break; 1620 break;