622 Commits

Author SHA1 Message Date
wycwyhwyq
53bd56ccf9 [components][dfs_v2]: Fix dfs_devfs_open memory leak 2025-01-09 19:07:56 +08:00
Shell
6c6c5f5d35 feat: Kconfig: collecting some config to sub-menu
To improve the readability of the menuconfig.

Signed-off-by: Shell <smokewood@qq.com>
2025-01-06 19:34:16 +08:00
Shell
8507c38222 fixup: umount: set errno according to POSIX
According to the POSIX.1, we should give a EBUSY on umount(2) of busy
filesystem.

Signed-off-by: Shell <smokewood@qq.com>
2025-01-06 19:34:16 +08:00
Shell
b63b388d1f feat: add support for dfs remount functionality
This patch introduces a remount feature for the DFS, allowing for the
modification of mount parameters without unmounting the filesystem,
the remount functionality helps modify certain mount flags (like `MS_RDONLY`) without
requiring an unmount, providing more control over mounted filesystems in the system.

The updates is essential for user space init proc to cleanup the runtime
resource, ensuring clean handling of cached data and enhancing system
robustness during power down processing.

Changes:
- Defined new constants for remount flags in `dfs_fs.h`.
- Added the `dfs_remount()` function in `dfs_fs.c` to handle remount operations.
- Introduced a check for unsupported flags and handle error conditions such as invalid paths
  or non-directory targets.
- Updated the `dfs_mnt` structure in `dfs_mnt.h` to include a read-only flag (`MNT_RDONLY`).
- The `dfs_remount()` function allows changing the read-only status of a mounted filesystem.
- Added `MNT_LAZY_UMNT` and `MNT_RDONLY` flags to `dfs_mnt` structure.
- Introduced `dfs_mnt_setflags` function for dynamic flag management.
- Updated `dfs_remount` to utilize `dfs_mnt_setflags` for flag setting.
- Enhanced unmount operations with `dfs_mnt_umount_iter` and lazy unmounting.
- Added `dfs_pcache_clean` to handle cache cleanup for read-only mounts.
- Improved error reporting in `dfs_umount` for better user feedback.
- Refactored `sys_mount` to streamline parameter handling and support remounts.
- Introduced `_cp_from_usr_string` helper for user-space string operations.
- Updated internal APIs to ensure consistency in reference count management.

Signed-off-by: Shell <smokewood@qq.com>
2025-01-06 19:34:16 +08:00
Shell
944f3d05b5 feat: add system reboot and process teardown support
The patch introduces support for system reboot functionality and process teardown,
allowing for a clean shutdown and unmounting of the root filesystem. This is
necessary for ensuring a proper system shutdown process, especially when dealing
with resource cleanup and ensuring that all processes have exited before system
shutdown.

Changes:
- Added `lwp_teardown()` function to handle process cleanup and system teardown.
- Introduced `lwp_pid_wait_for_empty()` to wait for process ID table emptiness
  before proceeding with shutdown.
- Updated `dfs_mnt_unref()` to trigger callbacks when unmounting a filesystem.
- Added new reboot types (`RB_AUTOBOOT`, `RB_POWER_OFF`) and implemented their
  corresponding actions, including cleanup of processes and unmounting root
  filesystem.
- Extended `sys_reboot()` to handle reboot and power off types with appropriate
  callbacks for process and filesystem teardown.
- Introduced callback mechanism for root filesystem unmount notifications.

Signed-off-by: Shell <smokewood@qq.com>
2025-01-06 19:34:16 +08:00
yuqingli
a343e1d7a0 [romfs/dfs_romfs.c] _rom_fops add ioctl 2025-01-03 00:39:54 -05:00
yuqingli05
d57b7cb40a
修复编译过程中的 DFS_V2报错、FAL警告 2025-01-01 19:02:50 -05:00
GuEe-GUI
07b114ae73 [DFS/FIXUP] Fixup ISO9660 build
Signed-off-by: GuEe-GUI <2991707448@qq.com>
2024-12-18 21:37:51 +08:00
Supper Thomas
5b75e1c8bf doc(doxyge):fix doxygen path 2024-12-09 17:12:59 -05:00
ligr
1cf97d8565 [components][dfs]add some comments and fix some former comments error for dfs v1. 2024-12-03 19:10:21 -05:00
ligr
e9452ee98f [documentation][dfs]add some comments to dfs posix APIs for supplement. 2024-11-30 21:09:58 -05:00
GUI
42a41c696d
[DM/FEATURE] Support SCSI bus (#9592)
* [DM/FEATURE] Support block for SCSI
1. Support SD and CD-ROM.
2. SD will port to UFS and ATA device.

Signed-off-by: GuEe-GUI <2991707448@qq.com>
2024-11-22 16:59:37 +08:00
Shell
e763e51e49 feat: devfs: handling unit size in POSIX RW request
POSIX.1 says:
>  read() attempts to read up to count bytes from file descriptor fd
>  into the buffer starting at buf.

On the other hand, for rt_device_read, the `@size` is defined as the
number of unit (block size for blk device, otherwise one byte).

Changes:
- Transferred unit size from POSIX R/W(in bytes) to rt_device_R/W during
  request of file R/W operations.

Signed-off-by: Shell <smokewood@qq.com>
2024-11-13 22:56:07 -05:00
kurisaw
2241f4676b [libcpu][component] fixed the r52 kernel gcc context switch assembly 2024-11-06 16:09:52 +08:00
yangpeng
c9a1245977 [components][dfs][dfs_v1]cat输出实际读取的长度 2024-10-10 17:44:32 -04:00
Shell
d45e13c471 fixup: dfs_v2: Correct device mode permissions in devfs
The mode permissions for character, block, and pipe devices were
previously set to 0777, which is overly permissive and not in line
with standard practice. This change reduces the permissions to 0666,
restricting execute permissions while still allowing read/write access.

Changes:
- Adjusted permissions for character/block/pipe devices from 0777 to 0666.

Signed-off-by: Shell <smokewood@qq.com>
2024-09-15 13:29:43 -04:00
Shell
2cbd5889d1 fixup: dfsv2: seq: aligned proto of lseek to manual
In manual, the prototype of lseek is

`off_t lseek(int fd, off_t offset, int whence);`

where the return type is `off_t` but not ssize_t.

Signed-off-by: Shell <smokewood@qq.com>
2024-09-14 13:30:53 -04:00
Shell
679761983d fixup: ptyfs: CI reported snprintf type issues 2024-09-01 15:12:34 -04:00
zhuzhuzhu
1be24fc7da
【修复】修复link系统调用返回值问题 2024-08-25 10:57:38 -04:00
zhuzhuzhu
dc232080a0
【修复】修复rmdir系统调用返回值不符合用户预期问题 2024-08-25 10:57:15 -04:00
zhuzhuzhu
d9fac09f71
【修复】 修复dup系统调用对用户态的返回值问题 2024-08-25 10:56:47 -04:00
zhuzhuzhu
c4c227e367
【修复】修复symlink系统调用返回值不是预期问题 2024-08-25 10:56:03 -04:00
zhujiale
d086039608 fix_return 2024-08-24 14:44:39 +08:00
zhujiale
afa17ed343 fix_return_err 2024-08-24 14:44:39 +08:00
Rbb666
8c5f24469c
[ci][bsp]fix same54&same70&ls1cdev build errors. (#9282)
[ci][bsp]fix same54&same70&ls1cdev ci build errors.
2024-08-08 14:08:59 +08:00
Shell
cfa3ecfa9e bsp: cvitek/c906B: feat: add config of bootfs
To support more choice on bootfs. romfs, cromfs are now supported on
risc_v_big platform.

Changes:
- added mount operations under port
- added prototypes for cromfs init APIs

Signed-off-by: Shell <smokewood@qq.com>
Reviewed-on: https://github.com/RT-Thread/rt-thread/pull/9229
Reviewed-by: Chen Wang <unicorn_wang@outlook.com>
2024-07-29 20:16:54 +08:00
Bernard Xiong
937f0dbf5a
Merge pull request #9208 from zmshahaha/errno
[components][lwp]fix exec and mount error code
2024-07-18 20:32:06 +08:00
zhao maosheng
a6b2014214 fix exec and mount error code 2024-07-18 13:25:37 +08:00
zhuzhuzhu
4ad194bb47
[fix] fix cromfs read out of mem range (#9197)
Update dfs_cromfs.c
2024-07-17 09:08:10 +08:00
Shell
1b581d0755
[dfs] Mark dirty on unmap on shared mapping only (#9195)
[dfs] feat: Mark dirty on unmap for shared mapping

This patch optimizes the pcache varea management by refining the
conditions under which pages are marked dirty, specifically targeting
the unmap operations in the dfs_pcache component. These changes were
necessary to enhance the efficiency of page cache management.

Changes:
- Adjusted include statements in `dfs_pcache.c` for better organization.
- Modified `dfs_aspace_unmap` function:
  - Added a check to ensure `varea` is not privately locked before marking a page as dirty.
- Updated `dfs_aspace_page_unmap` function:
  - Added a similar check for `varea` lock status before marking a page as dirty.

Signed-off-by: Shell <smokewood@qq.com>
2024-07-16 17:03:54 +08:00
Shell
90917cc75a
[format] cleanup libcpu/aarch64 (#8950)
* [dfs] fixup compiler warning

Signed-off-by: Shell <smokewood@qq.com>

* [format] libcpu/arm64: separate context switching codes

Signed-off-by: Shell <smokewood@qq.com>

* [format] libcpu/arm64: separate vector

Signed-off-by: Shell <smokewood@qq.com>

* [format] libcpu/arm64: separate context_gcc.S

Signed-off-by: Shell <smokewood@qq.com>

* [format] libcpu/arm64: moving headers to include directory

Signed-off-by: Shell <smokewood@qq.com>

* style: replace tab with space

---------

Signed-off-by: Shell <smokewood@qq.com>
2024-06-28 00:23:09 +08:00
zhuzhuzhu
1869c543a6
[fix]fix tmpfs bug (#8970)
* first

* second

* thrid

* Update SConscript

* tmpfs testcase default n

* Update dfs_tmpfs.c

* format document

---------

Co-authored-by: zhujiale <zhujiale@rt-thread.com>
2024-06-13 08:54:02 +08:00
Shell
5f947863b4
[dfsv2] fixup out-of-memory access (#8973)
This change addresses a potential out-of-memory access issue in the
devfs filesystem component. The issue arises when the `rt_malloc`
function allocates memory for a path string without accounting for
the null terminator, leading to undefined behavior.

As the manual documented:

> DESCRIPTION
>   The strlen() function calculates the length of the string pointed to
>   by s, excluding the terminating null byte ('\0').

To fix this, the memory allocation size was increased by one byte
to ensure space for the null terminator. This prevents potential
out-of-memory access and ensures proper string termination.

Signed-off-by: Shell <smokewood@qq.com>
2024-05-21 19:45:08 +08:00
xiao-mang
c359e93a9c
fix file mmap (#8865) 2024-04-28 15:21:02 +08:00
zms123456
be97a8ef25
[components][dfs]remove duplicate lseek in devfs (#8859)
remove duplicate lseek in devfs
2024-04-25 18:28:43 +08:00
latercomer
3ff2b08d82 [clang-format] 增加clang-format格式化配置,通过ide或者手动运行tools/run-clang-format.py进行代码自动格式化 2024-04-21 01:18:37 -04:00
xiao-mang
98204c249b fix for art-pi smart 2024-04-19 18:17:20 +08:00
xiao-mang
4de96450be fix for art-pi smart 2024-04-19 18:17:20 +08:00
xiao-mang
b50a53129f
fix chdir for ash's cd (#8824) 2024-04-19 17:58:04 +08:00
geniusgogo
bdfa1ea20a
fix symlink (#8755)
Signed-off-by: geniusgogo <xpxyr@sina.com>
2024-04-10 23:55:29 +08:00
geniusgogo
651f23a604
[dfsv2] add dfs pwrite pread 2024-04-09 22:26:58 -04:00
Shell
83e95bdff4
sync smart & dfs (#8672)
Signed-off-by: xqyjlj <xqyjlj@126.com>
Signed-off-by: Shell <smokewood@qq.com>
Co-authored-by: xqyjlj <xqyjlj@126.com>
2024-03-28 23:42:56 +08:00
Shell
3237efd089
fixup d1s (#8671)
Signed-off-by: Shell <smokewood@qq.com>
2024-03-25 20:29:56 +08:00
Shell
bef4bbd50a
[dfs] fixup bugs in dfs_dentry_lookup (#8612)
Signed-off-by: Shell <smokewood@qq.com>
2024-03-15 14:57:38 +08:00
Shell
71560bafb5
🎯 Sync smart & scheduler codes (#8537)
Signed-off-by: Shell <smokewood@qq.com>
Co-authored-by: xqyjlj <xqyjlj@126.com>
2024-02-23 17:49:15 +08:00
Yuqiang Wang
a5d4425ea7
[components][dfs]修复FATFS文件系统使用cat命令导致断言bug 2023-12-28 18:51:56 +08:00
Meco Man
ed4d037d7b [ci][stm32f407] add attach config CI check 2023-12-26 23:13:08 +08:00
geniusgogo
d19a15a5df update smart kernel default select dfsv2. 2023-12-19 19:04:17 +08:00
geniusgogo
6b22a0a2b7
dfsv2 code tidy. (#8374) 2023-12-16 18:06:47 +08:00
geniusgogo
304ce5919c
sync update dfs v2. (#8336) 2023-12-12 18:05:39 +08:00