chenrun1
4cec713dbf
fs_inode:Change the type of i_crefs to atomic_int
...
Summary:
1.Modified the i_crefs from int16_t to atomic_int
2.Modified the i_crefs add, delete, read, and initialize interfaces to atomic operations
The purpose of this change is to avoid deadlock in cross-core scenarios, where A Core blocks B Core’s request for a write operation to A Core when A Core requests a read operation to B Core.
Signed-off-by: chenrun1 <chenrun1@xiaomi.com>
2024-09-23 14:07:03 +08:00
dongjiuzhu1
d2591380ae
Revert "fs/mount and fs/romfs: Add support to mount a ROMFS volume using an MTD driver interface using the standard mount() operation."
...
This reverts commit 5708a1ac73
.
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2024-09-16 12:27:40 +08:00
dongjiuzhu1
ace2683492
fs/mount: add ftl proxy to mount block filesystem on mtd device
...
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2024-09-16 12:27:40 +08:00
dongjiuzhu1
43d0d95f81
fs/inode: using inode reference to indicate unlink and simply code
...
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2024-09-09 08:42:34 +08:00
dongjiuzhu1
c6815bba3b
fs/mount: move inode_lock to before bind to avoid deadlock(nsh and rptun)
...
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2024-09-09 08:42:34 +08:00
Petro Karashchenko
d499ac9d58
nuttx: fix multiple 'FAR', 'CODE' and style issues
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2024-08-25 19:22:15 +08:00
guohao15
86e00896d3
fs:notify add support for inotify
...
support API: open close read write unlink mkdir rename fchstat rmdir symlink
Signed-off-by: guohao15 <guohao15@xiaomi.com>
2024-08-22 01:50:37 +08:00
chenrun1
aee9125350
v9fs:File system based on 9P2000L.
...
Signed-off-by: chenrun1 <chenrun1@xiaomi.com>
2024-08-19 11:05:40 -03:00
Saurav Pal
23b7dc0651
fs/mnemofs: Setup and VFS methods
...
The Setup and VFS methods for mnemofs, a NAND Flash File System.
Signed-off-by: Saurav Pal <resyfer.dev@gmail.com>
2024-07-10 09:25:23 -03:00
Yanfeng Liu
5bf6ea0c20
fs/mount: harden nx_mount logic
...
This adds variables initialization and empty device path checks to
harden logic of nx_mount.
Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
2024-03-12 19:44:48 +08:00
Yanfeng Liu
ec7c876f13
fs/mount: add FS_RPMSGFS as cause of NODFS_SUPPORT
...
It seems that RPMSGFS is missed from the list that doesn't need block or
MTD drivers. This attempts to add it.
Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
2024-02-10 17:07:05 +08:00
yinshengkai
9852428953
fs: procfs add poll support
...
Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2023-12-26 19:23:13 -08:00
anjiahao
a4ad9b7579
fs_gettype:add zipfs magic
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-12-08 21:45:45 -03:00
anjiahao
a2c5cb729a
fs:support zipfs,can mount zipfile
...
we can mount a zipfile in nuttx use mount command like this:
mount -t zipfs -o /data/test.zip /zip
The zipfs is a read only file system,The advantage is that it
does not occupy additional space when reading the decompressed file.
When used, reading and decompression operations are simultaneous.
The known disadvantage is that when using seek to read forward,
it will reopen and cause slow speed problems.
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-09-27 01:06:04 +08:00
chao an
664927c86e
mm/alloc: remove all unnecessary cast for alloc
...
Fix the minor style issue and remove unnecessary cast
Signed-off-by: chao an <anchao@xiaomi.com>
2023-08-30 14:34:20 +08:00
chao an
b60f01a55b
inode/i_private: remove all unnecessary cast for i_private
...
Signed-off-by: chao an <anchao@xiaomi.com>
2023-08-29 08:58:07 +02:00
chao an
7aa45305b7
fs/inode: remove all unnecessary check for filep/inode
...
Since VFS layer already contains sanity checks, so remove unnecessary lower half checks
Signed-off-by: chao an <anchao@xiaomi.com>
2023-08-29 09:47:11 +08:00
chao an
6ee9ec7656
build: add initial cmake build system
...
1. Update all CMakeLists.txt to adapt to new layout
2. Fix cmake build break
3. Update all new file license
4. Fully compatible with current compilation environment(use configure.sh or cmake as you choose)
------------------
How to test
From within nuttx/. Configure:
cmake -B build -DBOARD_CONFIG=sim/nsh -GNinja
cmake -B build -DBOARD_CONFIG=sim:nsh -GNinja
cmake -B build -DBOARD_CONFIG=sabre-6quad/smp -GNinja
cmake -B build -DBOARD_CONFIG=lm3s6965-ek/qemu-flat -GNinja
(or full path in custom board) :
cmake -B build -DBOARD_CONFIG=$PWD/boards/sim/sim/sim/configs/nsh -GNinja
This uses ninja generator (install with sudo apt install ninja-build). To build:
$ cmake --build build
menuconfig:
$ cmake --build build -t menuconfig
--------------------------
2. cmake/build: reformat the cmake style by cmake-format
https://github.com/cheshirekow/cmake_format
$ pip install cmakelang
$ for i in `find -name CMakeLists.txt`;do cmake-format $i -o $i;done
$ for i in `find -name *\.cmake`;do cmake-format $i -o $i;done
Co-authored-by: Matias N <matias@protobits.dev>
Signed-off-by: chao an <anchao@xiaomi.com>
2023-07-08 13:50:48 +08:00
Junbo Zheng
7c8adecca8
fs/mount: correct `df -h` output format
...
config: ./tools/configure.sh sim:nsh
correct before
```
nsh> df
Block Number
Size Blocks Used Available Mounted on
0 0 0 0 /bin
64 8 8 0 /etc
0 0 0 0 /proc
512 985 2 983 /tmp
nsh>
nsh> df -h
Filesystem Size Used Available Mounted on
binfs 0B 0B 0B /bin
romfs 512B 512B 0B /etc
procfs 0B 0B 0B /proc
vfat 492K 1K 491K /tmp
nsh>
```
correct after
```
nsh> df
Block Number
Size Blocks Used Available Mounted on
0 0 0 0 /bin
64 8 8 0 /etc
0 0 0 0 /proc
512 985 2 983 /tmp
nsh> df -h
Filesystem Size Used Available Mounted on
binfs 0B 0B 0B /bin
romfs 512B 512B 0B /etc
procfs 0B 0B 0B /proc
vfat 492K 1K 491K /tmp
nsh>
```
config: ./tools/configure.sh ../vendor/sim/boards/miwear/configs/miwear -j16
correct before
```
nsh>
nsh> df
Block Number
Size Blocks Used Available Mounted on
0 0 0 0 /bin
4096 240075962 87644775 152431187 /data
64 3621 3621 0 /etc
4096 240075962 87644775 152431187 /font
4096 240075962 87644775 152431187 /i18n
0 0 0 0 /proc
4096 240075962 87644775 152431187 /resource/app
4096 240075962 87644775 152431187 /resource/misc
4096 240075962 87644775 152431187 /resource/recovery
4096 240075962 87644775 152431187 /resource/system
4096 240075962 87644775 152431187 /system
512 26 24 2 /tmp
4096 240075962 87644775 152431187 /vendor
4096 240075962 87644775 152431187 /watchface
nsh>
nsh> df -h
Filesystem Size Used Available Mounted on
binfs 0B 0B 0B /bin
hostfs 915G 334G 581G /data
romfs 226K 226K 0B /etc
hostfs 915G 334G 581G /font
hostfs 915G 334G 581G /i18n
procfs 0B 0B 0B /proc
hostfs 915G 334G 581G /resource/app
hostfs 915G 334G 581G /resource/misc
hostfs 915G 334G 581G /resource/recovery
hostfs 915G 334G 581G /resource/system
hostfs 915G 334G 581G /system
tmpfs 13K 12K 1K /tmp
hostfs 915G 334G 581G /vendor
hostfs 915G 334G 581G /watchface
```
correct after
```
nsh>
nsh> date
Mon, Jul 03 02:09:53 2023
nsh>
nsh> df
Block Number
Size Blocks Used Available Mounted on
0 0 0 0 /bin
4096 240075962 87644776 152431186 /data
64 3621 3621 0 /etc
4096 240075962 87644776 152431186 /font
4096 240075962 87644776 152431186 /i18n
0 0 0 0 /proc
4096 240075962 87644776 152431186 /resource/app
4096 240075962 87644776 152431186 /resource/misc
4096 240075962 87644776 152431186 /resource/recovery
4096 240075962 87644776 152431186 /resource/system
4096 240075962 87644776 152431186 /system
512 26 24 2 /tmp
4096 240075962 87644776 152431186 /vendor
4096 240075962 87644776 152431186 /watchface
nsh>
nsh> df -h
Filesystem Size Used Available Mounted on
binfs 0B 0B 0B /bin
hostfs 915G 334G 581G /data
romfs 226K 226K 0B /etc
hostfs 915G 334G 581G /font
hostfs 915G 334G 581G /i18n
procfs 0B 0B 0B /proc
hostfs 915G 334G 581G /resource/app
hostfs 915G 334G 581G /resource/misc
hostfs 915G 334G 581G /resource/recovery
hostfs 915G 334G 581G /resource/system
hostfs 915G 334G 581G /system
tmpfs 13K 12K 1K /tmp
hostfs 915G 334G 581G /vendor
hostfs 915G 334G 581G /watchface
nsh>
```
Signed-off-by: Junbo Zheng <zhengjunbo1@xiaomi.com>
2023-07-03 23:09:46 +03:00
zhanghongyu
b723e90356
fs: move memset to upper lever for statfs
...
if struct statfs add new members, such as f_fsid, no additional code
changes are required.
Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2023-06-16 11:10:25 +08:00
Xiang Xiao
6f6fce95a2
Replace all sprintf with snprintf
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-05-08 09:57:01 +02:00
Xiang Xiao
dd631265c4
fs: Add g_ prefix for all global mountpt_operations instances
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-04-24 16:13:29 +02:00
Xiang Xiao
51dc67ad5f
fs: Add g_ prefix for all global file_operations instances
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-04-24 16:13:29 +02:00
Xiang Xiao
c6d210289f
procfs: remove procfs_ from procfs_operations variables
...
to aglin the naming style with other implementation
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-04-22 03:33:50 -04:00
Xiang Xiao
149cafe450
procfs: Add g_ prefix to all procfs_operations
...
to conform the coding style
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-04-22 03:33:50 -04:00
chao an
e28958fe5c
fs/mount: fix compiler warning found out by GCC-12.2
...
mount/fs_foreachmountpoint.c: In function 'mountpoint_filter':
mount/fs_foreachmountpoint.c:99:38: warning: 'sprintf' may write a terminating nul past the end of the destination [-Wformat-overflow=]
99 | sprintf(&dirpath[pathlen], "/%s", node->i_name);
| ^
In function 'mountpoint_filter',
inlined from 'mountpoint_filter' at mount/fs_foreachmountpoint.c:64:12:
mount/fs_foreachmountpoint.c:99:7: note: 'sprintf' output between 2 and 257 bytes into a destination of size 256
99 | sprintf(&dirpath[pathlen], "/%s", node->i_name);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: chao an <anchao@xiaomi.com>
2023-02-21 09:28:57 +08:00
chao an
4c8d244fae
sched/getpid: replace syscall getpid/tid/ppid() to kernel version
...
NuttX kernel should not use the syscall functions, especially after
enabling CONFIG_SCHED_INSTRUMENTATION_SYSCALL, all system functions
will be traced to backend, which will impact system performance.
Signed-off-by: chao an <anchao@xiaomi.com>
2023-02-02 10:33:01 +08:00
Petro Karashchenko
6c5cb98e7d
fs/mount: fix logging macro in FS automount
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2023-01-13 12:18:36 +08:00
Xiang Xiao
779a610ca3
Remove the unnecessary NULL fields in global instance definition of file_operations
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-01-04 00:32:13 +02:00
Xiang Xiao
fd0d6a9bf5
compiler.h: Add _ between format|printf|syslog|scanf|strftime and like
...
align with other macro naming style
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-12-21 01:05:19 +02:00
anjiahao
dee38ce3e8
arch: Replace critical section with nxmutex in i2c/spi/1wire initialization
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-17 15:59:46 +09:00
anjiahao
d1d46335df
Replace nxsem API when used as a lock with nxmutex API
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-17 15:59:46 +09:00
Xiang Xiao
bdeaea3742
Remove the unnessary empty line after label
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-09-30 17:54:56 +02:00
Jiuzhu Dong
fe17f747a7
fs/directory: move private directory information to filesystem
...
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-08-09 23:30:01 +08:00
Xiang Xiao
2166c98809
Add printflike and scanflike to all printf/scanf like functions
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-07-18 14:14:36 +03:00
Xiang Xiao
3276438984
procfs/mount: Unify uint[32|64]_t to fsblkcnt_t for the code simplification
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-07-16 21:06:53 +03:00
Xiang Xiao
0eec2f5251
fs: Remove the unnecessary Kconfig definition
...
since all these options should always have the default value
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-02-05 23:58:01 +01:00
Petro Karashchenko
76a9af90c3
fs_automount: add options for signaling when volume is mounted and unmounted
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-02-04 03:27:16 +08:00
ligd
985cc4fc6d
hosfs_rpmsg: merge hostfs_rpmsg to rpmsgfs
...
Signed-off-by: ligd <liguiding1@xiaomi.com>
2021-12-04 01:04:18 -06:00
Gustavo Henrique Nihei
3819d93b4e
fs/mount: Properly handle missing FS on the supported list
...
Instead of reporting the failure to find a given FS, nx_mount was
reporting a failure to find the block driver, even when the actual block
driver exists.
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-10-23 04:02:22 -05:00
Jiuzhu Dong
dc97ee9b36
fs/mount: fix crash becauseof bad release order
...
N/A
Change-Id: I850f0706f4554d140a86f935b8dce07d23beedaf
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2021-08-19 20:44:18 -07:00
Jiuzhu Dong
5c5e75ac6f
cmd/df: Fix the abnormal output after off_t change
...
Change-Id: Ieaf063cb636a77eea971cb19e6eaeea6421bff4b
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2021-08-06 08:08:36 -07:00
Masayuki Ishikawa
e5dafc825d
fs: mount: Change the format for df
...
Summary:
- This commit changes the format for df to support big
storage up to 2TB.
Impact:
- None
Testing:
- Tested with spresense:rndis_smp
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-07-19 04:26:44 -07:00
Xiang Xiao
0148e1d501
fs: Support the root file system attributes(mode, uid, gid and time)
...
Note: all attributes is guarded by PSEUDOFS_ATTRIBUTES to save the space
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I664d60382e356068fd920f08aca5b4a49d8d92a9
2021-07-14 10:35:15 -03:00
Gustavo Henrique Nihei
330eff36d7
sourcefiles: Fix relative path in file header
2021-03-09 23:18:28 +08:00
ligd
d2488715c0
fs/mount: fix mount cmd break out when meet stat error
...
Change-Id: I9307fe67837a6519fffa1844fcfd794f735d2fdd
Signed-off-by: ligd <liguiding1@xiaomi.com>
2021-03-04 07:11:51 -08:00
Xiang Xiao
9473434587
Ensure the kernel component don't call userspace API
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-03-01 09:23:09 +09:00
Alin Jerpelea
f9fb182809
Author: Gregory Nutt: update licenses to Apache
...
Update files from Gregory Nutt to Apache 2.0 license.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-02-05 12:15:56 -03:00
ligd
3386941a10
fs: remove INODE_IS_SPECIAL() use others instead
...
Change-Id: I949f1ad012836e6cb233d5362fe2542732b5ecf4
Signed-off-by: ligd <liguiding1@xiaomi.com>
2020-12-30 12:21:02 -06:00
AVykhovanets
39caf09df0
Fix inode lock at umount2
2020-12-26 00:32:19 -06:00