Blob Blame Raw
From 7313d70407961939fda2b46c7d3c00cc98fe412e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Wed, 9 Feb 2011 15:40:08 +0100
Subject: [PATCH] Initialize vfsold block and inode value boundries for new quota file

Otherwise `quotackech -c -F vfsold' fails with `Trying to set quota
usage out of range supported by quota format on...' because initial
boundry is zero.

Fixes SF bug #3176326.
---
 quotaio_v1.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/quotaio_v1.c b/quotaio_v1.c
index 305bff2..61bd93e 100644
--- a/quotaio_v1.c
+++ b/quotaio_v1.c
@@ -195,6 +195,10 @@ static int v1_new_io(struct quota_handle *h)
 	ddqblk.dqb_itime = MAX_IQ_TIME;
 	h->qh_info.dqi_bgrace = MAX_DQ_TIME;
 	h->qh_info.dqi_igrace = MAX_IQ_TIME;
+	h->qh_info.dqi_max_b_limit = ~(uint32_t)0;
+	h->qh_info.dqi_max_i_limit = ~(uint32_t)0;
+	h->qh_info.dqi_max_b_usage = ((uint64_t)(~(uint32_t)0)) << V1_DQBLK_SIZE_BITS;
+	h->qh_info.dqi_max_i_usage = ~(uint32_t)0;
 	lseek(h->qh_fd, 0, SEEK_SET);
 	if (write(h->qh_fd, &ddqblk, sizeof(ddqblk)) != sizeof(ddqblk))
 		return -1;
-- 
1.7.4