Page MenuHomeFreeBSD

D27938.id81588.diff
No OneTemporary

D27938.id81588.diff

Index: sys/fs/fuse/fuse_vnops.c
===================================================================
--- sys/fs/fuse/fuse_vnops.c
+++ sys/fs/fuse/fuse_vnops.c
@@ -660,14 +660,6 @@
td = ap->a_fsizetd;
pid = td->td_proc->p_pid;
- err = fuse_filehandle_getrw(invp, FREAD, &infufh, incred, pid);
- if (err)
- return (err);
-
- err = fuse_filehandle_getrw(outvp, FWRITE, &outfufh, outcred, pid);
- if (err)
- return (err);
-
/* Lock both vnodes, avoiding risk of deadlock. */
do {
err = vn_lock(outvp, LK_EXCLUSIVE);
@@ -686,6 +678,14 @@
if (err != 0)
return (err);
+ err = fuse_filehandle_getrw(invp, FREAD, &infufh, incred, pid);
+ if (err)
+ goto unlock;
+
+ err = fuse_filehandle_getrw(outvp, FWRITE, &outfufh, outcred, pid);
+ if (err)
+ goto unlock;
+
if (ap->a_fsizetd) {
io.uio_offset = *ap->a_outoffp;
io.uio_resid = *ap->a_lenp;

File Metadata

Mime Type
text/plain
Expires
Mon, Jan 27, 6:23 PM (5 h, 20 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16204132
Default Alt Text
D27938.id81588.diff (866 B)

Event Timeline