incubator-nuttx/fs/mqueue
dongjiuzhu1 09a9611ae9 fs/inode: using rwsem lock as inode_lock to avoid deadlock
Example:
When executing "df -h" on Core A to view mount information, this
process will traverse inode nodes, thereby holding the inode_lock.
Since the inode type of the mount point may be rpmsgfs, it will fetch statfs
information from another Core B.

Meanwhile, rcS on Core B needs to obtain file information from Core A,
which will be achieved by fetching stat information through rpmsgfs.
When this message arrives at Core A, a deadlock can occur between Core A's
rptun ap and nsh task.

However, both of these places involve read operations only, thus a reader-writer lock
can be utilized to prevent such a deadlock.

Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2024-10-02 01:56:46 +08:00
..
CMakeLists.txt build: add initial cmake build system 2023-07-08 13:50:48 +08:00
Kconfig mqueue: Rename FS_MQUEUE_MPATH to FS_MQUEUE_VFS_PATH 2022-02-05 23:58:01 +01:00
Make.defs
mq_close.c sourcefiles: Fix relative path in file header 2021-03-09 23:18:28 +08:00
mq_open.c fs/inode: using rwsem lock as inode_lock to avoid deadlock 2024-10-02 01:56:46 +08:00
mq_unlink.c fs/inode: using rwsem lock as inode_lock to avoid deadlock 2024-10-02 01:56:46 +08:00
mqueue.h fs: Remove the unnecessary Kconfig definition 2022-02-05 23:58:01 +01:00