From patchwork Fri Jan 5 09:23:25 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tyson Nottingham X-Patchwork-Id: 855953 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-ext4-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="K1acnjmw"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3zCfPZ3QDdz9t32 for ; Fri, 5 Jan 2018 20:24:18 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751342AbeAEJYR (ORCPT ); Fri, 5 Jan 2018 04:24:17 -0500 Received: from mail-pl0-f67.google.com ([209.85.160.67]:35832 "EHLO mail-pl0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751260AbeAEJYK (ORCPT ); Fri, 5 Jan 2018 04:24:10 -0500 Received: by mail-pl0-f67.google.com with SMTP id b96so2765618pli.2 for ; Fri, 05 Jan 2018 01:24:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references; bh=Lp0UrF8q3eUShN4YerDPTMPrwVbK0kAEHYpdwfXvm1A=; b=K1acnjmwiE/mPl/wIpWBVUz60ysPtANbbEMwILlbCziCKbJ1YvFa3Y/+4JRw802Zkn 3agNG9OTXzRwMY8a2fZfgB3u2EPijXi7gu8pcz1ya/f91ojzbh6faFz/8x2lgm1pAclM mUlaqjLs7cbaq1hEytVXPSqSD7Sg9AankF7sscNN4krIFJgrYk3d6nN2c3MJYUShYxMe z6l2nb0rwjPQiCKOCepMpkdqARKLIAAHgfkfsyr4AEJPTc6oY77e03tujHXTYPg+QLS/ 3hbcxTMrPL8fWSPq43TiqxGnVEJ+/8exw3hCaZmj1rZvvuRmS5FfKL3NnCamuu+bx4/+ +TDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:in-reply-to:references; bh=Lp0UrF8q3eUShN4YerDPTMPrwVbK0kAEHYpdwfXvm1A=; b=jQK72u7jHWcJEGNyPtKTN5FQzN1xqQsS54VL5XUeAzNmwvRLlOMQ+VtPTDdIZCAH9u zY2sZUXewl3v5OV8UJa18+AzZbz9/IKF/n5Ahhz+UNBh1yNFdgxbSxAOH7d+mS/x55os jSgAvY97O278dNO6H1w4V1eDxg6/bAIk8FnjRAAkEMAlrMZEfVS7mfRnI4SdcFeUFLBX xTeU9ob1rgDYWAqypnXqN/46+5RQHPJIOhwVAPo/cXhY1DIpiB5sWuX4HWbr9IzC9kNi /4NfT/wEn0qD2p//PGHvpFa/9EZWU213lCNFSICFZDnnogH+kvXX1k3AUtfjB5pTJ/Iy 5qaw== X-Gm-Message-State: AKGB3mJ8uXr7xxckOLmeDPhUAFJK9bd/LkK4jTDCBnHxH/fjsYiM6/wH 2Mlgkd1J7iT+AMs7PKlLXOefQybI X-Google-Smtp-Source: ACJfBovu2UqRfCbsh3ymAeUzg7Bz6NjFe1w9jYRJ36TfV+n7eOtkuxgkUR2HUSXfAu31NjBCbsUGmg== X-Received: by 10.84.246.196 with SMTP id j4mr2497534plt.20.1515144249812; Fri, 05 Jan 2018 01:24:09 -0800 (PST) Received: from localhost.localdomain (c-73-11-197-250.hsd1.wa.comcast.net. [73.11.197.250]) by smtp.gmail.com with ESMTPSA id b8sm9476658pff.26.2018.01.05.01.24.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 05 Jan 2018 01:24:08 -0800 (PST) From: Tyson Nottingham To: linux-ext4@vger.kernel.org Cc: tytso@mit.edu, adilger.kernel@dilger.ca, Tyson Nottingham Subject: [PATCH 3/3] ext4: define visible/modifiable flag masks in terms of inode flags Date: Fri, 5 Jan 2018 01:23:25 -0800 Message-Id: <72549a0cca1ccc4097deb19899aa9756f0397aa2.1515135646.git.tgnottingham@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: References: In-Reply-To: References: Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org Define visible and modifiable inode flag masks in terms of inode flags instead of hexadecimal to make it clearer which flags are included. Signed-off-by: Tyson Nottingham --- I printed and diffed the flag values before and after to verify they match. --- fs/ext4/ext4.h | 73 ++++++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 58 insertions(+), 15 deletions(-) diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index 6fd2698..9fe70ab 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h @@ -431,23 +431,66 @@ enum { #define EXT4_PROJINHERIT_FL BIT(EXT4_INODE_PROJINHERIT) /* Create with parents projid */ #define EXT4_RESERVED_FL BIT(EXT4_INODE_RESERVED) /* reserved for ext4 lib */ -#define EXT4_FL_USER_VISIBLE 0x304BDFFF /* User visible flags */ -#define EXT4_FL_USER_MODIFIABLE 0x204BC0FF /* User modifiable flags */ - -/* Flags we can manipulate with through EXT4_IOC_FSSETXATTR */ -#define EXT4_FL_XFLAG_VISIBLE (EXT4_SYNC_FL | \ - EXT4_IMMUTABLE_FL | \ - EXT4_APPEND_FL | \ - EXT4_NODUMP_FL | \ - EXT4_NOATIME_FL | \ - EXT4_PROJINHERIT_FL) +/* Flags we can manipulate through EXT4_IOC_GETFLAGS */ +#define EXT4_FL_USER_VISIBLE (EXT4_SECRM_FL | \ + EXT4_UNRM_FL | \ + EXT4_COMPR_FL | \ + EXT4_SYNC_FL | \ + EXT4_IMMUTABLE_FL | \ + EXT4_APPEND_FL | \ + EXT4_NODUMP_FL | \ + EXT4_NOATIME_FL | \ + EXT4_DIRTY_FL | \ + EXT4_COMPRBLK_FL | \ + EXT4_NOCOMPR_FL | \ + EXT4_ENCRYPT_FL | \ + EXT4_INDEX_FL | \ + EXT4_JOURNAL_DATA_FL | \ + EXT4_NOTAIL_FL | \ + EXT4_DIRSYNC_FL | \ + EXT4_TOPDIR_FL | \ + EXT4_EXTENTS_FL | \ + EXT4_EOFBLOCKS_FL | \ + EXT4_INLINE_DATA_FL | \ + EXT4_PROJINHERIT_FL) + +/* Flags we can manipulate through EXT4_IOC_SETFLAGS */ +#define EXT4_FL_USER_MODIFIABLE (EXT4_SECRM_FL | \ + EXT4_UNRM_FL | \ + EXT4_COMPR_FL | \ + EXT4_SYNC_FL | \ + EXT4_IMMUTABLE_FL | \ + EXT4_APPEND_FL | \ + EXT4_NODUMP_FL | \ + EXT4_NOATIME_FL | \ + EXT4_JOURNAL_DATA_FL | \ + EXT4_NOTAIL_FL | \ + EXT4_DIRSYNC_FL | \ + EXT4_TOPDIR_FL | \ + EXT4_EXTENTS_FL | \ + EXT4_EOFBLOCKS_FL | \ + EXT4_PROJINHERIT_FL) + +/* Flags we can manipulate through EXT4_IOC_FSSETXATTR */ +#define EXT4_FL_XFLAG_VISIBLE (EXT4_SYNC_FL | \ + EXT4_IMMUTABLE_FL | \ + EXT4_APPEND_FL | \ + EXT4_NODUMP_FL | \ + EXT4_NOATIME_FL | \ + EXT4_PROJINHERIT_FL) /* Flags that should be inherited by new inodes from their parent. */ -#define EXT4_FL_INHERITED (EXT4_SECRM_FL | EXT4_UNRM_FL | EXT4_COMPR_FL |\ - EXT4_SYNC_FL | EXT4_NODUMP_FL | EXT4_NOATIME_FL |\ - EXT4_NOCOMPR_FL | EXT4_JOURNAL_DATA_FL |\ - EXT4_NOTAIL_FL | EXT4_DIRSYNC_FL |\ - EXT4_PROJINHERIT_FL) +#define EXT4_FL_INHERITED (EXT4_SECRM_FL | \ + EXT4_UNRM_FL | \ + EXT4_COMPR_FL | \ + EXT4_SYNC_FL | \ + EXT4_NODUMP_FL | \ + EXT4_NOATIME_FL | \ + EXT4_NOCOMPR_FL | \ + EXT4_JOURNAL_DATA_FL | \ + EXT4_NOTAIL_FL | \ + EXT4_DIRSYNC_FL | \ + EXT4_PROJINHERIT_FL) /* Flags that are appropriate for regular files (all but dir-specific ones). */ #define EXT4_REG_FLMASK (~(EXT4_DIRSYNC_FL | EXT4_TOPDIR_FL))