aboutsummaryrefslogtreecommitdiff
path: root/sys/fs/fuse/fuse_io.c
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2022-09-18 14:44:49 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2022-09-24 16:41:14 +0000
commitcc65a412ae226136e6207bdc8db4722dab99982f (patch)
tree2aea9c1bf79b3a016a946de939345980b5ee0142 /sys/fs/fuse/fuse_io.c
parent0f01fb01c2de3e2c9ce8719750aea379c402ece6 (diff)
downloadsrc-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/fuse/fuse_io.c')
-rw-r--r--sys/fs/fuse/fuse_io.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/fs/fuse/fuse_io.c b/sys/fs/fuse/fuse_io.c
index 9ef4badfcdff..252fabb1c7d6 100644
--- a/sys/fs/fuse/fuse_io.c
+++ b/sys/fs/fuse/fuse_io.c
@@ -338,8 +338,9 @@ fuse_write_directbackend(struct vnode *vp, struct uio *uio,
if (ioflag & IO_APPEND)
uio_setoffset(uio, filesize);
- if (vn_rlimit_fsize(vp, uio, uio->uio_td))
- return (EFBIG);
+ err = vn_rlimit_fsize(vp, uio, uio->uio_td);
+ if (err != 0)
+ return (err);
fdisp_init(&fdi, 0);
@@ -493,8 +494,9 @@ fuse_write_biobackend(struct vnode *vp, struct uio *uio,
if (ioflag & IO_APPEND)
uio_setoffset(uio, filesize);
- if (vn_rlimit_fsize(vp, uio, uio->uio_td))
- return (EFBIG);
+ err = vn_rlimit_fsize(vp, uio, uio->uio_td);
+ if (err != 0)
+ return (err);
do {
bool direct_append, extending;