summaryrefslogtreecommitdiff
path: root/kernel/fuse_vnops.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/fuse_vnops.c')
-rw-r--r--kernel/fuse_vnops.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/kernel/fuse_vnops.c b/kernel/fuse_vnops.c
index 1aa5114..34abd18 100644
--- a/kernel/fuse_vnops.c
+++ b/kernel/fuse_vnops.c
@@ -2894,6 +2894,14 @@ fuse_remove(vnode_t *dvp, char *name, cred_t *credp, caller_context_t *ct,
goto cleanup;
}
+ /* Check for any error from fuse library */
+ if ((err = msgp->opdata.fouth->error) != 0) {
+ DTRACE_PROBE2(fuse_unlink_err_unlink_req,
+ char *, "FUSE_UNLINK request failed",
+ struct fuse_out_header *, msgp->opdata.fouth);
+ goto cleanup;
+ }
+
/* Check if we have seen and cached the associated vnode */
err = fuse_getvnode(FUSE_NULL_ID, &vp, VNODE_CACHED,
0, sep, dvp->v_vfsp, namelen, name, VNODE_TO_NODEID(dvp), credp);