mirror of
https://github.com/apache/nuttx.git
synced 2026-06-02 09:38:37 +08:00
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>
This commit is contained in:
@@ -145,8 +145,7 @@ int nx_umount2(FAR const char *target, unsigned int flags)
|
||||
{
|
||||
/* Just decrement the reference count (without deleting it) */
|
||||
|
||||
DEBUGASSERT(mountpt_inode->i_crefs > 0);
|
||||
mountpt_inode->i_crefs--;
|
||||
atomic_fetch_sub(&mountpt_inode->i_crefs, 1);
|
||||
inode_unlock();
|
||||
}
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user