Skip to content

Commit 9f289cc

Browse files
committed
[EXT4FS] import Ext4Fsd 0.71 with ReactOS specific changes
1 parent 6aa11ac commit 9f289cc

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

117 files changed

+110534
-0
lines changed
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
2+
include_directories(${REACTOS_SOURCE_DIR}/sdk/include/reactos/drivers
3+
inc)
4+
5+
list(APPEND SOURCE
6+
src/fastio.c
7+
src/write.c
8+
src/pnp.c
9+
src/flush.c
10+
src/linux.c
11+
src/shutdown.c
12+
src/nls.c
13+
src/cmcb.c
14+
src/nls/nls_cp874.c
15+
src/nls/nls_koi8-ru.c
16+
src/nls/nls_iso8859-7.c
17+
src/nls/nls_cp932.c
18+
src/nls/nls_koi8-r.c
19+
src/nls/nls_iso8859-1.c
20+
src/nls/nls_cp850.c
21+
src/nls/nls_iso8859-14.c
22+
src/nls/nls_cp855.c
23+
src/nls/nls_cp861.c
24+
src/nls/nls_iso8859-2.c
25+
src/nls/nls_cp1250.c
26+
src/nls/nls_cp869.c
27+
src/nls/nls_iso8859-4.c
28+
src/nls/nls_iso8859-3.c
29+
src/nls/nls_cp437.c
30+
src/nls/nls_cp862.c
31+
src/nls/nls_cp863.c
32+
src/nls/nls_cp860.c
33+
src/nls/nls_euc-jp.c
34+
src/nls/nls_iso8859-9.c
35+
src/nls/nls_cp1251.c
36+
src/nls/nls_koi8-u.c
37+
src/nls/nls_cp775.c
38+
src/nls/nls_cp1255.c
39+
src/nls/nls_base.c
40+
src/nls/nls_cp950.c
41+
src/nls/nls_utf8.c
42+
src/nls/nls_iso8859-15.c
43+
src/nls/nls_cp949.c
44+
src/nls/nls_cp857.c
45+
src/nls/nls_cp865.c
46+
src/nls/nls_ascii.c
47+
src/nls/nls_iso8859-13.c
48+
src/nls/nls_cp852.c
49+
src/nls/nls_cp864.c
50+
src/nls/nls_cp737.c
51+
src/nls/nls_cp866.c
52+
src/nls/nls_iso8859-5.c
53+
src/nls/nls_iso8859-6.c
54+
src/nls/nls_cp936.c
55+
src/ea.c
56+
src/dirctl.c
57+
src/lock.c
58+
src/ext4/ext4_jbd2.c
59+
src/ext4/ext4_extents.c
60+
src/ext4/ext4_bh.c
61+
src/ext4/extents.c
62+
src/ext4/ext4_csum.c
63+
src/ext4/ext4_xattr.c
64+
src/memory.c
65+
src/fsctl.c
66+
src/create.c
67+
src/read.c
68+
src/dispatch.c
69+
src/volinfo.c
70+
src/misc.c
71+
src/block.c
72+
src/ext3/indirect.c
73+
src/ext3/generic.c
74+
src/ext3/htree.c
75+
src/ext3/recover.c
76+
src/except.c
77+
src/rbtree.c
78+
src/devctl.c
79+
src/cleanup.c
80+
src/debug.c
81+
src/jbd2/recovery.c
82+
src/jbd2/revoke.c
83+
src/jbd2/readme.txt
84+
src/jbd2/journal.c
85+
src/jbd2/transaction.c
86+
src/close.c
87+
src/init.c
88+
src/fileinfo.c
89+
src/access.c
90+
inc/ext2fs.h
91+
)
92+
93+
add_library(ext4fs MODULE ${SOURCE} ext4fs.rc)
94+
95+
if(CMAKE_C_COMPILER_ID STREQUAL "MSVC")
96+
# Disable warning C4101: 'i': unreferenced local variable
97+
# Disable warning C4189: 'sbi': local variable is initialized but not referenced
98+
# Disable warning C4267: '=': conversion from 'size_t' to 'USHORT', possible loss of data
99+
target_compile_options(ext4fs PRIVATE /wd4101 /wd4189 /wd4267)
100+
endif()
101+
102+
if(CMAKE_C_COMPILER_ID STREQUAL "GNU" OR CMAKE_C_COMPILER_ID STREQUAL "Clang")
103+
target_compile_options(ext4fs PRIVATE
104+
-Wno-pointer-sign -Wno-unused-function -Wno-unused-variable -Wno-missing-braces -Wno-unused-but-set-variable -Wno-incompatible-pointer-types)
105+
endif()
106+
107+
if(CMAKE_C_COMPILER_ID STREQUAL "Clang")
108+
target_compile_options(ext4fs PRIVATE
109+
-Wno-parentheses-equality
110+
-Wno-incompatible-pointer-types-discards-qualifiers
111+
"-Wno-#pragma-messages;-Wno-cast-calling-convention")
112+
endif()
113+
114+
target_link_libraries(ext4fs memcmp ${PSEH_LIB})
115+
add_definitions(-D__KERNEL__ -D_CRT_NO_POSIX_ERROR_CODES -D_CRT_DECLARE_NONSTDC_NAMES=1)
116+
set_module_type(ext4fs kernelmodedriver)
117+
add_importlibs(ext4fs ntoskrnl hal)
118+
add_pch(ext4fs inc/ext2fs.h SOURCE)
119+
120+
add_cd_file(TARGET ext4fs DESTINATION reactos/system32/drivers FOR all)
121+
add_registry_inf(ext4fs_reg.inf)

drivers/filesystems/ext4/ext4fs.rc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#define REACTOS_VERSION_DLL
2+
#define REACTOS_STR_FILE_DESCRIPTION "Linux ext4 IFS Driver"
3+
#define REACTOS_STR_INTERNAL_NAME "ext4fs"
4+
#define REACTOS_STR_ORIGINAL_FILENAME "ext4fs.sys"
5+
#include <reactos/version.rc>
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
; ext2/3/4 Filesystem driver
2+
[AddReg]
3+
HKLM,"SYSTEM\CurrentControlSet\Services\Ext4fs","ErrorControl",0x00010001,0x00000001
4+
HKLM,"SYSTEM\CurrentControlSet\Services\Ext4fs","Group",0x00000000,"Boot File System"
5+
HKLM,"SYSTEM\CurrentControlSet\Services\Ext4fs","ImagePath",0x00020000,"system32\drivers\ext4fs.sys"
6+
HKLM,"SYSTEM\CurrentControlSet\Services\Ext4fs","Start",0x00010001,0x00000003
7+
HKLM,"SYSTEM\CurrentControlSet\Services\Ext4fs","Type",0x00010001,0x00000002
8+
HKLM,"SYSTEM\CurrentControlSet\Services\Ext4fs\Parameters","CodePage",0x00000000,"default"
9+
HKLM,"SYSTEM\CurrentControlSet\Services\Ext4fs\Parameters","WritingSupport",0x00010001,0x00000001
10+
HKLM,"SYSTEM\CurrentControlSet\Services\Ext4fs\Parameters","CheckingBitmap",0x00010001,0x00000000
11+
HKLM,"SYSTEM\CurrentControlSet\Services\Ext4fs\Parameters","Ext3ForceWriting",0x00010001,0x00000001
12+
HKLM,"SYSTEM\CurrentControlSet\Services\Ext4fs\Parameters","AutoMount",0x00010001,0x00000001

0 commit comments

Comments
 (0)