From 45a7032efa745801d6bfc42b511e0d80b6fdf029 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E5=B0=8F=E7=99=BD?= <296015668@qq.com> Date: Fri, 14 Aug 2026 09:03:44 +0800 Subject: [PATCH 1/2] fix(ioctl): add FIEMAP constants for loongarch64 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 吴小白 <296015668@qq.com> --- gen/ioctl/loongarch-ioctls.txt | 16 ++++++++++++++++ gen/modules/ioctl.h | 16 ++++++++++++++++ src/loongarch64/ioctl.rs | 16 ++++++++++++++++ 3 files changed, 48 insertions(+) diff --git a/gen/ioctl/loongarch-ioctls.txt b/gen/ioctl/loongarch-ioctls.txt index 75f715ff8..1af48bbdd 100644 --- a/gen/ioctl/loongarch-ioctls.txt +++ b/gen/ioctl/loongarch-ioctls.txt @@ -103,6 +103,22 @@ #define BLKSECDISCARD 0x127dul #define BLKROTATIONAL 0x127eul #define BLKZEROOUT 0x127ful +#define FIEMAP_MAX_OFFSET 0xfffffffffffffffful +#define FIEMAP_FLAG_SYNC 0x1ul +#define FIEMAP_FLAG_XATTR 0x2ul +#define FIEMAP_FLAG_CACHE 0x4ul +#define FIEMAP_FLAGS_COMPAT 0x3ul +#define FIEMAP_EXTENT_LAST 0x1ul +#define FIEMAP_EXTENT_UNKNOWN 0x2ul +#define FIEMAP_EXTENT_DELALLOC 0x4ul +#define FIEMAP_EXTENT_ENCODED 0x8ul +#define FIEMAP_EXTENT_DATA_ENCRYPTED 0x80ul +#define FIEMAP_EXTENT_NOT_ALIGNED 0x100ul +#define FIEMAP_EXTENT_DATA_INLINE 0x200ul +#define FIEMAP_EXTENT_DATA_TAIL 0x400ul +#define FIEMAP_EXTENT_UNWRITTEN 0x800ul +#define FIEMAP_EXTENT_MERGED 0x1000ul +#define FIEMAP_EXTENT_SHARED 0x2000ul #define UFFDIO_REGISTER 0xc020aa00ul #define UFFDIO_UNREGISTER 0x8010aa01ul #define UFFDIO_WAKE 0x8010aa02ul diff --git a/gen/modules/ioctl.h b/gen/modules/ioctl.h index 320b7ceea..71e296d25 100644 --- a/gen/modules/ioctl.h +++ b/gen/modules/ioctl.h @@ -16594,6 +16594,22 @@ #define BLKSECDISCARD 0x127dul #define BLKROTATIONAL 0x127eul #define BLKZEROOUT 0x127ful +#define FIEMAP_MAX_OFFSET 0xfffffffffffffffful +#define FIEMAP_FLAG_SYNC 0x1ul +#define FIEMAP_FLAG_XATTR 0x2ul +#define FIEMAP_FLAG_CACHE 0x4ul +#define FIEMAP_FLAGS_COMPAT 0x3ul +#define FIEMAP_EXTENT_LAST 0x1ul +#define FIEMAP_EXTENT_UNKNOWN 0x2ul +#define FIEMAP_EXTENT_DELALLOC 0x4ul +#define FIEMAP_EXTENT_ENCODED 0x8ul +#define FIEMAP_EXTENT_DATA_ENCRYPTED 0x80ul +#define FIEMAP_EXTENT_NOT_ALIGNED 0x100ul +#define FIEMAP_EXTENT_DATA_INLINE 0x200ul +#define FIEMAP_EXTENT_DATA_TAIL 0x400ul +#define FIEMAP_EXTENT_UNWRITTEN 0x800ul +#define FIEMAP_EXTENT_MERGED 0x1000ul +#define FIEMAP_EXTENT_SHARED 0x2000ul #define UFFDIO_REGISTER 0xc020aa00ul #define UFFDIO_UNREGISTER 0x8010aa01ul #define UFFDIO_WAKE 0x8010aa02ul diff --git a/src/loongarch64/ioctl.rs b/src/loongarch64/ioctl.rs index c311d1746..825dc23ae 100644 --- a/src/loongarch64/ioctl.rs +++ b/src/loongarch64/ioctl.rs @@ -104,6 +104,22 @@ pub const BLKDISCARDZEROES: u32 = 4732; pub const BLKSECDISCARD: u32 = 4733; pub const BLKROTATIONAL: u32 = 4734; pub const BLKZEROOUT: u32 = 4735; +pub const FIEMAP_MAX_OFFSET: u64 = 18446744073709551615; +pub const FIEMAP_FLAG_SYNC: u32 = 1; +pub const FIEMAP_FLAG_XATTR: u32 = 2; +pub const FIEMAP_FLAG_CACHE: u32 = 4; +pub const FIEMAP_FLAGS_COMPAT: u32 = 3; +pub const FIEMAP_EXTENT_LAST: u32 = 1; +pub const FIEMAP_EXTENT_UNKNOWN: u32 = 2; +pub const FIEMAP_EXTENT_DELALLOC: u32 = 4; +pub const FIEMAP_EXTENT_ENCODED: u32 = 8; +pub const FIEMAP_EXTENT_DATA_ENCRYPTED: u32 = 128; +pub const FIEMAP_EXTENT_NOT_ALIGNED: u32 = 256; +pub const FIEMAP_EXTENT_DATA_INLINE: u32 = 512; +pub const FIEMAP_EXTENT_DATA_TAIL: u32 = 1024; +pub const FIEMAP_EXTENT_UNWRITTEN: u32 = 2048; +pub const FIEMAP_EXTENT_MERGED: u32 = 4096; +pub const FIEMAP_EXTENT_SHARED: u32 = 8192; pub const UFFDIO_REGISTER: u32 = 3223366144; pub const UFFDIO_UNREGISTER: u32 = 2148575745; pub const UFFDIO_WAKE: u32 = 2148575746; From 7bd17996ab2e9f2bfc9e3dfb8406a36a25d2aeb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E5=B0=8F=E7=99=BD?= <296015668@qq.com> Date: Fri, 14 Aug 2026 09:15:26 +0800 Subject: [PATCH 2/2] fix(loongarch64): align FIEMAP_MAX_OFFSET type with other 64-bit targets MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 吴小白 <296015668@qq.com> --- src/loongarch64/ioctl.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/loongarch64/ioctl.rs b/src/loongarch64/ioctl.rs index 825dc23ae..164762d6d 100644 --- a/src/loongarch64/ioctl.rs +++ b/src/loongarch64/ioctl.rs @@ -104,7 +104,7 @@ pub const BLKDISCARDZEROES: u32 = 4732; pub const BLKSECDISCARD: u32 = 4733; pub const BLKROTATIONAL: u32 = 4734; pub const BLKZEROOUT: u32 = 4735; -pub const FIEMAP_MAX_OFFSET: u64 = 18446744073709551615; +pub const FIEMAP_MAX_OFFSET: i32 = -1; pub const FIEMAP_FLAG_SYNC: u32 = 1; pub const FIEMAP_FLAG_XATTR: u32 = 2; pub const FIEMAP_FLAG_CACHE: u32 = 4;