summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fs/quota_v2.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/quota_v2.c b/fs/quota_v2.c
index 19bdb7b..7afcbb1 100644
--- a/fs/quota_v2.c
+++ b/fs/quota_v2.c
@@ -503,7 +503,8 @@ static int remove_tree(struct dquot *dquot, uint *blk, int depth)
int i;
ref[GETIDINDEX(dquot->dq_id, depth)] = cpu_to_le32(0);
for (i = 0; i < V2_DQBLKSIZE && !buf[i]; i++); /* Block got empty? */
- if (i == V2_DQBLKSIZE) {
+ /* Don't put the root block into the free block list */
+ if (i == V2_DQBLKSIZE && *blk != V2_DQTREEOFF) {
put_free_dqblk(sb, type, buf, *blk);
*blk = 0;
}