]> Pileus Git - ~andy/linux/commitdiff
drbd: fixup after wait_even_lock_irq() addition to generic code
authorJens Axboe <axboe@kernel.dk>
Fri, 30 Nov 2012 20:20:15 +0000 (21:20 +0100)
committerJens Axboe <axboe@kernel.dk>
Fri, 30 Nov 2012 20:20:15 +0000 (21:20 +0100)
Compiling drbd yields:

drivers/block/drbd/drbd_state.c: In function ‘_conn_request_state’:
drivers/block/drbd/drbd_state.c:1804:5: error: macro "wait_event_lock_irq" passed 4 arguments, but takes just 3
drivers/block/drbd/drbd_state.c:1801:3: error: ‘wait_event_lock_irq’ undeclared (first use in this function)
drivers/block/drbd/drbd_state.c:1801:3: note: each undeclared identifier is reported only once for each function it appears in
drivers/block/drbd/drbd_state.c: At top level:
drivers/block/drbd/drbd_state.c:1734:1: warning: ‘_conn_rq_cond’ defined but not used [-Wunused-function]

Due to drbd having copied the MD definition for wait_event_lock_irq()
as well. Kill them.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/drbd/drbd_int.h
drivers/block/drbd/drbd_state.c

index ef72a72814c76087e8ec978f8cff82cb5e2afbd2..6b51afa1aae19070d3ec26cf53d784ed71fab3d7 100644 (file)
@@ -2334,30 +2334,3 @@ static inline void drbd_md_flush(struct drbd_conf *mdev)
 }
 
 #endif
-
-/* This is defined in drivers/md/md.h as well. Should go into wait.h */
-#define __wait_event_lock_irq(wq, condition, lock, cmd)                \
-do {                                                                   \
-       wait_queue_t __wait;                                            \
-       init_waitqueue_entry(&__wait, current);                         \
-                                                                       \
-       add_wait_queue(&wq, &__wait);                                   \
-       for (;;) {                                                      \
-               set_current_state(TASK_UNINTERRUPTIBLE);                \
-               if (condition)                                          \
-                       break;                                          \
-               spin_unlock_irq(&lock);                                 \
-               cmd;                                                    \
-               schedule();                                             \
-               spin_lock_irq(&lock);                                   \
-       }                                                               \
-       current->state = TASK_RUNNING;                                  \
-       remove_wait_queue(&wq, &__wait);                                \
-} while (0)
-
-#define wait_event_lock_irq(wq, condition, lock, cmd)                  \
-do {                                                                   \
-       if (condition)                                                  \
-               break;                                                  \
-       __wait_event_lock_irq(wq, condition, lock, cmd);                \
-} while (0)
index 69ef35266bac2980fe56eabcc6f3972ab9374af6..53bf6182bac4077afaa26bdeb94bb52e2414c76b 100644 (file)
@@ -1800,8 +1800,7 @@ _conn_request_state(struct drbd_tconn *tconn, union drbd_state mask, union drbd_
                spin_lock_irq(&tconn->req_lock);
                wait_event_lock_irq(tconn->ping_wait,
                                (rv = _conn_rq_cond(tconn, mask, val)),
-                               tconn->req_lock,
-                               );
+                               tconn->req_lock);
                clear_bit(CONN_WD_ST_CHG_REQ, &tconn->flags);
                if (rv < SS_SUCCESS)
                        goto abort;