* [PATCH] fix the grace time in xfs_quota
@ 2007-02-15 7:39 Utako Kusaka
2007-02-16 5:31 ` Donald Douwsma
0 siblings, 1 reply; 2+ messages in thread
From: Utako Kusaka @ 2007-02-15 7:39 UTC (permalink / raw)
To: xfs
Hi,
When a quota limit is reached at a soft limit, xfs_quota(8) shows the
incorrect grace time.
Because, the subtraction with '__uint32_t' and 'time_t' are done in
time_to_string(), and the result does not become a negative value, but
a huge value. This patch fixes it.
Example:
xfs_quota> report
User quota on /home/utako/mpnt (/dev/sda6)
Blocks
User ID Used Soft Hard Warn/Grace
---------- --------------------------------------------------
root 3145728 1000 2000 00 [--none--]
utako 1000 1000 2000 00 [00:00:4294967286] <--
Group quota on /home/utako/mpnt (/dev/sda6)
Blocks
Group ID Used Soft Hard Warn/Grace
---------- --------------------------------------------------
root 3145728 0 0 00 [--------]
users 1000 0 0 00 [--------]
Signed-off-by: Utako Kusaka <utako@tnes.nec.co.jp>
---
--- xfsprogs-2.8.18-orgn/quota/quota.h 2006-12-13 13:57:23.000000000 +0900
+++ xfsprogs-2.8.18/quota/quota.h 2007-02-15 11:51:20.000000000 +0900
@@ -49,7 +49,7 @@ enum {
*/
extern char *type_to_string(uint __type);
extern char *form_to_string(uint __form);
-extern char *time_to_string(__uint32_t __time, uint __flags);
+extern char *time_to_string(time_t __time, uint __flags);
extern char *bbs_to_string(__uint64_t __v, char *__c, uint __size);
extern char *num_to_string(__uint64_t __v, char *__c, uint __size);
extern char *pct_to_string(__uint64_t __v, __uint64_t __t, char *__c, uint __s);
--- xfsprogs-2.8.18-orgn/quota/util.c 2006-12-13 13:57:23.000000000 +0900
+++ xfsprogs-2.8.18/quota/util.c 2007-02-15 11:51:51.000000000 +0900
@@ -29,7 +29,7 @@
char *
time_to_string(
- __uint32_t origin,
+ time_t origin,
uint flags)
{
static char timestamp[32];
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] fix the grace time in xfs_quota
2007-02-15 7:39 [PATCH] fix the grace time in xfs_quota Utako Kusaka
@ 2007-02-16 5:31 ` Donald Douwsma
0 siblings, 0 replies; 2+ messages in thread
From: Donald Douwsma @ 2007-02-16 5:31 UTC (permalink / raw)
To: Utako Kusaka; +Cc: xfs
Hi Utako,
I was unable to reproduce these results internally (sgi-xfsprogs-2.8.16-1sgi100b2chatz).
But I think your patch looks good, these really should be time_t's.
$ sudo /usr/sbin/xfs_quota -xc report /mnt/test
User quota on /mnt/test (/dev/sdb5)
Blocks
User ID Used Soft Hard Warn/Grace
---------- --------------------------------------------------
bin 168 0 0 00 [--------]
games 608 0 0 00 [--------]
root 125948 0 0 00 [0 days]
donaldd 15000 10240 20480 00 [00:00:11]
$ sudo /usr/sbin/xfs_quota -xc report /mnt/test
User quota on /mnt/test (/dev/sdb5)
Blocks
User ID Used Soft Hard Warn/Grace
---------- --------------------------------------------------
bin 168 0 0 00 [--------]
games 608 0 0 00 [--------]
root 125948 0 0 00 [0 days]
donaldd 15000 10240 20480 00 [0 days]
Thanks for the patch,
Donald
Utako Kusaka wrote:
...
> Example:
> xfs_quota> report
> User quota on /home/utako/mpnt (/dev/sda6)
> Blocks
> User ID Used Soft Hard Warn/Grace
> ---------- --------------------------------------------------
> root 3145728 1000 2000 00 [--none--]
> utako 1000 1000 2000 00 [00:00:4294967286] <--
>
> Group quota on /home/utako/mpnt (/dev/sda6)
> Blocks
> Group ID Used Soft Hard Warn/Grace
> ---------- --------------------------------------------------
> root 3145728 0 0 00 [--------]
> users 1000 0 0 00 [--------]
> Signed-off-by: Utako Kusaka <utako@tnes.nec.co.jp>
> ---
>
> --- xfsprogs-2.8.18-orgn/quota/quota.h 2006-12-13 13:57:23.000000000 +0900
> +++ xfsprogs-2.8.18/quota/quota.h 2007-02-15 11:51:20.000000000 +0900
> @@ -49,7 +49,7 @@ enum {
> */
> extern char *type_to_string(uint __type);
> extern char *form_to_string(uint __form);
> -extern char *time_to_string(__uint32_t __time, uint __flags);
> +extern char *time_to_string(time_t __time, uint __flags);
> extern char *bbs_to_string(__uint64_t __v, char *__c, uint __size);
> extern char *num_to_string(__uint64_t __v, char *__c, uint __size);
> extern char *pct_to_string(__uint64_t __v, __uint64_t __t, char *__c, uint __s);
>
>
> --- xfsprogs-2.8.18-orgn/quota/util.c 2006-12-13 13:57:23.000000000 +0900
> +++ xfsprogs-2.8.18/quota/util.c 2007-02-15 11:51:51.000000000 +0900
> @@ -29,7 +29,7 @@
>
> char *
> time_to_string(
> - __uint32_t origin,
> + time_t origin,
> uint flags)
> {
> static char timestamp[32];
>
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2007-02-16 5:32 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-02-15 7:39 [PATCH] fix the grace time in xfs_quota Utako Kusaka
2007-02-16 5:31 ` Donald Douwsma
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox