Author: attilio
Date: Sat Nov  3 23:32:32 2012
New Revision: 242536
URL: http://svn.freebsd.org/changeset/base/242536

Log:
  Fix a bug where operations was carried on even if not implemented,
  leading to handling of an invalid fdip object.
  
  Reported and tested by:       flo
  MFC after:    2 months
  X-MFC:                241519

Modified:
  head/sys/fs/fuse/fuse_vnops.c

Modified: head/sys/fs/fuse/fuse_vnops.c
==============================================================================
--- head/sys/fs/fuse/fuse_vnops.c       Sat Nov  3 23:22:49 2012        
(r242535)
+++ head/sys/fs/fuse/fuse_vnops.c       Sat Nov  3 23:32:32 2012        
(r242536)
@@ -358,12 +358,10 @@ fuse_vnop_create(struct vop_create_args 
 
        err = fdisp_wait_answ(fdip);
 
-       if (err == ENOSYS) {
-               debug_printf("create: got ENOSYS from daemon\n");
-               fsess_set_notimpl(mp, FUSE_CREATE);
-               fdisp_destroy(fdip);
-       } else if (err) {
-               debug_printf("create: darn, got err=%d from daemon\n", err);
+       if (err) {
+               if (err == ENOSYS)
+                       fsess_set_notimpl(mp, FUSE_CREATE);
+               debug_printf("create: got err=%d from daemon\n", err);
                goto out;
        }
 bringup:
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to