mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-11-01 08:58:07 +00:00
1ead083ae1
The time_t type is part of the user interface and not always the same, with the move to 64-bit timestamps and the difference between architectures. Make the quota format definition independent of this type and use a basic type of the same length. Make it unsigned in the process to keep the v1 format working until year 2106 instead of 2038 on 32-bit architectures. Hopefully, everybody has already moved to a newer format long ago (v2 was introduced with linux-2.4), but it's hard to be sure. Link: https://lore.kernel.org/r/20191213205221.3787308-6-arnd@arndb.de Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Jan Kara <jack@suse.cz>
36 lines
1.4 KiB
C
36 lines
1.4 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _LINUX_QUOTAIO_V1_H
|
|
#define _LINUX_QUOTAIO_V1_H
|
|
|
|
#include <linux/types.h>
|
|
|
|
/*
|
|
* The following constants define the amount of time given a user
|
|
* before the soft limits are treated as hard limits (usually resulting
|
|
* in an allocation failure). The timer is started when the user crosses
|
|
* their soft limit, it is reset when they go below their soft limit.
|
|
*/
|
|
#define MAX_IQ_TIME 604800 /* (7*24*60*60) 1 week */
|
|
#define MAX_DQ_TIME 604800 /* (7*24*60*60) 1 week */
|
|
|
|
/*
|
|
* The following structure defines the format of the disk quota file
|
|
* (as it appears on disk) - the file is an array of these structures
|
|
* indexed by user or group number.
|
|
*/
|
|
struct v1_disk_dqblk {
|
|
__u32 dqb_bhardlimit; /* absolute limit on disk blks alloc */
|
|
__u32 dqb_bsoftlimit; /* preferred limit on disk blks */
|
|
__u32 dqb_curblocks; /* current block count */
|
|
__u32 dqb_ihardlimit; /* absolute limit on allocated inodes */
|
|
__u32 dqb_isoftlimit; /* preferred inode limit */
|
|
__u32 dqb_curinodes; /* current # allocated inodes */
|
|
|
|
/* below fields differ in length on 32-bit vs 64-bit architectures */
|
|
unsigned long dqb_btime; /* time limit for excessive disk use */
|
|
unsigned long dqb_itime; /* time limit for excessive inode use */
|
|
};
|
|
|
|
#define v1_dqoff(UID) ((loff_t)((UID) * sizeof (struct v1_disk_dqblk)))
|
|
|
|
#endif /* _LINUX_QUOTAIO_V1_H */
|