Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 19 Jun 2011 09:39:58 GMT
From:      Ilya Putsikau <ilya@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 194962 for review
Message-ID:  <201106190939.p5J9dwq0070609@skunkworks.freebsd.org>

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

Change 194962 by ilya@ilya_triton2011 on 2011/06/19 09:39:00

	Add per-module debugging. Fix debug format strings

Affected files ...

.. //depot/projects/soc2011/ilya_fuse/fuse_module/Makefile#11 edit
.. //depot/projects/soc2011/ilya_fuse/fuse_module/fuse.h#8 edit
.. //depot/projects/soc2011/ilya_fuse/fuse_module/fuse_device.c#6 edit
.. //depot/projects/soc2011/ilya_fuse/fuse_module/fuse_file.c#4 edit
.. //depot/projects/soc2011/ilya_fuse/fuse_module/fuse_internal.c#11 edit
.. //depot/projects/soc2011/ilya_fuse/fuse_module/fuse_internal.h#11 edit
.. //depot/projects/soc2011/ilya_fuse/fuse_module/fuse_io.c#10 edit
.. //depot/projects/soc2011/ilya_fuse/fuse_module/fuse_ipc.c#6 edit
.. //depot/projects/soc2011/ilya_fuse/fuse_module/fuse_ipc.h#8 edit
.. //depot/projects/soc2011/ilya_fuse/fuse_module/fuse_main.c#6 edit
.. //depot/projects/soc2011/ilya_fuse/fuse_module/fuse_node.c#6 edit
.. //depot/projects/soc2011/ilya_fuse/fuse_module/fuse_vfsops.c#15 edit
.. //depot/projects/soc2011/ilya_fuse/fuse_module/fuse_vnops.c#19 edit

Differences ...

==== //depot/projects/soc2011/ilya_fuse/fuse_module/Makefile#11 (text+ko) ====

@@ -21,6 +21,7 @@
 	vnode_if.h
 
 CFLAGS+= -I../include
+DEBUG_FLAGS+= -g -DFUSE_DEBUG_VNOPS=1
 
 .if defined(KERNCONF)
 KERNCONF1!= echo ${KERNCONF} | sed -e 's/ .*//g'
@@ -32,10 +33,6 @@
 CFLAGS+= -DKERNCONFDIR="\"${KERNCONFDIR}\"" -I${KERNCONFDIR}
 .endif
 
-.if defined(DEBUG_MSG)
-DEBUG_FLAGS+= -D_DEBUG_MSG
-.endif
-
 KMOD=fuse
 
 .include <bsd.kmod.mk>

==== //depot/projects/soc2011/ilya_fuse/fuse_module/fuse.h#8 (text+ko) ====

@@ -122,113 +122,39 @@
 
 /* Debug related stuff */
 
-#ifndef DEBUGTOLOG
-#define DEBUGTOLOG 0
+#ifndef FUSE_DEBUG_DEVICE
+#define FUSE_DEBUG_DEVICE               0
 #endif
-#if DEBUGTOLOG
-#define dprintf(args ...)  log(LOG_DEBUG, args)
-#else
-#define dprintf(args ...)  printf(args)
-#endif
 
-#define DEBLABEL "[fuse-debug] "
-#ifndef _DEBUG
-#define _DEBUG 0
+#ifndef FUSE_DEBUG_FILE
+#define FUSE_DEBUG_FILE                 0
 #endif
-#if     _DEBUG
-#ifndef _DEBUG2G
-#define _DEBUG2G 1
-#endif
-#define DEBUG(args, ...)							\
-	printf(DEBLABEL "%s <%s@%d>: " args, __func__, __FILE__, __LINE__, ## __VA_ARGS__)
-#else
-#define DEBUG(args ...)
-#endif
 
-#ifndef _DEBUG2G
-#define _DEBUG2G 0
+#ifndef FUSE_DEBUG_INTERNAL
+#define FUSE_DEBUG_INTERNAL             0
 #endif
-#if     _DEBUG2G
-#ifndef _DEBUG3G
-#define _DEBUG3G 1
-#endif
-#define DEBUG2G(args, ...)							\
-	printf(DEBLABEL "%s <%s@%d>: " args, __func__, __FILE__, __LINE__, ## __VA_ARGS__)
-#else
-#define DEBUG2G(args ...)
-#endif
 
-#ifndef _DEBUG3G
-#define _DEBUG3G 0
-#endif
-#if     _DEBUG3G
-#define DEBUG3G(args, ...)							\
-	printf(DEBLABEL "%s <%s@%d>: " args, __func__, __FILE__, __LINE__, ## __VA_ARGS__)
-#else
-#define DEBUG3G(args ...)
+#ifndef FUSE_DEBUG_IO
+#define FUSE_DEBUG_IO                   0
 #endif
 
-#ifndef FMASTER
-#define FMASTER 0
+#ifndef FUSE_DEBUG_IPC
+#define FUSE_DEBUG_IPC                  0
 #endif
-#if     FMASTER
-#ifndef _DEBUG_MSG
-#define _DEBUG_MSG 1
-#endif
-#endif
 
-#ifndef _DEBUG_MSG
-#define _DEBUG_MSG 0
-#endif
-#if     _DEBUG_MSG
-#define DEBUG_MSG(args, ...)							\
-	printf(DEBLABEL "%s <%s@%d>: " args, __func__, __FILE__, __LINE__, ## __VA_ARGS__)
-#else
-#define DEBUG_MSG(args...)
+#ifndef FUSE_DEBUG_VFSOPS
+#define FUSE_DEBUG_VFSOPS               0
 #endif
 
-#ifndef _DEBUG_UNIQUE
-#if _DEBUG || _DEBUG2G || _DEBUG3G || _DEBUG_MSG
-#define _DEBUG_UNIQUE 1
-#else
-#define _DEBUG_UNIQUE 0
+#ifndef FUSE_DEBUG_VNOPS
+#define FUSE_DEBUG_VNOPS                0
 #endif
-#endif
 
-#ifdef FUSE_TRACE
-#define fuse_trace_printf(fmt, ...) printf(fmt, ## __VA_ARGS__)
-#define fuse_trace_printf_func()    printf("%s\n", __FUNCTION__)
-#else
-#define fuse_trace_printf(fmt, ...) {}
-#define fuse_trace_printf_func()    {}
+#ifndef FUSE_TRACE
+#define FUSE_TRACE                      0
 #endif
 
-#ifdef FUSE_TRACE_OP
-#define fuse_trace_printf_vfsop() printf("%s\n", __FUNCTION__)
-#define fuse_trace_printf_vnop()  printf("%s\n", __FUNCTION__)
-#else
-#define fuse_trace_printf_vfsop() {}
-#define fuse_trace_printf_vnop()  {}
-#endif
-
-#define debug_printf(fmt, ...) DEBUG(fmt, ## __VA_ARGS__)
-#define kdebug_printf(fmt, ...) DEBUG(fmt, ## __VA_ARGS__)
-
-#if _DEBUG || _DEBUG2G || _DEBUG3G || FMASTER
-extern char *fuse_opnames[];
-extern int fuse_opnames_entries;
-
-struct fuse_iov;
-
-void uprettyprint(char *buf, size_t len);
-void prettyprint(char *buf, size_t len);
-void fprettyprint(struct fuse_iov *fiov, size_t dlen);
-#endif
-
-#if _DEBUG || _DEBUG2G || _DEBUG3G
-#include <sys/kdb.h>
-
-#define bp_print(bp) \
-printf("b_bcount %d, b_data %p, b_error %#x, b_iocmd %#x, b_ioflags %#x, b_iooffset %lld, b_resid %d, b_blkno %d, b_offset %lld, b_flags %#x, b_bufsize %d, b_lblkno %d, b_vp %p, b_vp_ino %llu, b_dirtyoff %d, b_dirtyend %d, b_npages %d\n", \
-(int)(bp)->b_bcount, (bp)->b_data, (bp)->b_error, (bp)->b_iocmd, (bp)->b_ioflags, (long long)(bp)->b_iooffset, (int)(bp)->b_resid, (int)(bp)->b_blkno, (long long)(bp)->b_offset, (bp)->b_flags, (int)(bp)->b_bufsize, (int)(bp)->b_lblkno, (bp)->b_vp, VTOILLU((bp)->b_vp), (int)(bp)->b_dirtyoff, (int)(bp)->b_dirtyend, (int)(bp)->b_npages)
-#endif
+#define DEBUGX(cond, fmt, ...) do {                     \
+    if (((cond))) {                                     \
+        printf("%s: " fmt, __func__, ## __VA_ARGS__);   \
+    } } while (0)

==== //depot/projects/soc2011/ilya_fuse/fuse_module/fuse_device.c#6 (text+ko) ====

@@ -28,6 +28,9 @@
 #include "fuse.h"
 #include "fuse_ipc.h"
 
+#define FUSE_DEBUG_MODULE DEVICE
+#include "fuse_debug.h"
+
 static __inline int fuse_ohead_audit(struct fuse_out_header *ohead,
                                      struct uio *uio);
 
@@ -104,7 +107,7 @@
 #if DO_GIANT_MANUALLY 
 		mtx_unlock(&Giant);
 #endif
-		DEBUG2G("caught in the middle of unload\n");
+		DEBUG("caught in the middle of unload\n");
 		return (ENOENT);
 	}
 #if DO_GIANT_MANUALLY && USE_FUSE_LOCK
@@ -115,7 +118,7 @@
 	if (dev->si_usecount > 1)
 		goto busy;
 
-	DEBUG2G("device %p\n", dev);
+	DEBUG("device %p\n", dev);
 
 	fdata = fdata_alloc(dev, td->td_ucred);
 
@@ -136,7 +139,7 @@
 	mtx_unlock(&Giant);
 #endif
 
-	DEBUG("Opened device \"fuse\" (that of minor %d) successfully on thread %d.\n", minor(dev), td->td_tid);
+	DEBUG("%s: device opened by thread %d.\n", dev->si_name, td->td_tid);
 
 	return(0);
 
@@ -172,7 +175,7 @@
 	/* wakup poll()ers */
 	selwakeuppri(&data->ks_rsel, PZERO + 1);
 
-	DEBUG2G("mntco %d\n", data->mntco);
+	DEBUG("mntco %d\n", data->mntco);
 	if (data->mntco > 0) {
 		struct fuse_ticket *tick;
 
@@ -200,7 +203,7 @@
 #endif
 	fuse_useco--;
 	
-	DEBUG("Closing device \"fuse\" (that of minor %d) on thread %d.\n", minor(dev), td->td_tid);
+	DEBUG("%s: device closed by thread %d.\n", dev->si_name, td->td_tid);
 	return(0);
 }
 
@@ -245,7 +248,7 @@
 
 	data = fusedev_get_data(dev);
 
-	DEBUG_MSG("fuse device being read on thread %d\n", uio->uio_td->td_tid);
+	DEBUG("fuse device being read on thread %d\n", uio->uio_td->td_tid);
 
 	mtx_lock(&data->ms_mtx);
 again:
@@ -351,17 +354,17 @@
 static __inline int
 fuse_ohead_audit(struct fuse_out_header *ohead, struct uio *uio)
 {
-	DEBUG_MSG("Out header -- len: %i, error: %i, unique: %llu; iovecs: %d\n",
+	DEBUG("Out header -- len: %i, error: %i, unique: %llu; iovecs: %d\n",
 	          ohead->len, ohead->error, (unsigned long long)ohead->unique,
                   uio->uio_iovcnt);
 
 	if (uio->uio_resid + sizeof(struct fuse_out_header) != ohead->len) {
-		DEBUG_MSG("Format error: body size differs from size claimed by header\n");
+		DEBUG("Format error: body size differs from size claimed by header\n");
 		return (EINVAL);
 	}
 
 	if (uio->uio_resid && ohead->error) {
-		DEBUG_MSG("Format error: non zero error but message had a body\n");
+		DEBUG("Format error: non zero error but message had a body\n");
 		return (EINVAL);
 	}
 
@@ -380,22 +383,19 @@
 static int
 fuse_device_write(struct cdev *dev, struct uio *uio, int ioflag)
 {
-#if _DEBUG_MSG
-	static int counter=0;
-#endif
 	struct fuse_out_header ohead;
 	int err = 0;
 	struct fuse_data *data;
 	struct fuse_ticket *tick, *x_tick;
 	int found = 0;
 
-	DEBUG_MSG("Fuse write -- No: %d, resid: %d, iovcnt: %d, thread: %d\n",
-		++counter, uio->uio_resid, uio->uio_iovcnt, uio->uio_td->td_tid);
+	DEBUG("Fuse write -- resid: %zd, iovcnt: %d, thread: %d\n",
+		uio->uio_resid, uio->uio_iovcnt, uio->uio_td->td_tid);
 
 	data = fusedev_get_data(dev);
 
 	if (uio->uio_resid < sizeof(struct fuse_out_header)) {
-		DEBUG_MSG("got less than a header!\n");
+		DEBUG("got less than a header!\n");
 		fdata_kick_set(data);
 		return (EINVAL);
 	}
@@ -421,7 +421,7 @@
 	mtx_lock(&data->aw_mtx);
 	TAILQ_FOREACH_SAFE(tick, &data->aw_head, tk_aw_link,
 	                   x_tick) {
-		DEBUG_MSG("bumped into callback #%llu\n",
+		DEBUG("bumped into callback #%llu\n",
                          (unsigned long long)tick->tk_unique);
 		if (tick->tk_unique == ohead.unique) {
 			found = 1;
@@ -442,10 +442,10 @@
 			 */
 			memcpy(&tick->tk_aw_ohead, &ohead, sizeof(ohead));
 			err = tick->tk_aw_handler(tick, uio);
-			DEBUG_MSG("stuff been passed over to a callback\n");
+			DEBUG("stuff been passed over to a callback\n");
 		} else {
 			/* pretender doesn't wanna do anything with answer */
-			DEBUG_MSG("stuff devalidated, so we drop it\n");
+			DEBUG("stuff devalidated, so we drop it\n");
 			fuse_ticket_drop(tick);
 			return (err);
 		}
@@ -471,7 +471,7 @@
 		 *       		  would be the place for such a thing),
 		 *       		   which is just nonsense.
 		 */
-		DEBUG_MSG("erhm, no handler for this response\n");
+		DEBUG("erhm, no handler for this response\n");
 
 		fdata_kick_set(data);
 		return (EINVAL);

==== //depot/projects/soc2011/ilya_fuse/fuse_module/fuse_file.c#4 (text+ko) ====

@@ -29,6 +29,9 @@
 #include "fuse_ipc.h"
 #include "fuse_node.h"
 
+#define FUSE_DEBUG_MODULE FILE
+#include "fuse_debug.h"
+
 static uint64_t fuse_fh_upcall_count = 0;
 SYSCTL_QUAD(_vfs_fuse, OID_AUTO, fh_upcall_count, CTLFLAG_RD,
             &fuse_fh_upcall_count, 0, "");

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

@@ -41,6 +41,9 @@
 #include "fuse_file.h"
 #include "fuse_param.h"
 
+#define FUSE_DEBUG_MODULE INTERNAL
+#include "fuse_debug.h"
+
 #ifdef ZERO_PAD_INCOMPLETE_BUFS
 static int isbzero(void *buf, size_t len);
 #endif
@@ -474,7 +477,7 @@
                                    size_t bufsize,
                                    struct fuse_dispatcher *fdip)
 {
-    debug_printf("fdip=%p, context=%p\n", fdip, context);
+    debug_printf("fdip=%p\n", fdip);
 
     fdip->iosize = bufsize + cnp->cn_namelen + 1;
 
@@ -572,8 +575,8 @@
 {
     struct fuse_forget_in *ffi;
 
-    debug_printf("mp=%p, nodeid=%llx, nlookup=%lld, fdip=%p\n",
-                 mp, nodeid, nlookup, fdip);
+    debug_printf("mp=%p, nodeid=%jd, nlookup=%jd, fdip=%p\n",
+                 mp, (uintmax_t)nodeid, (uintmax_t)nlookup, fdip);
 
     /*
      * KASSERT(nlookup > 0, ("zero-times forget for vp #%llu",

==== //depot/projects/soc2011/ilya_fuse/fuse_module/fuse_internal.h#11 (text+ko) ====

@@ -114,7 +114,8 @@
                            struct fuse_attr *fat,
                            struct vattr *vap)
 {
-    DEBUG("node #%llu, mode 0%o\n", (unsigned long long)fat->ino, fat->mode);
+    DEBUGX(FUSE_DEBUG_INTERNAL,
+        "node #%ju, mode 0%o\n", (uintmax_t)fat->ino, fat->mode);
 
     vattr_null(vap);
 
@@ -222,20 +223,24 @@
 int
 fuse_internal_checkentry(struct fuse_entry_out *feo, enum vtype vtyp)
 {
-    debug_printf("feo=%p, vtype=%d\n", feo, vtyp);
+    DEBUGX(FUSE_DEBUG_INTERNAL,
+        "feo=%p, vtype=%d\n", feo, vtyp);
 
     if (vtyp != IFTOVT(feo->attr.mode)) {
-        debug_printf("EINVAL -- %x != %x\n", vtype, IFTOVT(feo->attr.mode));
+        DEBUGX(FUSE_DEBUG_INTERNAL,
+            "EINVAL -- %x != %x\n", vtyp, IFTOVT(feo->attr.mode));
         return (EINVAL);
     }
 
     if (feo->nodeid == FUSE_NULL_ID) {
-        debug_printf("EINVAL -- feo->nodeid is NULL\n");
+        DEBUGX(FUSE_DEBUG_INTERNAL,
+            "EINVAL -- feo->nodeid is NULL\n");
         return (EINVAL);
     }
 
     if (feo->nodeid == FUSE_ROOT_ID) {
-        debug_printf("EINVAL -- feo->nodeid is FUSE_ROOT_ID\n");
+        DEBUGX(FUSE_DEBUG_INTERNAL,
+            "EINVAL -- feo->nodeid is FUSE_ROOT_ID\n");
         return (EINVAL);
     }
 

==== //depot/projects/soc2011/ilya_fuse/fuse_module/fuse_io.c#10 (text+ko) ====

@@ -41,6 +41,9 @@
 #include "fuse_ipc.h"
 #include "fuse_io.h"
 
+#define FUSE_DEBUG_MODULE IO
+#include "fuse_debug.h"
+
 static int fuse_read_directbackend(struct fuse_io_data *fioda);
 static int fuse_io_p2p(struct fuse_io_data *fioda, struct fuse_dispatcher *fdip);
 static int fuse_read_biobackend(struct fuse_io_data *fioda);
@@ -140,21 +143,21 @@
         fioda.buffeater = fuse_std_buffeater;
 
         if (directio) {
-            DEBUG2G("direct read of vnode %llu via file handle %llu\n",
-                VTOILLU(vp), (unsigned long long)fufh->fh_id);
+            DEBUG2G("direct read of vnode %ju via file handle %ju\n",
+                (uintmax_t)VTOILLU(vp), (uintmax_t)fufh->fh_id);
             err = fuse_read_directbackend(&fioda);
         } else {
-            DEBUG2G("buffered read of vnode %llu\n", VTOILLU(vp));
+            DEBUG2G("buffered read of vnode %ju\n", (uintmax_t)VTOILLU(vp));
             err = fuse_read_biobackend(&fioda);
         }
         break;
     case UIO_WRITE:
         if (directio) {
-            DEBUG2G("direct write of vnode %llu via file handle %llu\n",
-                VTOILLU(vp), (unsigned long long)fufh->fh_id);
+            DEBUG2G("direct write of vnode %ju via file handle %ju\n",
+                (uintmax_t)VTOILLU(vp), (uintmax_t)fufh->fh_id);
             err = fuse_write_directbackend(&fioda);
         } else {
-            DEBUG2G("buffered write of vnode %llu\n", VTOILLU(vp));
+            DEBUG2G("buffered write of vnode %ju\n", (uintmax_t)VTOILLU(vp));
             err = fuse_write_biobackend(&fioda);
         }
         break;
@@ -249,12 +252,6 @@
             bp->b_iocmd = BIO_READ;
             vfs_busy_pages(bp, 0);
             err = fuse_io_strategy(vp, bp, fufh, op);
-#if _DEBUG
-            prettyprint(bp->b_data, 48);
-            printf("\n");
-            prettyprint(bp->b_data + PAGE_SIZE, 48);
-            printf("\n");
-#endif
             if (err) {
                 brelse(bp);
                 return (err);
@@ -288,7 +285,7 @@
                 param);
         }
         brelse(bp);
-        DEBUG2G("end of turn, err %d, uio->uio_resid %d, n %d\n",
+        DEBUG2G("end of turn, err %d, uio->uio_resid %zd, n %d\n",
             err, uio->uio_resid, n);
     } while (err == 0 && uio->uio_resid > 0 && n > 0);
 
@@ -342,13 +339,13 @@
         fri->size = MIN(uio->uio_resid,
             fusefs_get_data(vp->v_mount)->max_read);
 
-        DEBUG2G("fri->fh %llu, fri->offset %d, fri->size %d\n",
-            (unsigned long long)fri->fh, (int)fri->offset, fri->size);
+        DEBUG2G("fri->fh %ju, fri->offset %ju, fri->size %ju\n",
+            (uintmax_t)fri->fh, (uintmax_t)fri->offset, (uintmax_t)fri->size);
         if ((err = fdisp_wait_answ(&fdi)))
             goto out;
 
-        DEBUG2G("%d bytes asked for from offset %d, passing on the %d we got\n",
-            uio->uio_resid, (int)uio->uio_offset, (int)fdi.iosize);
+        DEBUG2G("%zd bytes asked for from offset %ju, passing on the %jd we got\n",
+            uio->uio_resid, (uintmax_t)uio->uio_offset, (uintmax_t)fdi.iosize);
 
         if ((err = buffe(uio, fri->size, fdi.answ, fdi.iosize, param)))
             break;
@@ -433,9 +430,9 @@
             iov++;
             uio->uio_iovcnt--;
         }
-        DEBUG2G("resid %d, offset %llu, iovcnt %d, iov_len %d, "
+        DEBUG2G("resid %zd, offset %ju, iovcnt %d, iov_len %zd, "
             "transfersize %d\n",
-            uio->uio_resid, (long long unsigned)uio->uio_offset,
+            uio->uio_resid, (uintmax_t)uio->uio_offset,
             uio->uio_iovcnt, iov->iov_len, transfersize);
 
         if (transfersize < chunksize)
@@ -558,8 +555,8 @@
         on = uio->uio_offset & (biosize-1);
         n = MIN((unsigned)(biosize - on), uio->uio_resid);
 
-        DEBUG2G("lbn %d, on %d, n %d, uio offset %d, uio resid %d\n",
-            (int)lbn, on, n, (int)uio->uio_offset, uio->uio_resid);
+        DEBUG2G("lbn %ju, on %d, n %d, uio offset %ju, uio resid %zd\n",
+            (uintmax_t)lbn, on, n, (uintmax_t)uio->uio_offset, uio->uio_resid);
 
 again:
         /*
@@ -756,14 +753,14 @@
     int biosize = vp->v_mount->mnt_stat.f_iosize;
 
     if (! (vp->v_type == VREG || vp->v_type == VDIR)) {
-        DEBUG("for vnode #%llu v_type is %d, dropping\n",
-            VTOILLU(vp), vp->v_type);
+        DEBUG("for vnode #%ju v_type is %d, dropping\n",
+            (uintmax_t)VTOILLU(vp), vp->v_type);
         return (EOPNOTSUPP);
     }
 
     if (bp->b_iocmd != BIO_READ && bp->b_iocmd != BIO_WRITE) {
-        DEBUG("for vnode #%llu bio tried with biocmd %#x, dropping\n",
-            VTOILLU(vp), bp->b_iocmd);
+        DEBUG("for vnode #%ju bio tried with biocmd %#x, dropping\n",
+            (uintmax_t)VTOILLU(vp), bp->b_iocmd);
         return (EOPNOTSUPP);
     }
 
@@ -791,7 +788,8 @@
     }
     fufh->fufh_flags |= FUFH_STRATEGY;
 
-    DEBUG2G("vp #%llu, fufh #%llu\n", VTOILLU(vp), (unsigned long long)fufh->fh_id);
+    DEBUG2G("vp #%ju, fufh #%ju\n",
+	(uintmax_t)VTOILLU(vp), (uintmax_t)fufh->fh_id);
 
     fdisp_init(&fdi, 0);
 

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

@@ -28,6 +28,9 @@
 #include "fuse_ipc.h"
 #include "fuse_internal.h"
 
+#define FUSE_DEBUG_MODULE IPC
+#include "fuse_debug.h"
+
 static struct fuse_ticket *fticket_alloc(struct fuse_data *data);
 static void                fticket_refresh(struct fuse_ticket *tick);
 static void                fticket_destroy(struct fuse_ticket *tick);
@@ -73,7 +76,7 @@
 void
 fiov_init(struct fuse_iov *fiov, size_t size)
 {
-    debug_printf("fiov=%p, size=%x\n", fiov, size);
+    debug_printf("fiov=%p, size=%zd\n", fiov, size);
 
     fiov->len = 0;
     fiov->base = malloc(FU_AT_LEAST(size), M_FUSEMSG, M_WAITOK | M_ZERO);
@@ -92,7 +95,7 @@
 void
 fiov_adjust(struct fuse_iov *fiov, size_t size)
 {
-    debug_printf("fiov=%p, size=%x\n", fiov, size);
+    debug_printf("fiov=%p, size=%zd\n", fiov, size);
 
     if (fiov->allocated_size < size ||
         (fuse_iov_permanent_bufsize >= 0 &&
@@ -248,7 +251,7 @@
             fiov_adjust(fticket_resp(tick), len);
             err = uiomove(fticket_resp(tick)->base, len, uio);
             if (err) {
-                debug_printf("FT_A_FIOV: error is %d (%p, %d, %p)\n",
+                debug_printf("FT_A_FIOV: error is %d (%p, %zd, %p)\n",
                              err, fticket_resp(tick)->base, len, uio);
             }
             break;
@@ -257,7 +260,7 @@
             tick->tk_aw_bufsize = len;
             err = uiomove(tick->tk_aw_bufdata, len, uio);
             if (err) {
-                debug_printf("FT_A_BUF: error is %d (%p, %d, %p)\n",
+                debug_printf("FT_A_BUF: error is %d (%p, %zd, %p)\n",
                              err, tick->tk_aw_bufdata, len, uio);
             }
             break;
@@ -294,7 +297,7 @@
 {
     struct fuse_data *data;
 
-    debug_printf("fdev=%p, p=%p\n", fdev, p);
+    debug_printf("fdev=%p\n", fdev);
 
     data = malloc(sizeof(struct fuse_data), M_FUSEMSG, M_WAITOK | M_ZERO);
 
@@ -304,7 +307,7 @@
     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);
+    debug_printf("ALLOC_INIT data=%p ticket_mtx=%p\n", data, &data->ticket_mtx);
     STAILQ_INIT(&data->freetickets_head);
     TAILQ_INIT(&data->alltickets_head);
     mtx_init(&data->aw_mtx, "fuse answer list mutex", NULL, MTX_DEF);
@@ -558,7 +561,7 @@
     int err = 0;
     enum fuse_opcode opcode;
 
-    debug_printf("tick=%p, blen = %x\n", tick, blen);
+    debug_printf("tick=%p, blen = %zu\n", tick, blen);
 
     opcode = fticket_opcode(tick);
 
@@ -740,8 +743,8 @@
     ihead->nodeid = nid;
     ihead->opcode = op;
 
-    debug_printf("ihead=%p, tick=%p, nid=%llx, op=%d, blen=%x, context=%p\n",
-                 ihead, tick, nid, op, blen, context);
+    debug_printf("ihead=%p, tick=%p, nid=%ju, op=%d, blen=%zu\n",
+                 ihead, tick, (uintmax_t)nid, op, blen);
 
     ihead->pid = pid;
     ihead->uid = cred->cr_uid;
@@ -797,8 +800,8 @@
 {
     struct fuse_data *data = fusefs_get_data(mp);
 
-    debug_printf("fdip=%p, op=%d, mp=%p, nid=%llx, context=%p\n",
-                 op, mp, nid, context);
+    debug_printf("fdip=%p, op=%d, mp=%p, nid=%ju\n",
+                 fdip, op, mp, (uintmax_t)nid);
 
     if (fdip->tick) {
         fticket_refresh(fdip->tick);
@@ -836,7 +839,7 @@
               struct thread *td,
               struct ucred *cred)
 {
-    debug_printf("fdip=%p, op=%d, vp=%p, context=%p\n", fdip, op, vp, context);
+    debug_printf("fdip=%p, op=%d, vp=%p\n", fdip, op, vp);
     RECTIFY_TDCR(td, cred);
     return (fdisp_make_pid(fdip, op, vnode_mount(vp), VTOI(vp),
             td->td_proc->p_pid, cred));

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

@@ -69,35 +69,35 @@
 static __inline struct fuse_iov *
 fticket_resp(struct fuse_ticket *tick)
 {
-    kdebug_printf("-> tick=%p\n", tick);
+    DEBUGX(FUSE_DEBUG_IPC, "-> tick=%p\n", tick);
     return (&tick->tk_aw_fiov);
 }
 
 static __inline int
 fticket_answered(struct fuse_ticket *tick)
 {
-    kdebug_printf("-> tick=%p\n", tick);
+    DEBUGX(FUSE_DEBUG_IPC, "-> tick=%p\n", tick);
     return (tick->tk_flag & FT_ANSW);
 }
 
 static __inline void
 fticket_set_answered(struct fuse_ticket *tick)
 {
-    kdebug_printf("-> tick=%p\n", tick);
+    DEBUGX(FUSE_DEBUG_IPC, "-> tick=%p\n", tick);
     tick->tk_flag |= FT_ANSW;
 }
 
 static __inline enum fuse_opcode
 fticket_opcode(struct fuse_ticket *tick)
 {
-    kdebug_printf("-> tick=%p\n", tick);
+    DEBUGX(FUSE_DEBUG_IPC, "-> tick=%p\n", tick);
     return (((struct fuse_in_header *)(tick->tk_ms_fiov.base))->opcode);
 }
 
 static __inline void
 fticket_invalidate(struct fuse_ticket *tick)
 {
-    kdebug_printf("-> tick=%p\n", tick);
+    DEBUGX(FUSE_DEBUG_IPC, "-> tick=%p\n", tick);
     tick->tk_flag |= FT_INVAL;
 }
 
@@ -171,14 +171,14 @@
 fusefs_get_data(struct mount *mp)
 {
     struct fuse_data *data = mp->mnt_data;
-    kdebug_printf("-> mp=%p\n", mp);
+    DEBUGX(FUSE_DEBUG_IPC, "-> mp=%p\n", mp);
     return (data->mpri == FM_PRIMARY ? data : NULL);
 }
 
 static __inline void
 fuse_ms_push(struct fuse_ticket *tick)
 {
-    kdebug_printf("-> tick=%p\n", tick);
+    DEBUGX(FUSE_DEBUG_IPC, "-> tick=%p\n", tick);
     STAILQ_INSERT_TAIL(&tick->tk_data->ms_head, tick, tk_ms_link);
 }
 
@@ -187,7 +187,7 @@
 {
     struct fuse_ticket *tick;
 
-    kdebug_printf("-> data=%p\n", data);
+    DEBUGX(FUSE_DEBUG_IPC, "-> data=%p\n", data);
 
     if ((tick = STAILQ_FIRST(&data->ms_head))) {
         STAILQ_REMOVE_HEAD(&data->ms_head, tk_ms_link);
@@ -199,14 +199,14 @@
 static __inline void
 fuse_aw_push(struct fuse_ticket *tick)
 {
-    kdebug_printf("-> tick=%p\n", tick);
+    DEBUGX(FUSE_DEBUG_IPC, "-> tick=%p\n", tick);
     TAILQ_INSERT_TAIL(&tick->tk_data->aw_head, tick, tk_aw_link);
 }
 
 static __inline void
 fuse_aw_remove(struct fuse_ticket *tick)
 {
-    kdebug_printf("-> tick=%p\n", tick);
+    DEBUGX(FUSE_DEBUG_IPC, "-> tick=%p\n", tick);
     TAILQ_REMOVE(&tick->tk_data->aw_head, tick, tk_aw_link);
 }
 
@@ -215,7 +215,7 @@
 {
     struct fuse_ticket *tick;
 
-    kdebug_printf("-> data=%p\n", data);
+    DEBUGX(FUSE_DEBUG_IPC, "-> data=%p\n", data);
 
     if ((tick = TAILQ_FIRST(&data->aw_head))) {
         fuse_aw_remove(tick);
@@ -273,7 +273,7 @@
 static __inline void
 fdisp_init(struct fuse_dispatcher *fdisp, size_t iosize)
 {
-    kdebug_printf("-> fdisp=%p, iosize=%x\n", fdisp, iosize);
+    DEBUGX(FUSE_DEBUG_IPC, "-> fdisp=%p, iosize=%zx\n", fdisp, iosize);
     fdisp->iosize = iosize;
     fdisp->tick = NULL;
 }
@@ -296,7 +296,7 @@
 fdisp_simple_putget_vp(struct fuse_dispatcher *fdip, enum fuse_opcode op,
                     struct vnode *vp, struct thread *td, struct ucred *cred)
 {
-    kdebug_printf("-> fdip=%p, opcode=%d, vp=%p\n", fdip, op, vp);
+    DEBUGX(FUSE_DEBUG_IPC, "-> fdip=%p, opcode=%d, vp=%p\n", fdip, op, vp);
     fdisp_init(fdip, 0);
     fdisp_make_vp(fdip, op, vp, td, cred);
     return (fdisp_wait_answ(fdip));

==== //depot/projects/soc2011/ilya_fuse/fuse_module/fuse_main.c#6 (text+ko) ====

@@ -115,7 +115,8 @@
 		KASSERT(fuse_useco >= 0,
 		        ("fuse_useco is negative: %d", fuse_useco));
 		if (fuse_useco > 0) {
-			DEBUG2G("fuse_useco %d\n", fuse_useco);
+			DEBUGX(FUSE_DEBUG_INTERNAL,
+                            "fuse_useco %d\n", fuse_useco);
 		        return (EBUSY);
 		}
 

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

@@ -34,6 +34,9 @@
 #include <sys/priv.h>
 #include <security/mac/mac_framework.h>
 
+#define FUSE_DEBUG_MODULE VNOPS
+#include "fuse_debug.h"
+
 MALLOC_DEFINE(M_FUSEVN, "fuse_vnode", "fuse vnode private data");
 
 static void

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

@@ -29,6 +29,8 @@
 #include <sys/priv.h>
 #include <security/mac/mac_framework.h>
 
+#define FUSE_DEBUG_MODULE VFSOPS
+#include "fuse_debug.h"
 
 /* This will do for privilege types for now */
 #ifndef PRIV_VFS_FUSE_ALLOWOTHER

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

@@ -46,6 +46,9 @@
 
 #include <sys/priv.h>
 
+#define FUSE_DEBUG_MODULE VNOPS
+#include "fuse_debug.h"
+
 /* vnode ops */
 static vop_access_t   fuse_vnop_access;
 static vop_close_t    fuse_vnop_close;
@@ -242,7 +245,7 @@
         goto good_old;
     }
 
-    debug_printf("parent nid = %llu, mode = %x\n", parentnid, mode);
+    debug_printf("parent nid = %ju, mode = %x\n", (uintmax_t)parentnid, mode);
 
     fdisp_init(fdip, sizeof(*foi) + cnp->cn_namelen + 1);
     if (fusefs_get_data(vnode_mount(dvp))->dataflag & FSESS_NOCREATE) {



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