]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
quota: Cleanup flags definitions
authorJan Kara <jack@suse.cz>
Wed, 19 Nov 2014 08:21:58 +0000 (09:21 +0100)
committerJan Kara <jack@suse.cz>
Wed, 21 Jan 2015 18:21:30 +0000 (19:21 +0100)
Currently all quota flags were defined just in kernel-private headers.
Export flags readable / writeable from userspace to userspace via
include/uapi/linux/quota.h.

Signed-off-by: Jan Kara <jack@suse.cz>
fs/quota/dquot.c
include/linux/dqblk_v1.h
include/linux/quota.h
include/uapi/linux/quota.h

index 8f0acef3d18481647507d32e1861420007f38e3d..f8be368b9086c811b1a796a24adae0d19365d450 100644 (file)
@@ -1248,7 +1248,7 @@ static int ignore_hardlimit(struct dquot *dquot)
 
        return capable(CAP_SYS_RESOURCE) &&
               (info->dqi_format->qf_fmt_id != QFMT_VFS_OLD ||
-               !(info->dqi_flags & V1_DQF_RSQUASH));
+               !(info->dqi_flags & DQF_ROOT_SQUASH));
 }
 
 /* needs dq_data_lock */
index 3713a7232dd8e5d267f40aa1d1498e5947589301..c0d4d1e2a45c4158a2613b1e76ab3704bae19230 100644 (file)
@@ -5,9 +5,6 @@
 #ifndef _LINUX_DQBLK_V1_H
 #define _LINUX_DQBLK_V1_H
 
-/* Root squash turned on */
-#define V1_DQF_RSQUASH 1
-
 /* Numbers of blocks needed for updates */
 #define V1_INIT_ALLOC 1
 #define V1_INIT_REWRITE 1
index 50978b781a19c4d82c60c44918f5049c4cd25272..0c42113607ce025809f2ac6eb94f96fd9ad6ab47 100644 (file)
@@ -223,12 +223,14 @@ struct mem_dqinfo {
 
 struct super_block;
 
-#define DQF_MASK 0xffff                /* Mask for format specific flags */
-#define DQF_GETINFO_MASK 0x1ffff       /* Mask for flags passed to userspace */
-#define DQF_SETINFO_MASK 0xffff                /* Mask for flags modifiable from userspace */
-#define DQF_SYS_FILE_B         16
-#define DQF_SYS_FILE (1 << DQF_SYS_FILE_B)     /* Quota file stored as system file */
-#define DQF_INFO_DIRTY_B       31
+/* Mask for flags passed to userspace */
+#define DQF_GETINFO_MASK (DQF_ROOT_SQUASH | DQF_SYS_FILE)
+/* Mask for flags modifiable from userspace */
+#define DQF_SETINFO_MASK DQF_ROOT_SQUASH
+
+enum {
+       DQF_INFO_DIRTY_B = DQF_PRIVATE,
+};
 #define DQF_INFO_DIRTY (1 << DQF_INFO_DIRTY_B) /* Is info dirty? */
 
 extern void mark_info_dirty(struct super_block *sb, int type);
index 3b6cfbeb086d87c8812931490ad70ddcd7f98b95..1f49b8341c994f27ca84374a1115a1d2be01a1e9 100644 (file)
@@ -126,10 +126,22 @@ struct if_dqblk {
 #define IIF_FLAGS      4
 #define IIF_ALL                (IIF_BGRACE | IIF_IGRACE | IIF_FLAGS)
 
+enum {
+       DQF_ROOT_SQUASH_B = 0,
+       DQF_SYS_FILE_B = 16,
+       /* Kernel internal flags invisible to userspace */
+       DQF_PRIVATE
+};
+
+/* Root squash enabled (for v1 quota format) */
+#define DQF_ROOT_SQUASH        (1 << DQF_ROOT_SQUASH_B)
+/* Quota stored in a system file */
+#define DQF_SYS_FILE   (1 << DQF_SYS_FILE_B)
+
 struct if_dqinfo {
        __u64 dqi_bgrace;
        __u64 dqi_igrace;
-       __u32 dqi_flags;
+       __u32 dqi_flags;        /* DFQ_* */
        __u32 dqi_valid;
 };