| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
vfs/fs_pathcache: add pathcache framework for accelerating file open This patch introduces a pathcache framework that caches struct file objects to accelerate repeated file open operations. The cache uses a hash table for O(1) lookup and LRU eviction policy for memory management. Key features: - File-specific cache layer (fs_pathcache.c) for caching opened files - Per-mountpoint cache control via "-o pathcache" options - Automatic cache invalidation on file rename/unlink/umount - Cache update on file close for write operations The cache works by storing a duplicated struct file on first open, and subsequent opens duplicate from the cached copy instead of calling the filesystem's open function. This is particularly beneficial for frequently accessed files on slow storage media. Configuration options: - CONFIG_FS_PATHCACHE: Enable pathcache - CONFIG_FS_PATHCACHE_MAX_ENTRIES: Max cached files (default 64) - CONFIG_FS_PATHCACHE_HASHTABLE_SIZE: Hash table size (default 32) Currently only fatfs is supported in the allowed filesystem list. Signed-off-by: zhengyu16 <zhengyu16@xiaomi.com> | 2 个月前 | |
vfs/fs_pathcache: add pathcache framework for accelerating file open This patch introduces a pathcache framework that caches struct file objects to accelerate repeated file open operations. The cache uses a hash table for O(1) lookup and LRU eviction policy for memory management. Key features: - File-specific cache layer (fs_pathcache.c) for caching opened files - Per-mountpoint cache control via "-o pathcache" options - Automatic cache invalidation on file rename/unlink/umount - Cache update on file close for write operations The cache works by storing a duplicated struct file on first open, and subsequent opens duplicate from the cached copy instead of calling the filesystem's open function. This is particularly beneficial for frequently accessed files on slow storage media. Configuration options: - CONFIG_FS_PATHCACHE: Enable pathcache - CONFIG_FS_PATHCACHE_MAX_ENTRIES: Max cached files (default 64) - CONFIG_FS_PATHCACHE_HASHTABLE_SIZE: Hash table size (default 32) Currently only fatfs is supported in the allowed filesystem list. Signed-off-by: zhengyu16 <zhengyu16@xiaomi.com> | 2 个月前 | |
vfs/fs_pathcache: add pathcache framework for accelerating file open This patch introduces a pathcache framework that caches struct file objects to accelerate repeated file open operations. The cache uses a hash table for O(1) lookup and LRU eviction policy for memory management. Key features: - File-specific cache layer (fs_pathcache.c) for caching opened files - Per-mountpoint cache control via "-o pathcache" options - Automatic cache invalidation on file rename/unlink/umount - Cache update on file close for write operations The cache works by storing a duplicated struct file on first open, and subsequent opens duplicate from the cached copy instead of calling the filesystem's open function. This is particularly beneficial for frequently accessed files on slow storage media. Configuration options: - CONFIG_FS_PATHCACHE: Enable pathcache - CONFIG_FS_PATHCACHE_MAX_ENTRIES: Max cached files (default 64) - CONFIG_FS_PATHCACHE_HASHTABLE_SIZE: Hash table size (default 32) Currently only fatfs is supported in the allowed filesystem list. Signed-off-by: zhengyu16 <zhengyu16@xiaomi.com> | 2 个月前 | |
fs: rename PSEUDOFS_SOFTLINKS to FS_LINKS Signed-off-by: zhengyu16 <zhengyu16@xiaomi.com> | 2 个月前 | |
vfs/fs_pathcache: add pathcache framework for accelerating file open This patch introduces a pathcache framework that caches struct file objects to accelerate repeated file open operations. The cache uses a hash table for O(1) lookup and LRU eviction policy for memory management. Key features: - File-specific cache layer (fs_pathcache.c) for caching opened files - Per-mountpoint cache control via "-o pathcache" options - Automatic cache invalidation on file rename/unlink/umount - Cache update on file close for write operations The cache works by storing a duplicated struct file on first open, and subsequent opens duplicate from the cached copy instead of calling the filesystem's open function. This is particularly beneficial for frequently accessed files on slow storage media. Configuration options: - CONFIG_FS_PATHCACHE: Enable pathcache - CONFIG_FS_PATHCACHE_MAX_ENTRIES: Max cached files (default 64) - CONFIG_FS_PATHCACHE_HASHTABLE_SIZE: Hash table size (default 32) Currently only fatfs is supported in the allowed filesystem list. Signed-off-by: zhengyu16 <zhengyu16@xiaomi.com> | 2 个月前 | |
fs/vfs: Solve the null pointer exception When the root directory is opened without the "O_DIRECTORY" flag, this problem will be triggered."" If relpatch is NULL, then strlcat will cause a crash. issue backtrace: IfxCpu_Trap_systemCall_Cpu0 iLLD/TC4DA/Tricore/Cpu/Trap/IfxCpu_Trap.c:200 dir_open tc4d9_b0/protect_gcc_core0/../../../../../nuttx/fs/vfs/fs_dir.c:487 dir_open tc4d9_b0/protect_gcc_core0/../../../../../nuttx/fs/vfs/fs_dir.c:490 (discriminator 4) file_vopen tc4d9_b0/protect_gcc_core0/../../../../../nuttx/fs/vfs/fs_open.c:282 nx_vopen tc4d9_b0/protect_gcc_core0/../../../../../nuttx/fs/vfs/fs_open.c:352) adb_uv_tcp_setup tc4d9_b0/protect_gcc_core0/../../../../../apps/system/adb/microADB/hal/hal_uv_client_tcp.c:153 adb_hal_create_context tc4d9_b0/protect_gcc_core0/../../../../../apps/system/adb/microADB/hal/hal_uv.c:40 adbd_main tc4d9_b0/protect_gcc_core0/../../../../../apps/system/adb/adb_main.c:153 nxtask_startup tc4d9_b0/protect_gcc_core0/../../../../../nuttx/libs/libc/sched/task_startup.c:66 Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com> | 2 个月前 | |
fs/vfs: Separate file descriptors from file descriptions This patch is a rework of the NuttX file descriptor implementation. The goal is two-fold: 1. Improve POSIX compliance. The old implementation tied file description to inode only, not the file struct. POSIX however dictates otherwise. 2. Fix a bug with descriptor duplication (dup2() and dup3()). There is an existing race condition with this POSIX API that currently results in a kernel side crash. The crash occurs when a partially open / closed file descriptor is duplicated. The reason for the crash is that even if the descriptor is closed, the file might still be in use by the kernel (due to e.g. ongoing write to file). The open file data is changed by file_dup3() and this causes a crash in the device / drivers themselves as they lose access to the inode and private data. The fix is done by separating struct file into file and file descriptor structs. The file struct can live on even if the descriptor is closed, fixing the crash. This also fixes the POSIX issue, as two descriptors can now point to the same file. Signed-off-by: Ville Juven <ville.juven@unikie.com> Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com> | 2 个月前 | |
fs/vfs: fix bug about lost dup oflags in dup2 Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com> | 2 个月前 | |
fs/vfs: Separate file descriptors from file descriptions This patch is a rework of the NuttX file descriptor implementation. The goal is two-fold: 1. Improve POSIX compliance. The old implementation tied file description to inode only, not the file struct. POSIX however dictates otherwise. 2. Fix a bug with descriptor duplication (dup2() and dup3()). There is an existing race condition with this POSIX API that currently results in a kernel side crash. The crash occurs when a partially open / closed file descriptor is duplicated. The reason for the crash is that even if the descriptor is closed, the file might still be in use by the kernel (due to e.g. ongoing write to file). The open file data is changed by file_dup3() and this causes a crash in the device / drivers themselves as they lose access to the inode and private data. The fix is done by separating struct file into file and file descriptor structs. The file struct can live on even if the descriptor is closed, fixing the crash. This also fixes the POSIX issue, as two descriptors can now point to the same file. Signed-off-by: Ville Juven <ville.juven@unikie.com> Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com> | 2 个月前 | |
vfs/fs_epoll: Replace epoll locks with recursive locks If a thread is killed by a signal after acquiring an epoll lock, epoll_do_close will trigger a re-acquisition of the lock. Therefore, it is necessary to replace the epoll lock with a recursive lock. Signed-off-by: zhangshuai39 <zhangshuai39@xiaomi.com> | 2 个月前 | |
fs/vfs: add support for BMP Signed-off-by: buxiasen <buxiasen@xiaomi.com> | 2 个月前 | |
fs: Move inotify.c from fs/notify/ to fs/vfs/ and merge fs/notify/notify.h into fs/vfs/vfs.h Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com> | 2 个月前 | |
fs/vfs: Separate file descriptors from file descriptions This patch is a rework of the NuttX file descriptor implementation. The goal is two-fold: 1. Improve POSIX compliance. The old implementation tied file description to inode only, not the file struct. POSIX however dictates otherwise. 2. Fix a bug with descriptor duplication (dup2() and dup3()). There is an existing race condition with this POSIX API that currently results in a kernel side crash. The crash occurs when a partially open / closed file descriptor is duplicated. The reason for the crash is that even if the descriptor is closed, the file might still be in use by the kernel (due to e.g. ongoing write to file). The open file data is changed by file_dup3() and this causes a crash in the device / drivers themselves as they lose access to the inode and private data. The fix is done by separating struct file into file and file descriptor structs. The file struct can live on even if the descriptor is closed, fixing the crash. This also fixes the POSIX issue, as two descriptors can now point to the same file. Signed-off-by: Ville Juven <ville.juven@unikie.com> Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com> | 2 个月前 | |
fs/file: unify prefix about file_xxx api, like file_open, file_ioctl old: fs_getfilep, fs_putfilep, fs_reffilep new: file_get, file_put, file_ref Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com> | 2 个月前 | |
fs/file: unify prefix about file_xxx api, like file_open, file_ioctl old: fs_getfilep, fs_putfilep, fs_reffilep new: file_get, file_put, file_ref Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com> | 2 个月前 | |
fdatasync: change the implemetnation of fdatasync from macro to function According to the implementation of the PSE52 tset/rt.os/syncio/fdatasync test case: #ifdef UNDEF_MACROS #undef fdatasync #endif it is required that fdatasync be implemented in the form of a function, not as a macro. Otherwise, the final test case will encounter errors during compilation and linking. Signed-off-by: guoshichao <guoshichao@xiaomi.com> | 2 个月前 | |
fs: migrate to SPDX identifier Most tools used for compliance and SBOM generation use SPDX identifiers This change brings us a step closer to an easy SBOM generation. Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com> | 2 个月前 | |
fs/vfs: Rename lock.h to vfs.h vfs.h will contain other internal functions in the future Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com> | 2 个月前 | |
nuttx/atomic: replace atomic_fetch_xxx with atomic_xxx just like zephyr Signed-off-by: zhangyu117 <zhangyu117@xiaomi.com> | 2 个月前 | |
fs: add bmp support Signed-off-by: buxiasen <buxiasen@xiaomi.com> | 2 个月前 | |
fs/file: unify prefix about file_xxx api, like file_open, file_ioctl old: fs_getfilep, fs_putfilep, fs_reffilep new: file_get, file_put, file_ref Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com> | 2 个月前 | |
fs: Move inotify.c from fs/notify/ to fs/vfs/ and merge fs/notify/notify.h into fs/vfs/vfs.h Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com> | 2 个月前 | |
nuttx/atomic: replace atomic_fetch_xxx with atomic_xxx just like zephyr Signed-off-by: zhangyu117 <zhangyu117@xiaomi.com> | 2 个月前 | |
nuttx/atomic: replace atomic_fetch_xxx with atomic_xxx just like zephyr Signed-off-by: zhangyu117 <zhangyu117@xiaomi.com> | 2 个月前 | |
poll: fix covertify issue about out-of-bound access fds when i is zero and file_get is failed, num is -1, it's uint32_max for nfds. so remove num and simplify code logic. Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com> | 2 个月前 | |
fs/file: unify prefix about file_xxx api, like file_open, file_ioctl old: fs_getfilep, fs_putfilep, fs_reffilep new: file_get, file_put, file_ref Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com> | 2 个月前 | |
nuttx/atomic: replace atomic_fetch_xxx with atomic_xxx just like zephyr Signed-off-by: zhangyu117 <zhangyu117@xiaomi.com> | 2 个月前 | |
fs/file: unify prefix about file_xxx api, like file_open, file_ioctl old: fs_getfilep, fs_putfilep, fs_reffilep new: file_get, file_put, file_ref Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com> | 2 个月前 | |
pse52:read should return EBADF if fd is not valid or is not open for reading Signed-off-by: guohao15 <guohao15@xiaomi.com> | 2 个月前 | |
vfs/readlink: modify return value of readlink According to POSIX, readlink doesn't need to null-terminate the buffer. So we should return ret instead of strlen(buf). Signed-off-by: zhengyu16 <zhengyu16@xiaomi.com> | 2 个月前 | |
fs/vfs: Fix Coverity: unused value in fs_rename Fix Coverity issue where the return value from unlink() was assigned to 'ret' but then immediately overwritten by the subsequent rename() call without being used (except when CONFIG_FS_PATHCACHE is enabled). Signed-off-by: zhengyu16 <zhengyu16@xiaomi.com> | 2 个月前 | |
pse52:rmdir return EINVAL if passing pathname with "/." or "/./" appended Signed-off-by: zhengyu16 <zhengyu16@xiaomi.com> | 2 个月前 | |
select: fix too small timeout will be counted as 0 Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com> | 2 个月前 | |
fs/file: unify prefix about file_xxx api, like file_open, file_ioctl old: fs_getfilep, fs_putfilep, fs_reffilep new: file_get, file_put, file_ref Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com> | 2 个月前 | |
fs/vfs: add support for BMP Signed-off-by: buxiasen <buxiasen@xiaomi.com> | 2 个月前 | |
vfs/lstat: add lstat interface to mountpt_operations Signed-off-by: zhengyu16 <zhengyu16@xiaomi.com> | 2 个月前 | |
fs: migrate to SPDX identifier Most tools used for compliance and SBOM generation use SPDX identifiers This change brings us a step closer to an easy SBOM generation. Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com> | 2 个月前 | |
fs: Fix symlink implementation for mountpoint filesystems Due to the filesystem layer's inability to handle cross-mountpoint paths, symbolic links are now restricted to target files within the same mountpoint. When an absolute path is provided as the symlink target, it is automatically converted to a relative path from the symlink's directory location. Signed-off-by: zhengyu16 <zhengyu16@xiaomi.com> | 2 个月前 | |
fs/file: unify prefix about file_xxx api, like file_open, file_ioctl old: fs_getfilep, fs_putfilep, fs_reffilep new: file_get, file_put, file_ref Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com> | 2 个月前 | |
fs/vfs: add support for BMP Signed-off-by: buxiasen <buxiasen@xiaomi.com> | 2 个月前 | |
fs: Move inotify.c from fs/notify/ to fs/vfs/ and merge fs/notify/notify.h into fs/vfs/vfs.h Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com> | 2 个月前 | |
fs/uio: do not overwrite the return value VELAPLATFO-60135:VELAPLATFO-60136 Signed-off-by: chao an <anchao.archer@bytedance.com> | 2 个月前 | |
vfs/fs_pathcache: add pathcache framework for accelerating file open This patch introduces a pathcache framework that caches struct file objects to accelerate repeated file open operations. The cache uses a hash table for O(1) lookup and LRU eviction policy for memory management. Key features: - File-specific cache layer (fs_pathcache.c) for caching opened files - Per-mountpoint cache control via "-o pathcache" options - Automatic cache invalidation on file rename/unlink/umount - Cache update on file close for write operations The cache works by storing a duplicated struct file on first open, and subsequent opens duplicate from the cached copy instead of calling the filesystem's open function. This is particularly beneficial for frequently accessed files on slow storage media. Configuration options: - CONFIG_FS_PATHCACHE: Enable pathcache - CONFIG_FS_PATHCACHE_MAX_ENTRIES: Max cached files (default 64) - CONFIG_FS_PATHCACHE_HASHTABLE_SIZE: Hash table size (default 32) Currently only fatfs is supported in the allowed filesystem list. Signed-off-by: zhengyu16 <zhengyu16@xiaomi.com> | 2 个月前 | |
pse52:write should return EBADF if fd is not valid or is not open for writing Signed-off-by: guohao15 <guohao15@xiaomi.com> | 2 个月前 | |
fs: migrate to SPDX identifier Most tools used for compliance and SBOM generation use SPDX identifiers This change brings us a step closer to an easy SBOM generation. Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com> | 2 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 |