* [PATCH v2 0/2] fs/ntfs3: Add system.ntfs_attrib_be extended attribute @ 2022-10-10 11:41 Daniel Pinto 2022-10-10 11:44 ` [PATCH v2 1/2] fs/ntfs3: add " Daniel Pinto ` (2 more replies) 0 siblings, 3 replies; 4+ messages in thread From: Daniel Pinto @ 2022-10-10 11:41 UTC (permalink / raw) To: Konstantin Komarov, ntfs3, linux-fsdevel, linux-kernel Changes v1->v2: - Add documentation for the system.ntfs_attrib_be extended attribute Improves compatibility with NTFS-3G by adding the system.ntfs_attrib_be extended attribute. Daniel Pinto (2): fs/ntfs3: add system.ntfs_attrib_be extended attribute fs/ntfs3: document system.ntfs_attrib_be extended attribute Documentation/filesystems/ntfs3.rst | 5 +++++ fs/ntfs3/xattr.c | 20 ++++++++++++++------ 2 files changed, 19 insertions(+), 6 deletions(-) ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v2 1/2] fs/ntfs3: add system.ntfs_attrib_be extended attribute 2022-10-10 11:41 [PATCH v2 0/2] fs/ntfs3: Add system.ntfs_attrib_be extended attribute Daniel Pinto @ 2022-10-10 11:44 ` Daniel Pinto 2022-10-10 11:46 ` [PATCH v2 2/2] fs/ntfs3: document " Daniel Pinto 2022-11-12 18:19 ` [PATCH v2 0/2] fs/ntfs3: Add " Konstantin Komarov 2 siblings, 0 replies; 4+ messages in thread From: Daniel Pinto @ 2022-10-10 11:44 UTC (permalink / raw) To: Konstantin Komarov, ntfs3, linux-fsdevel, linux-kernel NTFS-3G provides the system.ntfs_attrib_be extended attribute, which has the same value as system.ntfs_attrib but represented in big-endian. Some utilities rely on the existence of this extended attribute. Improves compatibility with NTFS-3G by adding the system.ntfs_attrib_be extended attribute. Signed-off-by: Daniel Pinto <danielpinto52@gmail.com> --- fs/ntfs3/xattr.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/fs/ntfs3/xattr.c b/fs/ntfs3/xattr.c index aeee5fb12092..8620a7b4b3e6 100644 --- a/fs/ntfs3/xattr.c +++ b/fs/ntfs3/xattr.c @@ -15,9 +15,10 @@ #include "ntfs_fs.h" // clang-format off -#define SYSTEM_DOS_ATTRIB "system.dos_attrib" -#define SYSTEM_NTFS_ATTRIB "system.ntfs_attrib" -#define SYSTEM_NTFS_SECURITY "system.ntfs_security" +#define SYSTEM_DOS_ATTRIB "system.dos_attrib" +#define SYSTEM_NTFS_ATTRIB "system.ntfs_attrib" +#define SYSTEM_NTFS_ATTRIB_BE "system.ntfs_attrib_be" +#define SYSTEM_NTFS_SECURITY "system.ntfs_security" // clang-format on static inline size_t unpacked_ea_size(const struct EA_FULL *ea) @@ -796,7 +797,8 @@ static int ntfs_getxattr(const struct xattr_handler *handler, struct dentry *de, goto out; } - if (!strcmp(name, SYSTEM_NTFS_ATTRIB)) { + if (!strcmp(name, SYSTEM_NTFS_ATTRIB) || + !strcmp(name, SYSTEM_NTFS_ATTRIB_BE)) { /* system.ntfs_attrib */ if (!buffer) { err = sizeof(u32); @@ -805,6 +807,8 @@ static int ntfs_getxattr(const struct xattr_handler *handler, struct dentry *de, } else { err = sizeof(u32); *(u32 *)buffer = le32_to_cpu(ni->std_fa); + if (!strcmp(name, SYSTEM_NTFS_ATTRIB_BE)) + *(u32 *)buffer = cpu_to_be32(*(u32 *)buffer); } goto out; } @@ -889,10 +893,14 @@ static noinline int ntfs_setxattr(const struct xattr_handler *handler, goto set_new_fa; } - if (!strcmp(name, SYSTEM_NTFS_ATTRIB)) { + if (!strcmp(name, SYSTEM_NTFS_ATTRIB) || + !strcmp(name, SYSTEM_NTFS_ATTRIB_BE)) { if (size != sizeof(u32)) goto out; - new_fa = cpu_to_le32(*(u32 *)value); + if (!strcmp(name, SYSTEM_NTFS_ATTRIB_BE)) + new_fa = cpu_to_le32(be32_to_cpu(*(u32 *)value)); + else + new_fa = cpu_to_le32(*(u32 *)value); if (S_ISREG(inode->i_mode)) { /* Process compressed/sparsed in special way. */ ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v2 2/2] fs/ntfs3: document system.ntfs_attrib_be extended attribute 2022-10-10 11:41 [PATCH v2 0/2] fs/ntfs3: Add system.ntfs_attrib_be extended attribute Daniel Pinto 2022-10-10 11:44 ` [PATCH v2 1/2] fs/ntfs3: add " Daniel Pinto @ 2022-10-10 11:46 ` Daniel Pinto 2022-11-12 18:19 ` [PATCH v2 0/2] fs/ntfs3: Add " Konstantin Komarov 2 siblings, 0 replies; 4+ messages in thread From: Daniel Pinto @ 2022-10-10 11:46 UTC (permalink / raw) To: Konstantin Komarov, ntfs3, linux-fsdevel, linux-kernel Add documentation for system.ntfs_attrib_be extended attribute. Signed-off-by: Daniel Pinto <danielpinto52@gmail.com> --- Documentation/filesystems/ntfs3.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Documentation/filesystems/ntfs3.rst b/Documentation/filesystems/ntfs3.rst index d67ccd22c63b..fa6ca1babc60 100644 --- a/Documentation/filesystems/ntfs3.rst +++ b/Documentation/filesystems/ntfs3.rst @@ -25,6 +25,11 @@ versions up to 3.1. File system type to use on mount is *ntfs3*. Note: Applied to empty files, this allows to switch type between sparse(0x200), compressed(0x800) and normal. + - *system.ntfs_attrib_be* gets/sets ntfs file/dir attributes. + + Same value as system.ntfs_attrib but always represent as big-endian + (endianness of system.ntfs_attrib is the same as of the CPU). + Mount Options ============= ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v2 0/2] fs/ntfs3: Add system.ntfs_attrib_be extended attribute 2022-10-10 11:41 [PATCH v2 0/2] fs/ntfs3: Add system.ntfs_attrib_be extended attribute Daniel Pinto 2022-10-10 11:44 ` [PATCH v2 1/2] fs/ntfs3: add " Daniel Pinto 2022-10-10 11:46 ` [PATCH v2 2/2] fs/ntfs3: document " Daniel Pinto @ 2022-11-12 18:19 ` Konstantin Komarov 2 siblings, 0 replies; 4+ messages in thread From: Konstantin Komarov @ 2022-11-12 18:19 UTC (permalink / raw) To: Daniel Pinto, ntfs3, linux-fsdevel, linux-kernel On 10/10/22 14:41, Daniel Pinto wrote: > Changes v1->v2: > - Add documentation for the system.ntfs_attrib_be extended attribute > > Improves compatibility with NTFS-3G by adding the system.ntfs_attrib_be > extended attribute. > > Daniel Pinto (2): > fs/ntfs3: add system.ntfs_attrib_be extended attribute > fs/ntfs3: document system.ntfs_attrib_be extended attribute > > Documentation/filesystems/ntfs3.rst | 5 +++++ > fs/ntfs3/xattr.c | 20 ++++++++++++++------ > 2 files changed, 19 insertions(+), 6 deletions(-) Thank you for your work, applied! ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-11-12 18:19 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-10-10 11:41 [PATCH v2 0/2] fs/ntfs3: Add system.ntfs_attrib_be extended attribute Daniel Pinto 2022-10-10 11:44 ` [PATCH v2 1/2] fs/ntfs3: add " Daniel Pinto 2022-10-10 11:46 ` [PATCH v2 2/2] fs/ntfs3: document " Daniel Pinto 2022-11-12 18:19 ` [PATCH v2 0/2] fs/ntfs3: Add " Konstantin Komarov
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).