diff options
Diffstat (limited to 'drivers/block')
-rw-r--r-- | drivers/block/drbd/drbd_bitmap.c | 16 | ||||
-rw-r--r-- | drivers/block/drbd/drbd_int.h | 3 | ||||
-rw-r--r-- | drivers/block/drbd/drbd_main.c | 20 |
3 files changed, 11 insertions, 28 deletions
diff --git a/drivers/block/drbd/drbd_bitmap.c b/drivers/block/drbd/drbd_bitmap.c index 08259c101183..1aa29f8fdfe1 100644 --- a/drivers/block/drbd/drbd_bitmap.c +++ b/drivers/block/drbd/drbd_bitmap.c @@ -118,10 +118,10 @@ static void __bm_print_lock_info(struct drbd_device *device, const char *func) struct drbd_bitmap *b = device->bitmap; if (!__ratelimit(&drbd_ratelimit_state)) return; - drbd_err(device, "FIXME %s in %s, bitmap locked for '%s' by %s\n", - drbd_task_to_thread_name(first_peer_device(device)->connection, current), - func, b->bm_why ?: "?", - drbd_task_to_thread_name(first_peer_device(device)->connection, b->bm_task)); + drbd_err(device, "FIXME %s[%d] in %s, bitmap locked for '%s' by %s[%d]\n", + current->comm, task_pid_nr(current), + func, b->bm_why ?: "?", + b->bm_task->comm, task_pid_nr(b->bm_task)); } void drbd_bm_lock(struct drbd_device *device, char *why, enum bm_flag flags) @@ -137,10 +137,10 @@ void drbd_bm_lock(struct drbd_device *device, char *why, enum bm_flag flags) trylock_failed = !mutex_trylock(&b->bm_change); if (trylock_failed) { - drbd_warn(device, "%s going to '%s' but bitmap already locked for '%s' by %s\n", - drbd_task_to_thread_name(first_peer_device(device)->connection, current), - why, b->bm_why ?: "?", - drbd_task_to_thread_name(first_peer_device(device)->connection, b->bm_task)); + drbd_warn(device, "%s[%d] going to '%s' but bitmap already locked for '%s' by %s[%d]\n", + current->comm, task_pid_nr(current), + why, b->bm_why ?: "?", + b->bm_task->comm, task_pid_nr(b->bm_task)); mutex_lock(&b->bm_change); } if (BM_LOCKED_MASK & b->bm_flags) diff --git a/drivers/block/drbd/drbd_int.h b/drivers/block/drbd/drbd_int.h index 1d78a09c4ca8..7293ea5ccabb 100644 --- a/drivers/block/drbd/drbd_int.h +++ b/drivers/block/drbd/drbd_int.h @@ -264,7 +264,7 @@ struct drbd_thread { int (*function) (struct drbd_thread *); struct drbd_connection *connection; int reset_cpu_mask; - char name[9]; + const char *name; }; static inline enum drbd_thread_state get_t_state(struct drbd_thread *thi) @@ -870,7 +870,6 @@ enum dds_flags { extern void drbd_init_set_defaults(struct drbd_device *device); extern int drbd_thread_start(struct drbd_thread *thi); extern void _drbd_thread_stop(struct drbd_thread *thi, int restart, int wait); -extern char *drbd_task_to_thread_name(struct drbd_connection *connection, struct task_struct *task); #ifdef CONFIG_SMP extern void drbd_thread_current_set_cpu(struct drbd_thread *thi); #else diff --git a/drivers/block/drbd/drbd_main.c b/drivers/block/drbd/drbd_main.c index 64a084c159ee..6c86807f22ec 100644 --- a/drivers/block/drbd/drbd_main.c +++ b/drivers/block/drbd/drbd_main.c @@ -368,14 +368,14 @@ restart: } static void drbd_thread_init(struct drbd_connection *connection, struct drbd_thread *thi, - int (*func) (struct drbd_thread *), char *name) + int (*func) (struct drbd_thread *), const char *name) { spin_lock_init(&thi->t_lock); thi->task = NULL; thi->t_state = NONE; thi->function = func; thi->connection = connection; - strncpy(thi->name, name, ARRAY_SIZE(thi->name)); + thi->name = name; } int drbd_thread_start(struct drbd_thread *thi) @@ -475,22 +475,6 @@ void _drbd_thread_stop(struct drbd_thread *thi, int restart, int wait) wait_for_completion(&thi->stop); } -static struct drbd_thread *drbd_task_to_thread(struct drbd_connection *connection, struct task_struct *task) -{ - struct drbd_thread *thi = - task == connection->receiver.task ? &connection->receiver : - task == connection->asender.task ? &connection->asender : - task == connection->worker.task ? &connection->worker : NULL; - - return thi; -} - -char *drbd_task_to_thread_name(struct drbd_connection *connection, struct task_struct *task) -{ - struct drbd_thread *thi = drbd_task_to_thread(connection, task); - return thi ? thi->name : task->comm; -} - int conn_lowest_minor(struct drbd_connection *connection) { struct drbd_peer_device *peer_device; |