From: Tomohiro Kusumi Date: Fri, 5 Apr 2019 20:59:45 +0000 (+0900) Subject: sys/vfs/fuse: Fix confusing vop_write_dirent() retval test X-Git-Tag: v5.7.0~382 X-Git-Url: https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff_plain/3c817f1ea603d010743de4357f46729ba30d25df sys/vfs/fuse: Fix confusing vop_write_dirent() retval test vop_write_dirent() has confusing return value (bug). When vop_write_dirent() returns non zero, *error is unchanged. OTOH when vop_write_dirent() returns zero, *error may be non zero. --- diff --git a/sys/vfs/fuse/fuse_vnops.c b/sys/vfs/fuse/fuse_vnops.c index e189e0edfa..bee6470ff3 100644 --- a/sys/vfs/fuse/fuse_vnops.c +++ b/sys/vfs/fuse/fuse_vnops.c @@ -1075,7 +1075,7 @@ fuse_vop_readdir(struct vop_readdir_args *ap) error = 0; if (vop_write_dirent(&error, uio, fde->ino, fde->type, fde->namelen, fde->name)) - break; + error = EINVAL; if (error) break; fuse_dbg("ino=%ju type=%d name=%s len=%u\n",