diff options
author | Konstantin Belousov <kib@FreeBSD.org> | 2022-09-18 14:44:49 +0000 |
---|---|---|
committer | Konstantin Belousov <kib@FreeBSD.org> | 2022-09-24 16:41:14 +0000 |
commit | cc65a412ae226136e6207bdc8db4722dab99982f (patch) | |
tree | 2aea9c1bf79b3a016a946de939345980b5ee0142 /sys/fs/tmpfs | |
parent | 0f01fb01c2de3e2c9ce8719750aea379c402ece6 (diff) | |
download | src-cc65a412ae226136e6207bdc8db4722dab99982f.tar.gz src-cc65a412ae226136e6207bdc8db4722dab99982f.zip |
filesystems: return error from vn_rlimit_fsize() instead of EFBIG
Reviewed by: asomers, jah, markj
Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks
Differential revision: https://reviews.freebsd.org/D36625
Diffstat (limited to 'sys/fs/tmpfs')
-rw-r--r-- | sys/fs/tmpfs/tmpfs_vnops.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/fs/tmpfs/tmpfs_vnops.c b/sys/fs/tmpfs/tmpfs_vnops.c index 8077689caeac..079936946270 100644 --- a/sys/fs/tmpfs/tmpfs_vnops.c +++ b/sys/fs/tmpfs/tmpfs_vnops.c @@ -658,8 +658,10 @@ tmpfs_write(struct vop_write_args *v) if (uio->uio_offset + uio->uio_resid > VFS_TO_TMPFS(vp->v_mount)->tm_maxfilesize) return (EFBIG); - if (vn_rlimit_fsize(vp, uio, uio->uio_td)) - return (EFBIG); + error = vn_rlimit_fsize(vp, uio, uio->uio_td); + if (error != 0) + return (error); + if (uio->uio_offset + uio->uio_resid > node->tn_size) { error = tmpfs_reg_resize(vp, uio->uio_offset + uio->uio_resid, FALSE); |