Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp1524431pxu; Fri, 27 Nov 2020 09:05:40 -0800 (PST) X-Google-Smtp-Source: ABdhPJxg91IJwe/orUFHljelZY2IMtaKO5TppKM6rJdh5Puy8Mu/8oVZKmZwz9NeDWvZQpygnlZ0 X-Received: by 2002:a17:906:ae88:: with SMTP id md8mr9019255ejb.323.1606496740132; Fri, 27 Nov 2020 09:05:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1606496740; cv=none; d=google.com; s=arc-20160816; b=KBub8M1uyrA5O6i5zgG64dHck6I/ExznEdVd/yXM4eHcedJIfFJ18U0X3ShUbbE3Kh 5Rz0JqBQS0j6MuPIgCtDbl+m8DM27XjtCAOi+Qu4qmFdX9m2EORRc+Kvtlw3rDFd7Vye aEmUXrErve2HwsavfbcvmbsHtEqnIVrAMKX/vSRhSlsOlZZDnV85zFVGZMgH7P43t8lx h8Suz0VeoISmEovfmbl911SXJfibWfhwarrfOsdGMlmUrWutaI2Ufsv0jwqH6NkQxKYQ vXLlzEAzorV+KKPaVTJUQOiJlIFku3Vj0ZP7tyJXqRvMv8n1nMekd9joe7CCngrc6O+C 6y9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=jCLYVENSmdQKT9UYgB28HLv80A0j0nYLHTlj5YrnuqM=; b=Kg3ukV6o42ehIkI5V9L5+8df3UlhZTIJnjmmAyFWtsj5C/lNEvHXoVlgc4liAUiC5i ws0r98G6LckVMrM3dDGSOsKO7kdJVEzRCxa1u2IkpM+9K0WnG8cnUnwCAbgjoLvhbazl 4wWvcLsTZOIz4px+bumXTUcRyDvyZKKT4mAAKuzeQdYy4xw1ePdzjdyCGC+e/9Ut97Wq dGrWl8+oWTeZ1MeYxLMD9E6VRulCPvCdEyTyDfP5W/dn0yumtQRIvBF/TX8BM8m9InDf 3n7TKGpmJ7p4ChJ//iJ55ftiuuhQv1srPuxrRTYDRFMXQpTo5d5y4S91rR4Zb/VVXrsu l1EQ== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r19si5588633ejc.668.2020.11.27.09.05.16; Fri, 27 Nov 2020 09:05:40 -0800 (PST) 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731884AbgK0RBi (ORCPT + 99 others); Fri, 27 Nov 2020 12:01:38 -0500 Received: from bhuna.collabora.co.uk ([46.235.227.227]:57090 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731718AbgK0RBh (ORCPT ); Fri, 27 Nov 2020 12:01:37 -0500 Received: from xps.home (unknown [IPv6:2a01:e35:2fb5:1510:5a64:74b8:f3be:d972]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: aferraris) by bhuna.collabora.co.uk (Postfix) with ESMTPSA id BDBE21F464FC; Fri, 27 Nov 2020 17:01:36 +0000 (GMT) From: Arnaud Ferraris To: linux-ext4@vger.kernel.org Cc: Daniel Rosenberg , Gabriel Krisman Bertazi , Arnaud Ferraris Subject: [PATCH v2 01/12] tune2fs: Allow enabling casefold feature after fs creation Date: Fri, 27 Nov 2020 18:01:05 +0100 Message-Id: <20201127170116.197901-2-arnaud.ferraris@collabora.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201127170116.197901-1-arnaud.ferraris@collabora.com> References: <20201127170116.197901-1-arnaud.ferraris@collabora.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org From: Gabriel Krisman Bertazi The main reason we didn't allow this before was because !CASEFOLDED directories were expected to be normalized(). Since this is no longer the case, and as long as the encrypt feature is not enabled, it should be safe to enable this feature. Disabling the feature is trickier, since we need to make sure there are no existing +F directories in the filesystem. Leave that for a future patch. Also, enabling strict mode requires some filesystem-wide verification, so ignore that for now. Signed-off-by: Gabriel Krisman Bertazi Signed-off-by: Arnaud Ferraris --- misc/tune2fs.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/misc/tune2fs.c b/misc/tune2fs.c index f942c698..0809e565 100644 --- a/misc/tune2fs.c +++ b/misc/tune2fs.c @@ -161,7 +161,8 @@ static __u32 ok_features[3] = { EXT4_FEATURE_INCOMPAT_64BIT | EXT4_FEATURE_INCOMPAT_ENCRYPT | EXT4_FEATURE_INCOMPAT_CSUM_SEED | - EXT4_FEATURE_INCOMPAT_LARGEDIR, + EXT4_FEATURE_INCOMPAT_LARGEDIR | + EXT4_FEATURE_INCOMPAT_CASEFOLD, /* R/O compat */ EXT2_FEATURE_RO_COMPAT_LARGE_FILE | EXT4_FEATURE_RO_COMPAT_HUGE_FILE| @@ -1513,6 +1514,19 @@ mmp_error: } } + if (FEATURE_ON(E2P_FEATURE_INCOMPAT, EXT4_FEATURE_INCOMPAT_CASEFOLD)) { + if (ext2fs_has_feature_encrypt(sb)) { + fputs(_("Cannot enable casefold feature on filesystems " + "with the encrypt feature enabled.\n"), + stderr); + return 1; + } + + sb->s_encoding = EXT4_ENC_UTF8_12_1; + sb->s_encoding_flags = e2p_get_encoding_flags(sb->s_encoding); + } + + if (sb->s_rev_level == EXT2_GOOD_OLD_REV && (sb->s_feature_compat || sb->s_feature_ro_compat || sb->s_feature_incompat)) -- 2.28.0