--- /dev/null
+--- vzquota-3.1/src/common.c~ 2012-09-11 00:38:34.000000000 +0000
++++ vzquota-3.1/src/common.c 2015-04-06 15:23:09.566926416 +0000
+@@ -262,10 +262,10 @@
+
+ #define ASP_STR_LEN 256
+
+-int str2time(char *s, long int *n)
++int str2time(char *s, time_t *n)
+ {
+ int len, i, tmp;
+- long int val = 0;
++ time_t val = 0;
+ char c, buf[ASP_STR_LEN], *p, *q;
+
+ /* check input params */
+@@ -288,7 +288,11 @@
+ if (0 == str_isdigit(p)) {
+ if (0 == strlen(p))
+ return -1;
++#ifdef __ILP32__
++ sscanf(p, "%lld", n);
++#else
+ sscanf(p, "%ld", n);
++#endif
+ return 0;
+ }
+
+@@ -337,7 +341,11 @@
+ p = gostr(buf);
+ if (str_isdigit(p))
+ return -1;
++#ifdef __ILP32__
++ sscanf(p, "%lld", &val);
++#else
+ sscanf(p, "%ld", &val);
++#endif
+ *n = dq_t[i].t * val;
+ return 0;
+ }
+--- vzquota-3.1/src/stat.c.orig 2012-09-11 00:38:34.000000000 +0000
++++ vzquota-3.1/src/stat.c 2015-04-06 15:30:32.876949719 +0000
+@@ -87,11 +87,19 @@
+
+ if (batch_mode) {
+ /* usage soft hard grace expire */
++#ifdef __ILP32__
++ printf("%14llu %14llu %14llu %14llu %14llu\n",
++#else
+ printf("%14llu %14llu %14llu %14lu %14lu\n",
++#endif
+ ker2block(s->bcurrent), ker2block(s->bsoftlimit), ker2block(s->bhardlimit),
+ s->btime, i->bexpire);
+ /* usage soft hard grace expire */
++#ifdef __ILP32__
++ printf("%14u %14u %14u %14llu %14llu\n",
++#else
+ printf("%14u %14u %14u %14lu %14lu\n",
++#endif
+ s->icurrent, s->isoftlimit, s->ihardlimit,
+ s->itime, i->iexpire);
+
+@@ -155,7 +163,11 @@
+ }
+ for (i = 0; i < MAXQUOTAS; i++) {
+ if (batch_mode) {
++#ifdef __ILP32__
++ printf("%5s %lld %lld %9Xh\n",
++#else
+ printf("%5s %ld %ld %9Xh\n",
++#endif
+ type2name(i), q->info.ugid_info[i].bexpire,
+ q->info.ugid_info[i].iexpire, q->info.ugid_info[i].flags);
+ continue;
+@@ -202,7 +214,11 @@
+ /* blocks */
+ t = (s->qi_stat.bcurrent < s->qi_stat.bsoftlimit) ? 0 : s->qi_stat.btime;
+ if (batch_mode) {
++#ifdef __ILP32__
++ sprintf(buf1, "%lld", t);
++#else
+ sprintf(buf1, "%ld", t);
++#endif
+ } else {
+ difftime2str(t, buf1);
+ }
+@@ -216,7 +232,11 @@
+ /* inodes */
+ t = (s->qi_stat.icurrent < s->qi_stat.isoftlimit) ? 0 : s->qi_stat.itime;
+ if (batch_mode) {
++#ifdef __ILP32__
++ sprintf(buf1, "%lld", t);
++#else
+ sprintf(buf1, "%ld", t);
++#endif
+ } else {
+ difftime2str(t, buf1);
+ }
+--- vzquota-3.1/src/vzdqdump.c.orig 2015-04-06 15:31:21.686952284 +0000
++++ vzquota-3.1/src/vzdqdump.c 2015-04-06 15:33:45.843626529 +0000
+@@ -112,7 +112,11 @@
+ if (option & FL_DUMP_GRACE) {
+ printf("#%s\ttype\tblock\tinode\n", GRACE_LABEL);
+ for (i = 0; i < MAXQUOTAS; i++) {
++#ifdef __ILP32__
++ printf("%s\t%u\t%llu\t%llu\n",
++#else
+ printf("%s\t%u\t%lu\t%lu\n",
++#endif
+ GRACE_LABEL,
+ i,
+ q->info.ugid_info[i].bexpire,
+@@ -158,7 +162,11 @@
+
+ /* exp times */
+ if (option & FL_DUMP_EXPTIME)
++#ifdef __ILP32__
++ printf("\t%llu\t%llu",
++#else
+ printf("\t%lu\t%lu",
++#endif
+ (s->qi_stat.bcurrent < s->qi_stat.bsoftlimit) ?
+ 0 : s->qi_stat.btime,
+ (s->qi_stat.icurrent < s->qi_stat.isoftlimit) ?
+@@ -176,13 +184,21 @@
+ printf(FIRST_LEVEL_LABEL "\n");
+
+ /* usage soft hard grace expire */
++#ifdef __ILP32__
++ printf("%llu %llu %llu %llu %llu\n",
++#else
+ printf("%llu %llu %llu %lu %lu\n",
++#endif
+ stat->dq_stat.bcurrent, stat->dq_stat.bsoftlimit,
+ stat->dq_stat.bhardlimit, stat->dq_stat.btime,
+ stat->dq_info.bexpire);
+
+ /* usage soft hard grace expire */
++#ifdef __ILP32__
++ printf("%u %u %u %llu %llu\n",
++#else
+ printf("%u %u %u %lu %lu\n",
++#endif
+ stat->dq_stat.icurrent, stat->dq_stat.isoftlimit,
+ stat->dq_stat.ihardlimit, stat->dq_stat.itime,
+ stat->dq_info.iexpire);