diff options
Diffstat (limited to 'fs/ocfs2/cluster')
-rw-r--r-- | fs/ocfs2/cluster/heartbeat.c | 13 | ||||
-rw-r--r-- | fs/ocfs2/cluster/masklog.c | 3 | ||||
-rw-r--r-- | fs/ocfs2/cluster/masklog.h | 7 | ||||
-rw-r--r-- | fs/ocfs2/cluster/netdebug.c | 8 | ||||
-rw-r--r-- | fs/ocfs2/cluster/nodemanager.c | 52 | ||||
-rw-r--r-- | fs/ocfs2/cluster/nodemanager.h | 7 | ||||
-rw-r--r-- | fs/ocfs2/cluster/quorum.c | 17 | ||||
-rw-r--r-- | fs/ocfs2/cluster/tcp.c | 14 | ||||
-rw-r--r-- | fs/ocfs2/cluster/tcp_internal.h | 4 |
9 files changed, 100 insertions, 25 deletions
diff --git a/fs/ocfs2/cluster/heartbeat.c b/fs/ocfs2/cluster/heartbeat.c index c452d116b892..41d5f1f92d56 100644 --- a/fs/ocfs2/cluster/heartbeat.c +++ b/fs/ocfs2/cluster/heartbeat.c | |||
@@ -34,6 +34,7 @@ | |||
34 | #include <linux/crc32.h> | 34 | #include <linux/crc32.h> |
35 | #include <linux/time.h> | 35 | #include <linux/time.h> |
36 | #include <linux/debugfs.h> | 36 | #include <linux/debugfs.h> |
37 | #include <linux/slab.h> | ||
37 | 38 | ||
38 | #include "heartbeat.h" | 39 | #include "heartbeat.h" |
39 | #include "tcp.h" | 40 | #include "tcp.h" |
@@ -78,7 +79,7 @@ static struct o2hb_callback *hbcall_from_type(enum o2hb_callback_type type); | |||
78 | 79 | ||
79 | unsigned int o2hb_dead_threshold = O2HB_DEFAULT_DEAD_THRESHOLD; | 80 | unsigned int o2hb_dead_threshold = O2HB_DEFAULT_DEAD_THRESHOLD; |
80 | 81 | ||
81 | /* Only sets a new threshold if there are no active regions. | 82 | /* Only sets a new threshold if there are no active regions. |
82 | * | 83 | * |
83 | * No locking or otherwise interesting code is required for reading | 84 | * No locking or otherwise interesting code is required for reading |
84 | * o2hb_dead_threshold as it can't change once regions are active and | 85 | * o2hb_dead_threshold as it can't change once regions are active and |
@@ -170,13 +171,14 @@ static void o2hb_write_timeout(struct work_struct *work) | |||
170 | 171 | ||
171 | mlog(ML_ERROR, "Heartbeat write timeout to device %s after %u " | 172 | mlog(ML_ERROR, "Heartbeat write timeout to device %s after %u " |
172 | "milliseconds\n", reg->hr_dev_name, | 173 | "milliseconds\n", reg->hr_dev_name, |
173 | jiffies_to_msecs(jiffies - reg->hr_last_timeout_start)); | 174 | jiffies_to_msecs(jiffies - reg->hr_last_timeout_start)); |
174 | o2quo_disk_timeout(); | 175 | o2quo_disk_timeout(); |
175 | } | 176 | } |
176 | 177 | ||
177 | static void o2hb_arm_write_timeout(struct o2hb_region *reg) | 178 | static void o2hb_arm_write_timeout(struct o2hb_region *reg) |
178 | { | 179 | { |
179 | mlog(0, "Queue write timeout for %u ms\n", O2HB_MAX_WRITE_TIMEOUT_MS); | 180 | mlog(ML_HEARTBEAT, "Queue write timeout for %u ms\n", |
181 | O2HB_MAX_WRITE_TIMEOUT_MS); | ||
180 | 182 | ||
181 | cancel_delayed_work(®->hr_write_timeout_work); | 183 | cancel_delayed_work(®->hr_write_timeout_work); |
182 | reg->hr_last_timeout_start = jiffies; | 184 | reg->hr_last_timeout_start = jiffies; |
@@ -623,7 +625,7 @@ static int o2hb_check_slot(struct o2hb_region *reg, | |||
623 | "seq %llu last %llu changed %u equal %u\n", | 625 | "seq %llu last %llu changed %u equal %u\n", |
624 | slot->ds_node_num, (long long)slot->ds_last_generation, | 626 | slot->ds_node_num, (long long)slot->ds_last_generation, |
625 | le32_to_cpu(hb_block->hb_cksum), | 627 | le32_to_cpu(hb_block->hb_cksum), |
626 | (unsigned long long)le64_to_cpu(hb_block->hb_seq), | 628 | (unsigned long long)le64_to_cpu(hb_block->hb_seq), |
627 | (unsigned long long)slot->ds_last_time, slot->ds_changed_samples, | 629 | (unsigned long long)slot->ds_last_time, slot->ds_changed_samples, |
628 | slot->ds_equal_samples); | 630 | slot->ds_equal_samples); |
629 | 631 | ||
@@ -874,7 +876,8 @@ static int o2hb_thread(void *data) | |||
874 | do_gettimeofday(&after_hb); | 876 | do_gettimeofday(&after_hb); |
875 | elapsed_msec = o2hb_elapsed_msecs(&before_hb, &after_hb); | 877 | elapsed_msec = o2hb_elapsed_msecs(&before_hb, &after_hb); |
876 | 878 | ||
877 | mlog(0, "start = %lu.%lu, end = %lu.%lu, msec = %u\n", | 879 | mlog(ML_HEARTBEAT, |
880 | "start = %lu.%lu, end = %lu.%lu, msec = %u\n", | ||
878 | before_hb.tv_sec, (unsigned long) before_hb.tv_usec, | 881 | before_hb.tv_sec, (unsigned long) before_hb.tv_usec, |
879 | after_hb.tv_sec, (unsigned long) after_hb.tv_usec, | 882 | after_hb.tv_sec, (unsigned long) after_hb.tv_usec, |
880 | elapsed_msec); | 883 | elapsed_msec); |
diff --git a/fs/ocfs2/cluster/masklog.c b/fs/ocfs2/cluster/masklog.c index 1cd2934de615..3bb928a2bf7d 100644 --- a/fs/ocfs2/cluster/masklog.c +++ b/fs/ocfs2/cluster/masklog.c | |||
@@ -112,6 +112,7 @@ static struct mlog_attribute mlog_attrs[MLOG_MAX_BITS] = { | |||
112 | define_mask(XATTR), | 112 | define_mask(XATTR), |
113 | define_mask(QUOTA), | 113 | define_mask(QUOTA), |
114 | define_mask(REFCOUNT), | 114 | define_mask(REFCOUNT), |
115 | define_mask(BASTS), | ||
115 | define_mask(ERROR), | 116 | define_mask(ERROR), |
116 | define_mask(NOTICE), | 117 | define_mask(NOTICE), |
117 | define_mask(KTHREAD), | 118 | define_mask(KTHREAD), |
@@ -135,7 +136,7 @@ static ssize_t mlog_store(struct kobject *obj, struct attribute *attr, | |||
135 | return mlog_mask_store(mlog_attr->mask, buf, count); | 136 | return mlog_mask_store(mlog_attr->mask, buf, count); |
136 | } | 137 | } |
137 | 138 | ||
138 | static struct sysfs_ops mlog_attr_ops = { | 139 | static const struct sysfs_ops mlog_attr_ops = { |
139 | .show = mlog_show, | 140 | .show = mlog_show, |
140 | .store = mlog_store, | 141 | .store = mlog_store, |
141 | }; | 142 | }; |
diff --git a/fs/ocfs2/cluster/masklog.h b/fs/ocfs2/cluster/masklog.h index 9b4d11726cf2..3dfddbec32f2 100644 --- a/fs/ocfs2/cluster/masklog.h +++ b/fs/ocfs2/cluster/masklog.h | |||
@@ -114,6 +114,7 @@ | |||
114 | #define ML_XATTR 0x0000000020000000ULL /* ocfs2 extended attributes */ | 114 | #define ML_XATTR 0x0000000020000000ULL /* ocfs2 extended attributes */ |
115 | #define ML_QUOTA 0x0000000040000000ULL /* ocfs2 quota operations */ | 115 | #define ML_QUOTA 0x0000000040000000ULL /* ocfs2 quota operations */ |
116 | #define ML_REFCOUNT 0x0000000080000000ULL /* refcount tree operations */ | 116 | #define ML_REFCOUNT 0x0000000080000000ULL /* refcount tree operations */ |
117 | #define ML_BASTS 0x0000001000000000ULL /* dlmglue asts and basts */ | ||
117 | /* bits that are infrequently given and frequently matched in the high word */ | 118 | /* bits that are infrequently given and frequently matched in the high word */ |
118 | #define ML_ERROR 0x0000000100000000ULL /* sent to KERN_ERR */ | 119 | #define ML_ERROR 0x0000000100000000ULL /* sent to KERN_ERR */ |
119 | #define ML_NOTICE 0x0000000200000000ULL /* setn to KERN_NOTICE */ | 120 | #define ML_NOTICE 0x0000000200000000ULL /* setn to KERN_NOTICE */ |
@@ -194,9 +195,9 @@ extern struct mlog_bits mlog_and_bits, mlog_not_bits; | |||
194 | * previous token if args expands to nothing. | 195 | * previous token if args expands to nothing. |
195 | */ | 196 | */ |
196 | #define __mlog_printk(level, fmt, args...) \ | 197 | #define __mlog_printk(level, fmt, args...) \ |
197 | printk(level "(%u,%lu):%s:%d " fmt, task_pid_nr(current), \ | 198 | printk(level "(%s,%u,%lu):%s:%d " fmt, current->comm, \ |
198 | __mlog_cpu_guess, __PRETTY_FUNCTION__, __LINE__ , \ | 199 | task_pid_nr(current), __mlog_cpu_guess, \ |
199 | ##args) | 200 | __PRETTY_FUNCTION__, __LINE__ , ##args) |
200 | 201 | ||
201 | #define mlog(mask, fmt, args...) do { \ | 202 | #define mlog(mask, fmt, args...) do { \ |
202 | u64 __m = MLOG_MASK_PREFIX | (mask); \ | 203 | u64 __m = MLOG_MASK_PREFIX | (mask); \ |
diff --git a/fs/ocfs2/cluster/netdebug.c b/fs/ocfs2/cluster/netdebug.c index da794bc07a6c..a3f150e52b02 100644 --- a/fs/ocfs2/cluster/netdebug.c +++ b/fs/ocfs2/cluster/netdebug.c | |||
@@ -294,10 +294,10 @@ static int sc_seq_show(struct seq_file *seq, void *v) | |||
294 | if (sc->sc_sock) { | 294 | if (sc->sc_sock) { |
295 | inet = inet_sk(sc->sc_sock->sk); | 295 | inet = inet_sk(sc->sc_sock->sk); |
296 | /* the stack's structs aren't sparse endian clean */ | 296 | /* the stack's structs aren't sparse endian clean */ |
297 | saddr = (__force __be32)inet->saddr; | 297 | saddr = (__force __be32)inet->inet_saddr; |
298 | daddr = (__force __be32)inet->daddr; | 298 | daddr = (__force __be32)inet->inet_daddr; |
299 | sport = (__force __be16)inet->sport; | 299 | sport = (__force __be16)inet->inet_sport; |
300 | dport = (__force __be16)inet->dport; | 300 | dport = (__force __be16)inet->inet_dport; |
301 | } | 301 | } |
302 | 302 | ||
303 | /* XXX sigh, inet-> doesn't have sparse annotation so any | 303 | /* XXX sigh, inet-> doesn't have sparse annotation so any |
diff --git a/fs/ocfs2/cluster/nodemanager.c b/fs/ocfs2/cluster/nodemanager.c index 7ee6188bc79a..ed0c9f367fed 100644 --- a/fs/ocfs2/cluster/nodemanager.c +++ b/fs/ocfs2/cluster/nodemanager.c | |||
@@ -19,6 +19,7 @@ | |||
19 | * Boston, MA 021110-1307, USA. | 19 | * Boston, MA 021110-1307, USA. |
20 | */ | 20 | */ |
21 | 21 | ||
22 | #include <linux/slab.h> | ||
22 | #include <linux/kernel.h> | 23 | #include <linux/kernel.h> |
23 | #include <linux/module.h> | 24 | #include <linux/module.h> |
24 | #include <linux/configfs.h> | 25 | #include <linux/configfs.h> |
@@ -35,6 +36,10 @@ | |||
35 | * cluster references throughout where nodes are looked up */ | 36 | * cluster references throughout where nodes are looked up */ |
36 | struct o2nm_cluster *o2nm_single_cluster = NULL; | 37 | struct o2nm_cluster *o2nm_single_cluster = NULL; |
37 | 38 | ||
39 | char *o2nm_fence_method_desc[O2NM_FENCE_METHODS] = { | ||
40 | "reset", /* O2NM_FENCE_RESET */ | ||
41 | "panic", /* O2NM_FENCE_PANIC */ | ||
42 | }; | ||
38 | 43 | ||
39 | struct o2nm_node *o2nm_get_node_by_num(u8 node_num) | 44 | struct o2nm_node *o2nm_get_node_by_num(u8 node_num) |
40 | { | 45 | { |
@@ -579,6 +584,43 @@ static ssize_t o2nm_cluster_attr_reconnect_delay_ms_write( | |||
579 | return o2nm_cluster_attr_write(page, count, | 584 | return o2nm_cluster_attr_write(page, count, |
580 | &cluster->cl_reconnect_delay_ms); | 585 | &cluster->cl_reconnect_delay_ms); |
581 | } | 586 | } |
587 | |||
588 | static ssize_t o2nm_cluster_attr_fence_method_read( | ||
589 | struct o2nm_cluster *cluster, char *page) | ||
590 | { | ||
591 | ssize_t ret = 0; | ||
592 | |||
593 | if (cluster) | ||
594 | ret = sprintf(page, "%s\n", | ||
595 | o2nm_fence_method_desc[cluster->cl_fence_method]); | ||
596 | return ret; | ||
597 | } | ||
598 | |||
599 | static ssize_t o2nm_cluster_attr_fence_method_write( | ||
600 | struct o2nm_cluster *cluster, const char *page, size_t count) | ||
601 | { | ||
602 | unsigned int i; | ||
603 | |||
604 | if (page[count - 1] != '\n') | ||
605 | goto bail; | ||
606 | |||
607 | for (i = 0; i < O2NM_FENCE_METHODS; ++i) { | ||
608 | if (count != strlen(o2nm_fence_method_desc[i]) + 1) | ||
609 | continue; | ||
610 | if (strncasecmp(page, o2nm_fence_method_desc[i], count - 1)) | ||
611 | continue; | ||
612 | if (cluster->cl_fence_method != i) { | ||
613 | printk(KERN_INFO "ocfs2: Changing fence method to %s\n", | ||
614 | o2nm_fence_method_desc[i]); | ||
615 | cluster->cl_fence_method = i; | ||
616 | } | ||
617 | return count; | ||
618 | } | ||
619 | |||
620 | bail: | ||
621 | return -EINVAL; | ||
622 | } | ||
623 | |||
582 | static struct o2nm_cluster_attribute o2nm_cluster_attr_idle_timeout_ms = { | 624 | static struct o2nm_cluster_attribute o2nm_cluster_attr_idle_timeout_ms = { |
583 | .attr = { .ca_owner = THIS_MODULE, | 625 | .attr = { .ca_owner = THIS_MODULE, |
584 | .ca_name = "idle_timeout_ms", | 626 | .ca_name = "idle_timeout_ms", |
@@ -603,10 +645,19 @@ static struct o2nm_cluster_attribute o2nm_cluster_attr_reconnect_delay_ms = { | |||
603 | .store = o2nm_cluster_attr_reconnect_delay_ms_write, | 645 | .store = o2nm_cluster_attr_reconnect_delay_ms_write, |
604 | }; | 646 | }; |
605 | 647 | ||
648 | static struct o2nm_cluster_attribute o2nm_cluster_attr_fence_method = { | ||
649 | .attr = { .ca_owner = THIS_MODULE, | ||
650 | .ca_name = "fence_method", | ||
651 | .ca_mode = S_IRUGO | S_IWUSR }, | ||
652 | .show = o2nm_cluster_attr_fence_method_read, | ||
653 | .store = o2nm_cluster_attr_fence_method_write, | ||
654 | }; | ||
655 | |||
606 | static struct configfs_attribute *o2nm_cluster_attrs[] = { | 656 | static struct configfs_attribute *o2nm_cluster_attrs[] = { |
607 | &o2nm_cluster_attr_idle_timeout_ms.attr, | 657 | &o2nm_cluster_attr_idle_timeout_ms.attr, |
608 | &o2nm_cluster_attr_keepalive_delay_ms.attr, | 658 | &o2nm_cluster_attr_keepalive_delay_ms.attr, |
609 | &o2nm_cluster_attr_reconnect_delay_ms.attr, | 659 | &o2nm_cluster_attr_reconnect_delay_ms.attr, |
660 | &o2nm_cluster_attr_fence_method.attr, | ||
610 | NULL, | 661 | NULL, |
611 | }; | 662 | }; |
612 | static ssize_t o2nm_cluster_show(struct config_item *item, | 663 | static ssize_t o2nm_cluster_show(struct config_item *item, |
@@ -778,6 +829,7 @@ static struct config_group *o2nm_cluster_group_make_group(struct config_group *g | |||
778 | cluster->cl_reconnect_delay_ms = O2NET_RECONNECT_DELAY_MS_DEFAULT; | 829 | cluster->cl_reconnect_delay_ms = O2NET_RECONNECT_DELAY_MS_DEFAULT; |
779 | cluster->cl_idle_timeout_ms = O2NET_IDLE_TIMEOUT_MS_DEFAULT; | 830 | cluster->cl_idle_timeout_ms = O2NET_IDLE_TIMEOUT_MS_DEFAULT; |
780 | cluster->cl_keepalive_delay_ms = O2NET_KEEPALIVE_DELAY_MS_DEFAULT; | 831 | cluster->cl_keepalive_delay_ms = O2NET_KEEPALIVE_DELAY_MS_DEFAULT; |
832 | cluster->cl_fence_method = O2NM_FENCE_RESET; | ||
781 | 833 | ||
782 | ret = &cluster->cl_group; | 834 | ret = &cluster->cl_group; |
783 | o2nm_single_cluster = cluster; | 835 | o2nm_single_cluster = cluster; |
diff --git a/fs/ocfs2/cluster/nodemanager.h b/fs/ocfs2/cluster/nodemanager.h index c992ea0da4ad..09ea2d388bbb 100644 --- a/fs/ocfs2/cluster/nodemanager.h +++ b/fs/ocfs2/cluster/nodemanager.h | |||
@@ -33,6 +33,12 @@ | |||
33 | #include <linux/configfs.h> | 33 | #include <linux/configfs.h> |
34 | #include <linux/rbtree.h> | 34 | #include <linux/rbtree.h> |
35 | 35 | ||
36 | enum o2nm_fence_method { | ||
37 | O2NM_FENCE_RESET = 0, | ||
38 | O2NM_FENCE_PANIC, | ||
39 | O2NM_FENCE_METHODS, /* Number of fence methods */ | ||
40 | }; | ||
41 | |||
36 | struct o2nm_node { | 42 | struct o2nm_node { |
37 | spinlock_t nd_lock; | 43 | spinlock_t nd_lock; |
38 | struct config_item nd_item; | 44 | struct config_item nd_item; |
@@ -58,6 +64,7 @@ struct o2nm_cluster { | |||
58 | unsigned int cl_idle_timeout_ms; | 64 | unsigned int cl_idle_timeout_ms; |
59 | unsigned int cl_keepalive_delay_ms; | 65 | unsigned int cl_keepalive_delay_ms; |
60 | unsigned int cl_reconnect_delay_ms; | 66 | unsigned int cl_reconnect_delay_ms; |
67 | enum o2nm_fence_method cl_fence_method; | ||
61 | 68 | ||
62 | /* this bitmap is part of a hack for disk bitmap.. will go eventually. - zab */ | 69 | /* this bitmap is part of a hack for disk bitmap.. will go eventually. - zab */ |
63 | unsigned long cl_nodes_bitmap[BITS_TO_LONGS(O2NM_MAX_NODES)]; | 70 | unsigned long cl_nodes_bitmap[BITS_TO_LONGS(O2NM_MAX_NODES)]; |
diff --git a/fs/ocfs2/cluster/quorum.c b/fs/ocfs2/cluster/quorum.c index bbacf7da48a4..cf3e16696216 100644 --- a/fs/ocfs2/cluster/quorum.c +++ b/fs/ocfs2/cluster/quorum.c | |||
@@ -44,7 +44,6 @@ | |||
44 | * and if they're the last, they fire off the decision. | 44 | * and if they're the last, they fire off the decision. |
45 | */ | 45 | */ |
46 | #include <linux/kernel.h> | 46 | #include <linux/kernel.h> |
47 | #include <linux/slab.h> | ||
48 | #include <linux/workqueue.h> | 47 | #include <linux/workqueue.h> |
49 | #include <linux/reboot.h> | 48 | #include <linux/reboot.h> |
50 | 49 | ||
@@ -74,8 +73,20 @@ static void o2quo_fence_self(void) | |||
74 | * threads can still schedule, etc, etc */ | 73 | * threads can still schedule, etc, etc */ |
75 | o2hb_stop_all_regions(); | 74 | o2hb_stop_all_regions(); |
76 | 75 | ||
77 | printk("ocfs2 is very sorry to be fencing this system by restarting\n"); | 76 | switch (o2nm_single_cluster->cl_fence_method) { |
78 | emergency_restart(); | 77 | case O2NM_FENCE_PANIC: |
78 | panic("*** ocfs2 is very sorry to be fencing this system by " | ||
79 | "panicing ***\n"); | ||
80 | break; | ||
81 | default: | ||
82 | WARN_ON(o2nm_single_cluster->cl_fence_method >= | ||
83 | O2NM_FENCE_METHODS); | ||
84 | case O2NM_FENCE_RESET: | ||
85 | printk(KERN_ERR "*** ocfs2 is very sorry to be fencing this " | ||
86 | "system by restarting ***\n"); | ||
87 | emergency_restart(); | ||
88 | break; | ||
89 | }; | ||
79 | } | 90 | } |
80 | 91 | ||
81 | /* Indicate that a timeout occured on a hearbeat region write. The | 92 | /* Indicate that a timeout occured on a hearbeat region write. The |
diff --git a/fs/ocfs2/cluster/tcp.c b/fs/ocfs2/cluster/tcp.c index 334f231a422c..73e743eea2c8 100644 --- a/fs/ocfs2/cluster/tcp.c +++ b/fs/ocfs2/cluster/tcp.c | |||
@@ -72,9 +72,9 @@ | |||
72 | 72 | ||
73 | #include "tcp_internal.h" | 73 | #include "tcp_internal.h" |
74 | 74 | ||
75 | #define SC_NODEF_FMT "node %s (num %u) at %u.%u.%u.%u:%u" | 75 | #define SC_NODEF_FMT "node %s (num %u) at %pI4:%u" |
76 | #define SC_NODEF_ARGS(sc) sc->sc_node->nd_name, sc->sc_node->nd_num, \ | 76 | #define SC_NODEF_ARGS(sc) sc->sc_node->nd_name, sc->sc_node->nd_num, \ |
77 | NIPQUAD(sc->sc_node->nd_ipv4_address), \ | 77 | &sc->sc_node->nd_ipv4_address, \ |
78 | ntohs(sc->sc_node->nd_ipv4_port) | 78 | ntohs(sc->sc_node->nd_ipv4_port) |
79 | 79 | ||
80 | /* | 80 | /* |
@@ -485,7 +485,7 @@ static void o2net_set_nn_state(struct o2net_node *nn, | |||
485 | } | 485 | } |
486 | 486 | ||
487 | if (was_valid && !valid) { | 487 | if (was_valid && !valid) { |
488 | printk(KERN_INFO "o2net: no longer connected to " | 488 | printk(KERN_NOTICE "o2net: no longer connected to " |
489 | SC_NODEF_FMT "\n", SC_NODEF_ARGS(old_sc)); | 489 | SC_NODEF_FMT "\n", SC_NODEF_ARGS(old_sc)); |
490 | o2net_complete_nodes_nsw(nn); | 490 | o2net_complete_nodes_nsw(nn); |
491 | } | 491 | } |
@@ -493,7 +493,7 @@ static void o2net_set_nn_state(struct o2net_node *nn, | |||
493 | if (!was_valid && valid) { | 493 | if (!was_valid && valid) { |
494 | o2quo_conn_up(o2net_num_from_nn(nn)); | 494 | o2quo_conn_up(o2net_num_from_nn(nn)); |
495 | cancel_delayed_work(&nn->nn_connect_expired); | 495 | cancel_delayed_work(&nn->nn_connect_expired); |
496 | printk(KERN_INFO "o2net: %s " SC_NODEF_FMT "\n", | 496 | printk(KERN_NOTICE "o2net: %s " SC_NODEF_FMT "\n", |
497 | o2nm_this_node() > sc->sc_node->nd_num ? | 497 | o2nm_this_node() > sc->sc_node->nd_num ? |
498 | "connected to" : "accepted connection from", | 498 | "connected to" : "accepted connection from", |
499 | SC_NODEF_ARGS(sc)); | 499 | SC_NODEF_ARGS(sc)); |
@@ -930,7 +930,7 @@ static void o2net_sendpage(struct o2net_sock_container *sc, | |||
930 | cond_resched(); | 930 | cond_resched(); |
931 | continue; | 931 | continue; |
932 | } | 932 | } |
933 | mlog(ML_ERROR, "sendpage of size %zu to " SC_NODEF_FMT | 933 | mlog(ML_ERROR, "sendpage of size %zu to " SC_NODEF_FMT |
934 | " failed with %zd\n", size, SC_NODEF_ARGS(sc), ret); | 934 | " failed with %zd\n", size, SC_NODEF_ARGS(sc), ret); |
935 | o2net_ensure_shutdown(nn, sc, 0); | 935 | o2net_ensure_shutdown(nn, sc, 0); |
936 | break; | 936 | break; |
@@ -1476,14 +1476,14 @@ static void o2net_idle_timer(unsigned long data) | |||
1476 | 1476 | ||
1477 | do_gettimeofday(&now); | 1477 | do_gettimeofday(&now); |
1478 | 1478 | ||
1479 | printk(KERN_INFO "o2net: connection to " SC_NODEF_FMT " has been idle for %u.%u " | 1479 | printk(KERN_NOTICE "o2net: connection to " SC_NODEF_FMT " has been idle for %u.%u " |
1480 | "seconds, shutting it down.\n", SC_NODEF_ARGS(sc), | 1480 | "seconds, shutting it down.\n", SC_NODEF_ARGS(sc), |
1481 | o2net_idle_timeout() / 1000, | 1481 | o2net_idle_timeout() / 1000, |
1482 | o2net_idle_timeout() % 1000); | 1482 | o2net_idle_timeout() % 1000); |
1483 | mlog(ML_NOTICE, "here are some times that might help debug the " | 1483 | mlog(ML_NOTICE, "here are some times that might help debug the " |
1484 | "situation: (tmr %ld.%ld now %ld.%ld dr %ld.%ld adv " | 1484 | "situation: (tmr %ld.%ld now %ld.%ld dr %ld.%ld adv " |
1485 | "%ld.%ld:%ld.%ld func (%08x:%u) %ld.%ld:%ld.%ld)\n", | 1485 | "%ld.%ld:%ld.%ld func (%08x:%u) %ld.%ld:%ld.%ld)\n", |
1486 | sc->sc_tv_timer.tv_sec, (long) sc->sc_tv_timer.tv_usec, | 1486 | sc->sc_tv_timer.tv_sec, (long) sc->sc_tv_timer.tv_usec, |
1487 | now.tv_sec, (long) now.tv_usec, | 1487 | now.tv_sec, (long) now.tv_usec, |
1488 | sc->sc_tv_data_ready.tv_sec, (long) sc->sc_tv_data_ready.tv_usec, | 1488 | sc->sc_tv_data_ready.tv_sec, (long) sc->sc_tv_data_ready.tv_usec, |
1489 | sc->sc_tv_advance_start.tv_sec, | 1489 | sc->sc_tv_advance_start.tv_sec, |
diff --git a/fs/ocfs2/cluster/tcp_internal.h b/fs/ocfs2/cluster/tcp_internal.h index 8d58cfe410b1..96fa7ebc530c 100644 --- a/fs/ocfs2/cluster/tcp_internal.h +++ b/fs/ocfs2/cluster/tcp_internal.h | |||
@@ -32,10 +32,10 @@ | |||
32 | * on their number */ | 32 | * on their number */ |
33 | #define O2NET_QUORUM_DELAY_MS ((o2hb_dead_threshold + 2) * O2HB_REGION_TIMEOUT_MS) | 33 | #define O2NET_QUORUM_DELAY_MS ((o2hb_dead_threshold + 2) * O2HB_REGION_TIMEOUT_MS) |
34 | 34 | ||
35 | /* | 35 | /* |
36 | * This version number represents quite a lot, unfortunately. It not | 36 | * This version number represents quite a lot, unfortunately. It not |
37 | * only represents the raw network message protocol on the wire but also | 37 | * only represents the raw network message protocol on the wire but also |
38 | * locking semantics of the file system using the protocol. It should | 38 | * locking semantics of the file system using the protocol. It should |
39 | * be somewhere else, I'm sure, but right now it isn't. | 39 | * be somewhere else, I'm sure, but right now it isn't. |
40 | * | 40 | * |
41 | * With version 11, we separate out the filesystem locking portion. The | 41 | * With version 11, we separate out the filesystem locking portion. The |