diff --git a/[refs] b/[refs] index db747ade2891..6c213005e0db 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 31e7ad6ac919761f0486f7781b02ff3ab54b6ef1 +refs/heads/master: e821d94d34af23a31a16ead78e8b685b750c8c3d diff --git a/trunk/fs/quota_v2.c b/trunk/fs/quota_v2.c index 19bdb7b86ca7..7afcbb1b9376 100644 --- a/trunk/fs/quota_v2.c +++ b/trunk/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; }