[PATCH 04/15] GFS2: Replace assertion with proper error handling

From: Steven Whitehouse
Date: Thu Sep 10 2009 - 06:32:42 EST


One fewer assert, one more place we can recover gracefully
if there is an error.

Signed-off-by: Steven Whitehouse <swhiteho@xxxxxxxxxx>
---
fs/gfs2/rgrp.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c
index 3d0193a..c681c54 100644
--- a/fs/gfs2/rgrp.c
+++ b/fs/gfs2/rgrp.c
@@ -1561,7 +1561,9 @@ int gfs2_alloc_di(struct gfs2_inode *dip, u64 *bn, u64 *generation)

rgd->rd_last_alloc = blk;
block = rgd->rd_data0 + blk;
- gfs2_assert_withdraw(sdp, rgd->rd_free);
+ if (rgd->rd_free == 0)
+ goto rgrp_error;
+
rgd->rd_free--;
rgd->rd_dinodes++;
*generation = rgd->rd_igeneration++;
--
1.6.2.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/