mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-31 08:38:45 +02:00 
			
		
		
		
	 1ead083ae1
			
		
	
	
		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 */
 |