diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2022-12-14 12:57:27 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2023-01-11 15:30:08 -0500 |
commit | 4a29a1262a47acd8e81a3824492a5aa8f8c5fc95 (patch) | |
tree | 74cd22d71095d17289e06d184a5d57d984e9df1e /fs/minix/bitmap.c | |
parent | b7bfaa761d760e72a969d116517eaa12e404c262 (diff) | |
download | lwn-4a29a1262a47acd8e81a3824492a5aa8f8c5fc95.tar.gz lwn-4a29a1262a47acd8e81a3824492a5aa8f8c5fc95.zip |
minix: make minix_new_inode() return error as ERR_PTR(-E...)
adjust the callers
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/minix/bitmap.c')
-rw-r--r-- | fs/minix/bitmap.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/fs/minix/bitmap.c b/fs/minix/bitmap.c index 9115948c624e..af50d8e9cd89 100644 --- a/fs/minix/bitmap.c +++ b/fs/minix/bitmap.c @@ -210,7 +210,7 @@ void minix_free_inode(struct inode * inode) mark_buffer_dirty(bh); } -struct inode *minix_new_inode(const struct inode *dir, umode_t mode, int *error) +struct inode *minix_new_inode(const struct inode *dir, umode_t mode) { struct super_block *sb = dir->i_sb; struct minix_sb_info *sbi = minix_sb(sb); @@ -220,13 +220,10 @@ struct inode *minix_new_inode(const struct inode *dir, umode_t mode, int *error) unsigned long j; int i; - if (!inode) { - *error = -ENOMEM; - return NULL; - } + if (!inode) + return ERR_PTR(-ENOMEM); j = bits_per_zone; bh = NULL; - *error = -ENOSPC; spin_lock(&bitmap_lock); for (i = 0; i < sbi->s_imap_blocks; i++) { bh = sbi->s_imap[i]; @@ -237,20 +234,20 @@ struct inode *minix_new_inode(const struct inode *dir, umode_t mode, int *error) if (!bh || j >= bits_per_zone) { spin_unlock(&bitmap_lock); iput(inode); - return NULL; + return ERR_PTR(-ENOSPC); } if (minix_test_and_set_bit(j, bh->b_data)) { /* shouldn't happen */ spin_unlock(&bitmap_lock); printk("minix_new_inode: bit already set\n"); iput(inode); - return NULL; + return ERR_PTR(-ENOSPC); } spin_unlock(&bitmap_lock); mark_buffer_dirty(bh); j += i * bits_per_zone; if (!j || j > sbi->s_ninodes) { iput(inode); - return NULL; + return ERR_PTR(-ENOSPC); } inode_init_owner(&init_user_ns, inode, dir, mode); inode->i_ino = j; @@ -260,7 +257,6 @@ struct inode *minix_new_inode(const struct inode *dir, umode_t mode, int *error) insert_inode_hash(inode); mark_inode_dirty(inode); - *error = 0; return inode; } |