Received: by 2002:a05:6a10:6006:0:0:0:0 with SMTP id w6csp1006069pxa; Fri, 28 Aug 2020 00:33:22 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxHPc3L7oHY9/g4zIsrqwpqryk5RbNTW6WUw/799VeKnQN3m3do15vHIObh97CXoPHZcKS7 X-Received: by 2002:a17:906:4813:: with SMTP id w19mr432761ejq.159.1598600002160; Fri, 28 Aug 2020 00:33:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1598600002; cv=none; d=google.com; s=arc-20160816; b=EUOnbtD98FK85Vtv/vMZCAkHtUiU3ytLRRpx5OEgDflDKVZDJ+Sp3l9d6k/38LpH7C zDBK9TkLqqZAS38YUsGAAJU1NIpBB6MVpsWKGifKvYCwmxr9gjY4u8sewNfxKtlmgL4Q kPVpvQXWOZPZDL4VglR44IaITN3tpaHIZxtG+NQPHZvjS/sCB/uE4+5JDPtQFCa3avrP 7Gm5n1+sc+RgVeoWBaU7FvlRE9Ih6jqm5/8ec1bJOnYR81c+bAJQmZ92+gyJvbY+7S7C IrFbXIMDAl9rY1mFxaG6xNFCyC8AgKKRh2SLGEquW6RA3SjmzLLHQ8zAiPltiejOLc2n Fznw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=NBz935ihbb+rCw4IIsCzoDYPaHl04D1gBehsHgJ8DoE=; b=byPwLQgTKqI+3rR9CVYIYRIAjEX2mMPLVb2SuVFmhOKiF5SlRTbTF/hgjwCDSjj9o2 urqSBph86S7EJLfKv7U+tJ/wyzh95g6eQTuXcHKbQ+pV5zHuBlkEYS0DTM+seAiASG8S 2gKdGfPvo4dQJ25GPHSuS1WxmJjCWGLGiqSbNp6dGl9lfEH4eHOfnyyWQ/2y67PN2VKb koQh31FDdKfVHRjr9RMJJhSf5jqgBwbgoJLsd+NHKK3fUOp3OmYa4oSNbbCGWqx3d3qJ OIPjHNJUtvMfKcJIoopURJO4+rdzp1jAPKPRsgVb20Az29CCalI79ePPmsnUNa2EdRjC vnMg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id lm17si121960ejb.464.2020.08.28.00.32.48; Fri, 28 Aug 2020 00:33:22 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728001AbgH1Hcp (ORCPT + 99 others); Fri, 28 Aug 2020 03:32:45 -0400 Received: from mail.cn.fujitsu.com ([183.91.158.132]:32153 "EHLO heian.cn.fujitsu.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726500AbgH1Hcp (ORCPT ); Fri, 28 Aug 2020 03:32:45 -0400 X-IronPort-AV: E=Sophos;i="5.76,362,1592841600"; d="scan'208";a="98660280" Received: from unknown (HELO cn.fujitsu.com) ([10.167.33.5]) by heian.cn.fujitsu.com with ESMTP; 28 Aug 2020 15:32:41 +0800 Received: from G08CNEXMBPEKD04.g08.fujitsu.local (unknown [10.167.33.201]) by cn.fujitsu.com (Postfix) with ESMTP id 8F7DF48990DD; Fri, 28 Aug 2020 15:32:37 +0800 (CST) Received: from G08CNEXCHPEKD06.g08.fujitsu.local (10.167.33.205) by G08CNEXMBPEKD04.g08.fujitsu.local (10.167.33.201) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 28 Aug 2020 15:32:38 +0800 Received: from Fedora-31.g08.fujitsu.local (10.167.220.31) by G08CNEXCHPEKD06.g08.fujitsu.local (10.167.33.205) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Fri, 28 Aug 2020 15:32:38 +0800 From: Xiao Yang To: CC: , , , , Xiao Yang Subject: [PATCH] ext4: Disallow modifying DAX inode flag if inline_data has been set Date: Fri, 28 Aug 2020 15:15:01 +0800 Message-ID: <20200828071501.8402-1-yangx.jy@cn.fujitsu.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=US-ASCII X-yoursite-MailScanner-ID: 8F7DF48990DD.A0B5A X-yoursite-MailScanner: Found to be clean X-yoursite-MailScanner-From: yangx.jy@cn.fujitsu.com X-Spam-Status: No Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org inline_data is mutually exclusive to DAX so enabling both of them triggers the following issue: ------------------------------------------ # mkfs.ext4 -F -O inline_data /dev/pmem1 ... # mount /dev/pmem1 /mnt # echo 'test' >/mnt/file # lsattr -l /mnt/file /mnt/file Inline_Data # xfs_io -c "chattr +x" /mnt/file # xfs_io -c "lsattr -v" /mnt/file [dax] /mnt/file # umount /mnt # mount /dev/pmem1 /mnt # cat /mnt/file cat: /mnt/file: Numerical result out of range ------------------------------------------ Signed-off-by: Xiao Yang --- fs/ext4/ext4.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index 523e00d7b392..69187b6205b2 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h @@ -492,7 +492,7 @@ struct flex_groups { /* Flags which are mutually exclusive to DAX */ #define EXT4_DAX_MUT_EXCL (EXT4_VERITY_FL | EXT4_ENCRYPT_FL |\ - EXT4_JOURNAL_DATA_FL) + EXT4_JOURNAL_DATA_FL | EXT4_INLINE_DATA_FL) /* Mask out flags that are inappropriate for the given type of inode. */ static inline __u32 ext4_mask_flags(umode_t mode, __u32 flags) -- 2.25.1