diff options
author | Lukas Czerner <lczerner@redhat.com> | 2023-07-25 16:45:09 +0200 |
---|---|---|
committer | Christian Brauner <brauner@kernel.org> | 2023-08-09 09:15:40 +0200 |
commit | de4c0e7ca8b526a82ff7e5ee5533787bb6d01724 (patch) | |
tree | 3becafa0f5ce6e50ff6a35703c961236c22630b3 /include/linux/shmem_fs.h | |
parent | e09764cff44b5d31c2ca5477444565e3080637d2 (diff) | |
download | linux-stable-de4c0e7ca8b526a82ff7e5ee5533787bb6d01724.tar.gz linux-stable-de4c0e7ca8b526a82ff7e5ee5533787bb6d01724.tar.bz2 linux-stable-de4c0e7ca8b526a82ff7e5ee5533787bb6d01724.zip |
shmem: Add default quota limit mount options
Allow system administrator to set default global quota limits at tmpfs
mount time.
Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: Carlos Maiolino <cmaiolino@redhat.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Message-Id: <20230725144510.253763-7-cem@kernel.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'include/linux/shmem_fs.h')
-rw-r--r-- | include/linux/shmem_fs.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/shmem_fs.h b/include/linux/shmem_fs.h index 1a568a0f542f..c0058f3bba70 100644 --- a/include/linux/shmem_fs.h +++ b/include/linux/shmem_fs.h @@ -42,6 +42,13 @@ struct shmem_inode_info { (FS_IMMUTABLE_FL | FS_APPEND_FL | FS_NODUMP_FL | FS_NOATIME_FL) #define SHMEM_FL_INHERITED (FS_NODUMP_FL | FS_NOATIME_FL) +struct shmem_quota_limits { + qsize_t usrquota_bhardlimit; /* Default user quota block hard limit */ + qsize_t usrquota_ihardlimit; /* Default user quota inode hard limit */ + qsize_t grpquota_bhardlimit; /* Default group quota block hard limit */ + qsize_t grpquota_ihardlimit; /* Default group quota inode hard limit */ +}; + struct shmem_sb_info { unsigned long max_blocks; /* How many blocks are allowed */ struct percpu_counter used_blocks; /* How many are allocated */ @@ -60,6 +67,7 @@ struct shmem_sb_info { spinlock_t shrinklist_lock; /* Protects shrinklist */ struct list_head shrinklist; /* List of shinkable inodes */ unsigned long shrinklist_len; /* Length of shrinklist */ + struct shmem_quota_limits qlimits; /* Default quota limits */ }; static inline struct shmem_inode_info *SHMEM_I(struct inode *inode) |