Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Jul 2011 06:07:16 GMT
From:      Ilya Putsikau <ilya@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 196725 for review
Message-ID:  <201107260607.p6Q67Gm3042183@skunkworks.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/@@196725?ac=10

Change 196725 by ilya@ilya_triton2011 on 2011/07/26 06:06:22

	Remove ticket_mtx.  Replace last use case during file system
	initializtion with global fuse mutex.
	
	Remove debug sysctl reclaim_inactive
	
	Remove unused size argument from fuse_vnode_get

Affected files ...

.. //depot/projects/soc2011/ilya_fuse/fuse_module/fuse_internal.c#19 edit
.. //depot/projects/soc2011/ilya_fuse/fuse_module/fuse_ipc.c#14 edit
.. //depot/projects/soc2011/ilya_fuse/fuse_module/fuse_ipc.h#15 edit
.. //depot/projects/soc2011/ilya_fuse/fuse_module/fuse_node.c#20 edit
.. //depot/projects/soc2011/ilya_fuse/fuse_module/fuse_node.h#19 edit
.. //depot/projects/soc2011/ilya_fuse/fuse_module/fuse_vfsops.c#23 edit
.. //depot/projects/soc2011/ilya_fuse/fuse_module/fuse_vnops.c#43 edit

Differences ...

==== //depot/projects/soc2011/ilya_fuse/fuse_module/fuse_internal.c#19 (text+ko) ====

@@ -486,7 +486,7 @@
         return err;
     }
 
-    err = fuse_vnode_get(mp, feo->nodeid, dvp, vpp, cnp, vtyp, 0);
+    err = fuse_vnode_get(mp, feo->nodeid, dvp, vpp, cnp, vtyp);
     if (err) {
         fuse_internal_forget_send(mp, cnp->cn_thread, cnp->cn_cred,
             feo->nodeid, 1);
@@ -617,10 +617,10 @@
         fdata_set_dead(data);
     }
 
-    fuse_lck_mtx_lock(data->ticket_mtx);
+    FUSE_LOCK();
     data->dataflags |= FSESS_INITED;
     wakeup(&data->ticketer);
-    fuse_lck_mtx_unlock(data->ticket_mtx);
+    FUSE_UNLOCK();
 
     return 0;
 }

==== //depot/projects/soc2011/ilya_fuse/fuse_module/fuse_ipc.c#14 (text+ko) ====

@@ -346,8 +346,6 @@
     data->dataflags = 0;
     mtx_init(&data->ms_mtx, "fuse message list mutex", NULL, MTX_DEF);
     STAILQ_INIT(&data->ms_head);
-    mtx_init(&data->ticket_mtx, "fuse ticketer mutex", NULL, MTX_DEF);
-    debug_printf("ALLOC_INIT data=%p ticket_mtx=%p\n", data, &data->ticket_mtx);
     mtx_init(&data->aw_mtx, "fuse answer list mutex", NULL, MTX_DEF);
     TAILQ_INIT(&data->aw_head);
     data->ticketer = 0;
@@ -369,7 +367,6 @@
     /* Driving off stage all that stuff thrown at device... */
     mtx_destroy(&data->ms_mtx);
     mtx_destroy(&data->aw_mtx);
-    mtx_destroy(&data->ticket_mtx);
 #ifdef FUSE_EXPLICIT_RENAME_LOCK
     sx_destroy(&data->rename_lock);
 #endif
@@ -395,9 +392,9 @@
     selwakeuppri(&data->ks_rsel, PZERO + 1);
     fuse_lck_mtx_unlock(data->ms_mtx);
 
-    fuse_lck_mtx_lock(data->ticket_mtx);
+    FUSE_LOCK();
     wakeup(&data->ticketer);
-    fuse_lck_mtx_unlock(data->ticket_mtx);
+    FUSE_UNLOCK();
 }
 
 struct fuse_ticket *
@@ -412,9 +409,9 @@
 
     if (!(data->dataflags & FSESS_INITED) && data->ticketer > 2) {
         /* Sleep until get answer for INIT messsage */
-        fuse_lck_mtx_lock(data->ticket_mtx);
+        FUSE_LOCK();
         if (!(data->dataflags & FSESS_INITED) && data->ticketer > 2) {
-            err = msleep(&data->ticketer, &data->ticket_mtx, PCATCH | PDROP,
+            err = msleep(&data->ticketer, &fuse_mtx, PCATCH | PDROP,
                          "fu_ini", 0);
         }
     }

==== //depot/projects/soc2011/ilya_fuse/fuse_module/fuse_ipc.h#15 (text+ko) ====

@@ -138,7 +138,6 @@
     struct mtx                 aw_mtx;
     TAILQ_HEAD(, fuse_ticket)  aw_head;
 
-    struct mtx                 ticket_mtx;
     u_long                     ticketer;
 
 #ifdef FUSE_EXPLICIT_RENAME_LOCK

==== //depot/projects/soc2011/ilya_fuse/fuse_module/fuse_node.c#20 (text+ko) ====

@@ -170,8 +170,7 @@
                struct vnode         *dvp,
                struct vnode         **vpp,
                struct componentname *cnp,
-               enum vtype            vtyp,
-               uint64_t              size)
+               enum vtype            vtyp)
 {
     struct thread *td = (cnp != NULL ? cnp->cn_thread : curthread);
     int err = 0;

==== //depot/projects/soc2011/ilya_fuse/fuse_module/fuse_node.h#19 (text+ko) ====

@@ -88,8 +88,7 @@
                    struct vnode         *dvp,
                    struct vnode        **vpp,
                    struct componentname *cnp,
-                   enum vtype            vtyp,
-                   uint64_t              size);
+                   enum vtype            vtyp);
 
 void fuse_vnode_open(struct vnode *vp,
                      int32_t fuse_open_flags,

==== //depot/projects/soc2011/ilya_fuse/fuse_module/fuse_vfsops.c#23 (text+ko) ====

@@ -360,7 +360,7 @@
         if (err == 0)
             *vpp = data->vroot;
     } else {
-        err = fuse_vnode_get(mp, FUSE_ROOT_ID, NULL, vpp, NULL, VDIR, 0);
+        err = fuse_vnode_get(mp, FUSE_ROOT_ID, NULL, vpp, NULL, VDIR);
         if (err == 0) {
             FUSE_LOCK();
             MPASS(data->vroot == NULL || data->vroot == *vpp);

==== //depot/projects/soc2011/ilya_fuse/fuse_module/fuse_vnops.c#43 (text+ko) ====

@@ -124,10 +124,6 @@
 SYSCTL_INT(_vfs_fuse, OID_AUTO, lookup_cache_enable, CTLFLAG_RW,
            &fuse_lookup_cache_enable, 0, "");
 
-static int fuse_reclaim_inactive = 0;
-SYSCTL_INT(_vfs_fuse, OID_AUTO, reclaim_inactive, CTLFLAG_RW,
-           &fuse_reclaim_inactive, 0, "");
-
 int fuse_pbuf_freecnt = -1;
 
 #if __FreeBSD_version >= 900011
@@ -338,7 +334,7 @@
         goto out;
     }
 
-    err = fuse_vnode_get(mp, feo->nodeid, dvp, vpp, cnp, VREG, /*size*/0);
+    err = fuse_vnode_get(mp, feo->nodeid, dvp, vpp, cnp, VREG);
     if (err) {
        if (gone_good_old) {
            fuse_internal_forget_send(mp, td, cred, feo->nodeid, 1);
@@ -555,8 +551,7 @@
         }
     }
 
-    if ((fvdat->flag & FN_REVOKED) != 0 ||
-        (fuse_reclaim_inactive && vnode_vtype(vp) != VDIR)) {
+    if ((fvdat->flag & FN_REVOKED) != 0) {
         vrecycle(vp, td);
     }
 
@@ -649,7 +644,6 @@
     int err                   = 0;
     int lookup_err            = 0;
     struct vnode *vp          = NULL;
-    uint64_t size             = 0;
 
     struct fuse_dispatcher fdi;
     enum   fuse_opcode     op;
@@ -735,7 +729,6 @@
 
     if ((op == FUSE_LOOKUP) && !lookup_err) { /* lookup call succeeded */
         nid = ((struct fuse_entry_out *)fdi.answ)->nodeid;
-        size = ((struct fuse_entry_out *)fdi.answ)->attr.size;
         if (!nid) {
             /*
              * zero nodeid is the same as "not found",
@@ -849,8 +842,7 @@
                                  dvp,
                                  &vp,
                                  cnp,
-                                 IFTOVT(fattr->mode),
-                                 size);
+                                 IFTOVT(fattr->mode));
             if (err) {
                 goto out;
             }
@@ -888,8 +880,7 @@
                                  dvp,
                                  &vp,
                                  cnp,
-                                 IFTOVT(fattr->mode),
-                                 size);
+                                 IFTOVT(fattr->mode));
             if (err) {
                 goto out;
             }
@@ -913,8 +904,7 @@
                                  NULL,
                                  &vp,
                                  cnp,
-                                 IFTOVT(fattr->mode),
-                                 0);
+                                 IFTOVT(fattr->mode));
             vn_lock(dvp, ltype | LK_RETRY);
             vref(vp);
             *vpp = vp;
@@ -927,8 +917,7 @@
                                  dvp,
                                  &vp,
                                  cnp,
-                                 IFTOVT(fattr->mode),
-                                 size);
+                                 IFTOVT(fattr->mode));
             if (err) {
                 goto out;
             }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201107260607.p6Q67Gm3042183>