YAMAMOTO Takashi
4911b1121b
fs/cromfs/fs_cromfs.c: Fix a syslog format
2020-11-24 22:31:33 -08:00
David Sidrane
2953880f5c
fs_cromfs: Removed DEBUGASSERT on non-exiting var node
2020-08-20 14:10:02 +01:00
Gregory Nutt
b256b2055f
Add support to hard links to CROMFS
...
This will resolve numerous problems with the way that hard links, in particular "." and ".." are handled. Instead of trying to fudge the stat flags, the correct implementation is to follow the hard link to the final link target node. That is what must determine the attributes of the directory entry.
2020-08-11 07:48:08 -07:00
David Sidrane
2eccc960a9
fs_cromfs:Remove duplicate case intorduced by 67ef70d
2020-08-04 21:20:25 -05:00
Xiang Xiao
67ef70d460
vfs/dirread: Should return the same file type as lstat
...
by extend the possible value of d_type for the special file
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-07-07 13:41:10 +01:00
Xiang Xiao
91ed14c631
vfs/stat: Make the flag defintion more confirm POSIX standard
...
specified here:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_stat.h.html
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-07-07 13:41:10 +01:00
Gregory Nutt
b599aa0cee
fs/cromfs/fs_cromfs.c: Back out an erroneous change I made during a code review. Noted by Jussi Kivilinna.
2019-12-02 08:44:50 -06:00
Gregory Nutt
d2af57169b
tools/nxstyle.c: Fix a rare false alarm that could occur if a variable or function name begins with the sub-string 'union' or 'struct'. misc fixes under fs/ and sched/ from application of current version of nxstyle.
2019-12-01 13:01:16 -06:00
Gregory Nutt
bd3cc792ff
fs/: Run all .c files under fs/ through tools/nxstyle.
2019-10-27 11:48:14 -06:00
Gregory Nutt
dd97fb991b
This commit moves shared builtin information out of binfmt/libbuiltin and into libs/libc/builtin where it can be shared. This should permit builtin application in the PROTECTED build where binfmt/libbuiltin is not available in user space.
...
Squashed commit of the following:
Correct some additional compile-related issues.
Move include/nuttx/binfmt/builtin.h to include/nuttx/lib/builtin.h. Move apps/builtin/lib_builtin_forindex.c to libs/libc/builtin/lib_builtin_forindex.c.
Move binfmt/libbuiltin to libs/libc/builtin. There are calls made directly from apps/nshlib into this logic and hence, must be part of a library that can be shared between the OS and applications.
2019-08-23 09:07:40 -06:00
Gregory Nutt
be3dd0bac6
fs/: Fix various coding standard issues found while testing tools/nxstyle.c
2019-03-01 15:01:04 -06:00
David Sidrane
b30db5dcb0
fs/cromfs/fs_cromfs.c: Fixes hardfault
2018-12-06 16:42:20 -06:00
Gregory Nutt
67e0603b5a
fs/cromfs: Block length only needs to be uint16_t, not uint32_t. Add pading to node structure to assue that alignment is the same on all platforms. tools/gencromfs.c: Fix the target offset of the '.' hard link.
2018-03-24 14:44:38 -06:00
Gregory Nutt
8b4b61f140
fs/cromfs: Fix a error in reading partial compressed blocks. The LZF decompressor does not support that operation. Instead we have to decompress full block into a temporary buffer and copy out the parts that we need. To compensate for the performance hit, a caching mechanism was added so that we do not have to read the same block repeatedly. Unrelated: Also updates some README files.
2018-03-24 11:30:35 -06:00
Gregory Nutt
f2b72c344b
fs/cromfs: Fix a loop condition that was causing errors on large files
2018-03-20 19:49:42 -06:00
Gregory Nutt
16d0a8c2d1
fs/cromfs: More directory traversal fixes. tools/gencromfs.c: Add ability use a callback with directory traversal. Not currently used but left in place in case it is needed in the future.
2018-03-20 16:20:31 -06:00
Gregory Nutt
aeeee54921
tools/gencromfs.c and fs/cromfs: More corrections to directory traversal logic. Still some bugs.
2018-03-20 14:30:05 -06:00
Gregory Nutt
22484386ee
fs/cromfs and tools/gencromfs: Various fixes for traversal relative file paths. Biggest changes is in types used: Cannot use size_t or mode_t in common structures because they have different sizes on the (64-bit) host and the (32-bit) target. Use uint32_t instead of size_t for offsets. Use uint16_t instead of mode_t.
2018-03-20 12:37:01 -06:00
Gregory Nutt
87fd4e2916
fs/cromfs: Fix read logic. tools/genromfs.c: Last node in directory needs to have zero for peer offset. Still some issues with empty directories.
2018-03-20 10:37:42 -06:00
Gregory Nutt
0478b5bce4
Addes CROMFS prototype. CROMFS is a commpressed, in-memory read-only file system based on LZF.
...
Squashed commit of the following:
fs/cromfs: Now depends on EXPERIMENTAL because it is not yet verified.
fs/cromfs: This commit brings the CROMFS file system to code complete. Still completely untested. Next steps: Need a tool to generate CROMFS file system images and a test case under apps/
fs/cromfs: Add logic to traverse the in-memory file system nodes.
fs/cromfs: Add initial support for an in-memory, compressed, read-only file system.
2018-03-19 07:08:40 -06:00