From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BA9A73A0B1B for ; Tue, 3 Feb 2026 14:17:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770128258; cv=none; b=cSHC3j2+34KBPBI4S4raEb3xnr6x8tq058t05v+4wPmsy/V+OhQ6hI2a9goM/+y6png4XlEPv7yPtzSdHNtN2AJfH3uoX51/W2C5FI8KkTabpOLAdTdsIGQHrz29hL+UdZPDwToHdG4qwRfmQhKO3Bx0Sbp/l5e2JZ0cfvJ+0EM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770128258; c=relaxed/simple; bh=+GS4XNQ51ixbh5dkWAnRESBpCyK6L48WlPDwptdcWlU=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=eSWo+CVKMxzI9T4WmN+jz7fjbMtiBU+uFC7P7mEuvRV1jhodr9dTE9Rrg2m/Rp3jx0YWaOALB1QZejClorvmKSHd0gVoy3782XZJBYpUuR5/8YmMmC10LGdXPpJv23Yry6Ug6FmyPf2YGqXEJBWOBbNqtEYiaMhmT/JBoBJCFv0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Vz9wTatK; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Vz9wTatK" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 310EEC2BC86 for ; Tue, 3 Feb 2026 14:17:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1770128258; bh=+GS4XNQ51ixbh5dkWAnRESBpCyK6L48WlPDwptdcWlU=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=Vz9wTatKWAtwiYCnjtYSJEDzfUfmE+EqOQxmRjimDbIl4L6fpzxK1VKCpfkeh+/Yu lekjmGsS6XZr+uQNV2W0pJh+C87dPI9JEStsvpP0IK7H7mF+epZdzfXpkbUKJVXvZf 07HwvChRHHIWbs9VOWKwRgE4SRfho0mAVAvQkVif9JoV1ttNEzE8RFbVnsLyRFKjDb fAQV4MNp8iBoYwdPg9xwmi/puUUTuuYR8axYYzdnI6l1zSfhiwyshY1MmMTfPQMV9D dpOtolFpVzCrnnU+W7vF6frrLsnpydwlXWNc/GX0wMmFStwUoYSRglNqlZcFmJVbKG fIcF5y1nB7Zew== Received: by mail-ej1-f49.google.com with SMTP id a640c23a62f3a-b8870ac4c4eso885630866b.2 for ; Tue, 03 Feb 2026 06:17:38 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCUeqxHI4sqGZg0i1tOvnxQYO8HKswNYXYJidEOgRJU688U3cN4I8rRCdnmAkAJHqrYT+mNI5iKxRmS7QjA=@vger.kernel.org X-Gm-Message-State: AOJu0Yyfx/VYH+81rCUoSbGAZD1jZUNk5hebV5DftIaFVXref/jm8xlT pE1bXzXl7kt5E6GxI+TWl/kdWDCgIiYynaMPOq4Fw3kBhQ1gB8u0PiMFe+hsSIUTibCmgYVU0hJ AC+JIUH69jWfLHuJXSpUyAU99TNjF8KM= X-Received: by 2002:a17:906:ee82:b0:b87:7250:ad8f with SMTP id a640c23a62f3a-b8dff528bf8mr992086866b.10.1770128256763; Tue, 03 Feb 2026 06:17:36 -0800 (PST) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20260202220202.10907-1-linkinjeon@kernel.org> <20260202220202.10907-13-linkinjeon@kernel.org> <20260203063758.GB18053@lst.de> In-Reply-To: <20260203063758.GB18053@lst.de> From: Namjae Jeon Date: Tue, 3 Feb 2026 23:17:24 +0900 X-Gmail-Original-Message-ID: X-Gm-Features: AZwV_QijYccZY627qi7yJrba77Q61Tc1Wg360vJHgHHohUBxzoTw-Wb3SjK6k14 Message-ID: Subject: Re: [PATCH v6 12/16] ntfs: add reparse and ea operations To: Christoph Hellwig Cc: viro@zeniv.linux.org.uk, brauner@kernel.org, tytso@mit.edu, willy@infradead.org, jack@suse.cz, djwong@kernel.org, josef@toxicpanda.com, sandeen@sandeen.net, rgoldwyn@suse.com, xiang@kernel.org, dsterba@suse.com, pali@kernel.org, ebiggers@kernel.org, neil@brown.name, amir73il@gmail.com, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, iamjoonsoo.kim@lge.com, cheol.lee@lge.com, jay.sim@lge.com, gunho.lee@lge.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Feb 3, 2026 at 3:38=E2=80=AFPM Christoph Hellwig wrote= : > > Suggested commit message: > > Implement support for Extended Attributes and Reparse Points, enabling > Posix ACL support and, and compatibility with Windows Subsystem for > Linux (WSL) metadata. Okay, I will use it. > > > +struct WSL_LINK_REPARSE_DATA { > > + __le32 type; > > + char link[]; > > +}; > > + > > +struct REPARSE_INDEX { /* index entry in $Extend= /$Reparse */ > > Why are these using all upper case names unlike the rest of the > code? Right, I will change it. > > > + ok =3D ni && reparse_attr && (size >=3D sizeof(struct reparse_poi= nt)) && > > + (reparse_attr->reparse_tag !=3D IO_REPARSE_TAG_RESERVED_Z= ERO) && > > + (((size_t)le16_to_cpu(reparse_attr->reparse_data_length) = + > > + sizeof(struct reparse_point) + > > + ((reparse_attr->reparse_tag & IO_REPARSE_TAG_IS_MICROSO= FT) ? > > + 0 : sizeof(struct guid))) =3D=3D size); > > A bunch of superflous braces. But in general decomposing such complex > operations into an inline helper using multiple if statements and > adding comments improves the readability a lot. Okay, I will update and add the comments. > > > + if (ok) { > > ... and just return here for !ok and reduce the indentation for > the rest of the function? Right, I will change it like this. > > > + switch (reparse_attr->reparse_tag) { > > + case IO_REPARSE_TAG_LX_SYMLINK: > > + wsl_reparse_data =3D (const struct WSL_LINK_REPAR= SE_DATA *) > > + reparse_attr->reparse_dat= a; > > + if ((le16_to_cpu(reparse_attr->reparse_data_lengt= h) <=3D > > + sizeof(wsl_reparse_data->type)) || > > + (wsl_reparse_data->type !=3D cpu_to_le32(2))) > > + ok =3D false; > > + break; > > + case IO_REPARSE_TAG_AF_UNIX: > > + case IO_REPARSE_TAG_LX_FIFO: > > + case IO_REPARSE_TAG_LX_CHR: > > + case IO_REPARSE_TAG_LX_BLK: > > + if (reparse_attr->reparse_data_length || > > + !(ni->flags & FILE_ATTRIBUTE_RECALL_ON_OPEN)) > > + ok =3D false; > > + break; > > ... and then directly return from inside the switch as well? Right, I will change it. Thanks for the review! > >