]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
kclient: adjust debug levels, add debug_console mount option
authorSage Weil <sage@newdream.net>
Thu, 24 Apr 2008 18:03:37 +0000 (11:03 -0700)
committerSage Weil <sage@newdream.net>
Thu, 24 Apr 2008 18:03:37 +0000 (11:03 -0700)
src/kernel/inode.c
src/kernel/super.c
src/kernel/super.h

index 58fee85bf40797b190bb456e991dcc0dfc83970f..62c031c35c2c5cc241f96340ad5c26ef87bd51c2 100644 (file)
@@ -694,11 +694,11 @@ int __ceph_caps_issued(struct ceph_inode_info *ci)
        list_for_each(p, &ci->i_caps) {
                cap = list_entry(p, struct ceph_inode_cap, ci_caps);
                if (time_after(jiffies, cap->session->s_cap_ttl)) {
-                       dout(20, "__ceph_caps_issued %p cap %p issued %d "
+                       dout(30, "__ceph_caps_issued %p cap %p issued %d "
                             "but STALE\n", &ci->vfs_inode, cap, cap->issued);
                        continue;
                }
-               dout(20, "__ceph_caps_issued %p cap %p issued %d\n",
+               dout(30, "__ceph_caps_issued %p cap %p issued %d\n",
                     &ci->vfs_inode, cap, cap->issued);
                have |= cap->issued;
        }
@@ -712,7 +712,7 @@ void __ceph_remove_cap(struct ceph_inode_cap *cap)
 {
        struct ceph_mds_session *session = cap->session;
 
-       dout(10, "__ceph_remove_cap %p from %p\n", cap, &cap->ci->vfs_inode);
+       dout(20, "__ceph_remove_cap %p from %p\n", cap, &cap->ci->vfs_inode);
 
        /* remove from session list */
        list_del_init(&cap->session_caps);
@@ -914,7 +914,7 @@ void ceph_inode_set_size(struct inode *inode, loff_t size)
        struct ceph_inode_info *ci = ceph_inode(inode);
 
        spin_lock(&inode->i_lock);
-       dout(20, "set_size %p %llu -> %llu\n", inode, inode->i_size, size);
+       dout(30, "set_size %p %llu -> %llu\n", inode, inode->i_size, size);
        inode->i_size = size;
        inode->i_blocks = (size + (1 << inode->i_blkbits) - 1) >>
                inode->i_blkbits;
@@ -1178,14 +1178,14 @@ static void __take_cap_refs(struct ceph_inode_info *ci, int got)
                ci->i_wr_ref++;
        if (got & CEPH_CAP_WRBUFFER) {
                ci->i_wrbuffer_ref++;
-               dout(20, "__take_cap_refs %p wrbuffer %d -> %d\n",
+               dout(30, "__take_cap_refs %p wrbuffer %d -> %d\n",
                     &ci->vfs_inode, ci->i_wrbuffer_ref-1, ci->i_wrbuffer_ref);
        }
 }
 
 void ceph_take_cap_refs(struct ceph_inode_info *ci, int got)
 {
-       dout(20, "take_cap_refs on %p taking %d\n", &ci->vfs_inode, got);
+       dout(30, "take_cap_refs on %p taking %d\n", &ci->vfs_inode, got);
        spin_lock(&ci->vfs_inode.i_lock);
        __take_cap_refs(ci, got);
        spin_unlock(&ci->vfs_inode.i_lock);
@@ -1197,7 +1197,7 @@ int ceph_get_cap_refs(struct ceph_inode_info *ci, int need, int want, int *got,
        int ret = 0;
        int have;
 
-       dout(10, "get_cap_refs on %p need %d want %d\n", &ci->vfs_inode,
+       dout(30, "get_cap_refs on %p need %d want %d\n", &ci->vfs_inode,
             need, want);
        spin_lock(&ci->vfs_inode.i_lock);
        if (offset >= 0 && offset >= (loff_t)ci->i_max_size) {
@@ -1206,7 +1206,7 @@ int ceph_get_cap_refs(struct ceph_inode_info *ci, int need, int want, int *got,
                goto sorry;
        }
        have = __ceph_caps_issued(ci);
-       dout(20, "get_cap_refs have %d\n", have);
+       dout(30, "get_cap_refs have %d\n", have);
        if ((have & need) == need) {
                *got = need | (have & want);
                __take_cap_refs(ci, *got);
@@ -1214,7 +1214,7 @@ int ceph_get_cap_refs(struct ceph_inode_info *ci, int need, int want, int *got,
        }
 sorry:
        spin_unlock(&ci->vfs_inode.i_lock);
-       dout(10, "get_cap_refs on %p ret %d got %d\n", &ci->vfs_inode,
+       dout(30, "get_cap_refs on %p ret %d got %d\n", &ci->vfs_inode,
             ret, *got);
        return ret;
 }
@@ -1236,12 +1236,12 @@ void ceph_put_cap_refs(struct ceph_inode_info *ci, int had)
        if (had & CEPH_CAP_WRBUFFER) {
                if (--ci->i_wrbuffer_ref == 0)
                        last++;
-               dout(10, "put_cap_refs %p wrbuffer %d -> %d\n",
+               dout(30, "put_cap_refs %p wrbuffer %d -> %d\n",
                     &ci->vfs_inode, ci->i_wrbuffer_ref+1,ci->i_wrbuffer_ref);
        }
        spin_unlock(&ci->vfs_inode.i_lock);
 
-       dout(10, "put_cap_refs on %p had %d %s\n", &ci->vfs_inode, had,
+       dout(30, "put_cap_refs on %p had %d %s\n", &ci->vfs_inode, had,
             last ? "last":"");
 
        if (last)
@@ -1258,7 +1258,7 @@ void ceph_put_wrbuffer_cap_refs(struct ceph_inode_info *ci, int nr)
        BUG_ON(ci->i_wrbuffer_ref < 0);
        spin_unlock(&ci->vfs_inode.i_lock);
 
-       dout(10, "put_wrbuffer_cap_refs on %p %d -> %d%s\n",
+       dout(30, "put_wrbuffer_cap_refs on %p %d -> %d%s\n",
             &ci->vfs_inode, last+nr, last, last == 0 ? " LAST":"");
 
        if (last == 0)
index 3537e97e3e905b62974fecd4f84fa60a2a5de177..8b7dacbdd198f11a98be5c709867ac0f232ab74b 100644 (file)
  */
 int ceph_debug = 1;
 
+/*
+ * if true, send output to KERN_INFO (console) instead of KERN_DEBUG.
+ */
+int ceph_debug_console;
+
 /* for this file */
 int ceph_debug_super = -1;
 
@@ -215,6 +220,7 @@ enum {
        Opt_fsidmajor,
        Opt_fsidminor,
        Opt_debug,
+       Opt_debug_console,
        Opt_debug_msgr,
        Opt_debug_tcp,
        Opt_debug_mdsc,
@@ -243,6 +249,7 @@ static match_table_t arg_tokens = {
        {Opt_osdtimeout, "osdtimeout=%d"},
        /* int args above */
        {Opt_ip, "ip=%s"},
+       {Opt_debug_console, "debug_console"},
        {-1, NULL}
 };
 
@@ -388,6 +395,9 @@ static int parse_mount_args(int flags, char *options, const char *dev_name,
                case Opt_debug_addr:
                        ceph_debug_addr = intval;
                        break;
+               case Opt_debug_console:
+                       ceph_debug_console = 1;
+                       break;
 
                        /* misc */
                case Opt_wsize:
index 97595cda41adfb72d185374d313530e1a99776ec..e8e68a4d29384c43215fe1d02c96b49c1ab14ede 100644 (file)
@@ -13,6 +13,7 @@
 #include "mds_client.h"
 #include "osd_client.h"
 
+extern int ceph_debug_console;
 extern int ceph_debug;
 extern int ceph_debug_msgr;
 extern int ceph_debug_super;
@@ -23,12 +24,14 @@ extern int ceph_debug_addr;
 
 #define CEPH_DUMP_ERROR_ALWAYS
 
-#define DEBUG_TO KERN_DEBUG
-
 #define dout(x, args...) do {                                          \
                if ((DOUT_VAR >= 0 && x <= DOUT_VAR) ||                 \
-                   (DOUT_VAR < 0 && x <= ceph_debug))                  \
-                       printk(DEBUG_TO "ceph_" DOUT_PREFIX args); \
+                   (DOUT_VAR < 0 && x <= ceph_debug)) {                \
+                       if (ceph_debug_console)                         \
+                               printk(KERN_INFO "ceph_" DOUT_PREFIX args); \
+                       else                                            \
+                               printk(KERN_DEBUG "ceph_" DOUT_PREFIX args); \
+               }                                                       \
        } while (0)
 
 #ifdef CEPH_DUMP_ERROR_ALWAYS