Add the missing FIEMAP ioctl constants for loongarch64 - #195
Open
wszqkzqk wants to merge 1 commit into
Open
Conversation
Signed-off-by: Zhou Qiankang <wszqkzqk@qq.com>
wszqkzqk
added a commit
to wszqkzqk/loongarch-packages
that referenced
this pull request
Aug 25, 2026
* linux-raw-sys 0.12.1 does not generate the FIEMAP extent flags in its loongarch64 bindings * define them locally * see also: sunfishcode/linux-raw-sys#195 Signed-off-by: Zhou Qiankang <wszqkzqk@qq.com>
wszqkzqk
added a commit
to lcpu-club/loongarch-packages
that referenced
this pull request
Aug 26, 2026
* linux-raw-sys 0.12.1 does not generate the FIEMAP extent flags in its loongarch64 bindings * define them locally * see also: sunfishcode/linux-raw-sys#195 Signed-off-by: Zhou Qiankang <wszqkzqk@qq.com>
Contributor
|
Hi! I'm interested getting this merged too! Though it seems that the current changes only modify generated part and miss the generator. I would suggest adding something like this: --- 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: u32 = 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; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The pre-generated
loongarch-ioctls.txtlist is missing the FIEMAP constants thatlist.cemits for the other architectures, so the generated loongarch64 bindings lackFIEMAP_MAX_OFFSET,FIEMAP_FLAG_*, and all theFIEMAP_EXTENT_*flags. This breaks downstream users of these constants on loongarch64, found on building uv 0.12.5'suv-fscrate.The added values are the arch-independent UAPI constants from
include/uapi/linux/fiemap.h.See also bytecodealliance/rustix#1664