Kernel/fs: Add symlink flag to sysfunc70 and update the English documentation #656

Merged
Doczom merged 2 commits from Matou1306/kolibrios:ext-symlinks into main 2026-09-20 04:46:25 +00:00
Contributor

Used in 70.1 and 70.5 in the ext driver

Used in 70.1 and 70.5 in the ext driver
Matou1306 requested review from Burer 2026-08-23 13:20:56 +00:00
Matou1306 requested review from Doczom 2026-08-23 13:20:56 +00:00
Matou1306 requested review from dunkaist 2026-08-23 13:20:57 +00:00
Doczom approved these changes 2026-08-27 12:47:56 +00:00
Dismissed
Burer left a comment
Owner

🟡 ext_GetFileInfo hunk is dead code. ext_GetFileInfo goes through findInode, which always resolves the final symlink for normal calls - symlink_no_follow is only set via the reachSymlink entry used by SF 70.12. By the time the new check runs, inodeBuffer holds the target inode, so accessMode & TYPE_MASK can never equal FLAG_SYMLINK (a dangling symlink errors out earlier), and the flag will never appear in 70.5 output. Either drop the hunk, or - if the intent is lstat-like semantics for 70.5 - that is a behavior change worth a separate discussion.

🔵 Doc: mark the bit as ext-only. Worth noting in sysfuncs.txt that bit 6 is currently set only by the ext driver - FAT/NTFS/exFAT/XFS leave it clear.

🟡 **`ext_GetFileInfo` hunk is dead code.** `ext_GetFileInfo` goes through `findInode`, which always resolves the *final* symlink for normal calls - `symlink_no_follow` is only set via the `reachSymlink` entry used by SF 70.12. By the time the new check runs, `inodeBuffer` holds the *target* inode, so `accessMode & TYPE_MASK` can never equal `FLAG_SYMLINK` (a dangling symlink errors out earlier), and the flag will never appear in 70.5 output. Either drop the hunk, or - if the intent is lstat-like semantics for 70.5 - that is a behavior change worth a separate discussion. 🔵 **Doc: mark the bit as ext-only.** Worth noting in sysfuncs.txt that bit 6 is currently set only by the ext driver - FAT/NTFS/exFAT/XFS leave it clear.
Matou1306 force-pushed ext-symlinks from aca7e52cdb to 74dede3a75 2026-08-28 13:40:07 +00:00 Compare
Author
Contributor

Hello @Burer thanks for catching that, I implemented your first suggestion for now.
I feel like being able to return the fact that the file is a symlink would be beneficial for file managers (for example to be able to inherit the file type of the target and open automatically with the default app for it). This will need changes to file managers as well, it would be good to discuss it later outside the scope of this PR.

Hello @Burer thanks for catching that, I implemented your first suggestion for now. I feel like being able to return the fact that the file is a symlink would be beneficial for file managers (for example to be able to inherit the file type of the target and open automatically with the default app for it). This will need changes to file managers as well, it would be good to discuss it later outside the scope of this PR.
Owner

Doc: mark the bit as ext-only. Worth noting in sysfuncs.txt that bit 6 is currently set only by the ext driver - FAT/NTFS/exFAT/XFS leave it clear.

Many file systems support symbolic links, so such a note is unnecessary, as is mentioning in each subfunction that error 2 will be displayed for CD discs.

> Doc: mark the bit as ext-only. Worth noting in sysfuncs.txt that bit 6 is currently set only by the ext driver - FAT/NTFS/exFAT/XFS leave it clear. > Many file systems support symbolic links, so such a note is unnecessary, as is mentioning in each subfunction that error 2 will be displayed for CD discs.
dunkaist approved these changes 2026-09-13 19:21:26 +00:00
Doczom approved these changes 2026-09-18 17:25:37 +00:00
Doczom force-pushed ext-symlinks from 74dede3a75 to 30cb00b238 2026-09-19 18:38:00 +00:00 Compare
CODEOWNERS rules requested review from system 2026-09-19 18:38:00 +00:00
Doczom added 2 commits 2026-09-20 04:40:31 +00:00
Drop ext_GetFileInfo symlink flag check
Check kernel codestyle / Check kernel codestyle (pull_request) Successful in 19s
Test PR / Build (en_US) (pull_request) Successful in 1m59s
Test PR / Build (es_ES) (pull_request) Successful in 2m3s
Test PR / Build (ru_RU) (pull_request) Successful in 2m10s
43ad2ab592
add that bit 6 in syfunc 70 is only set by ext driver
Doczom force-pushed ext-symlinks from 30cb00b238 to 43ad2ab592 2026-09-20 04:40:31 +00:00 Compare
Doczom merged commit ecdebae231 into main 2026-09-20 04:46:25 +00:00
Sign in to join this conversation.
No Reviewers
KolibriOS/system
No labels
4 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: KolibriOS/kolibrios#656