summaryrefslogtreecommitdiff
path: root/drivers/infiniband/hw/ionic/ionic_fw.h
diff options
context:
space:
mode:
authorYikang Yue <yikangy2@illinois.edu>2025-05-03 20:44:34 -0500
committerMikulas Patocka <mpatocka@redhat.com>2025-09-08 17:26:05 +0200
commit32058c38d3b79a28963a59ac0353644dc24775cd (patch)
tree7a08c58bb35ba707d96ddcdf432aef5660556836 /drivers/infiniband/hw/ionic/ionic_fw.h
parentfd8a620f195e7966d83c367def68818a2cc71177 (diff)
fs/hpfs: Fix error code for new_inode() failure in mkdir/create/mknod/symlink
The function call new_inode() is a primitive for allocating an inode in memory, rather than planning disk space for it. Therefore, -ENOMEM should be returned as the error code rather than -ENOSPC. To be specific, new_inode()'s call path looks like this: new_inode new_inode_pseudo alloc_inode ops->alloc_inode (hpfs_alloc_inode) alloc_inode_sb kmem_cache_alloc_lru Therefore, the failure of new_inode() indicates a memory presure issue (-ENOMEM), not a lack of disk space. However, the current implementation of hpfs_mkdir/create/mknod/symlink incorrectly returns -ENOSPC when new_inode() fails. This patch fix this by set err to -ENOMEM before the goto statement. BTW, we also noticed that other nested calls within these four functions, like hpfs_alloc_f/dnode and hpfs_add_dirent, might also fail due to memory presure. But similarly, only -ENOSPC is returned. Addressing these will involve code modifications in other functions, and we plan to submit dedicated patches for these issues in the future. For this patch, we focus on new_inode(). Signed-off-by: Yikang Yue <yikangy2@illinois.edu> Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Diffstat (limited to 'drivers/infiniband/hw/ionic/ionic_fw.h')
0 files changed, 0 insertions, 0 deletions