Merge tag 'md/4.2' of git://neil.brown.name/md
Pull md updates from Neil Brown: "A mixed bag - a few bug fixes - some performance improvement that decrease lock contention - some clean-up Nothing major" * tag 'md/4.2' of git://neil.brown.name/md: md: clear Blocked flag on failed devices when array is read-only. md: unlock mddev_lock on an error path. md: clear mddev->private when it has been freed. md: fix a build warning md/raid5: ignore released_stripes check md/raid5: per hash value and exclusive wait_for_stripe md/raid5: split wait_for_stripe and introduce wait_for_quiescent wait: introduce wait_event_exclusive_cmd md: convert to kstrto*() md/raid10: make sync_request_write() call bio_copy_data()
This commit is contained in:
@@ -358,6 +358,19 @@ do { \
|
||||
__ret; \
|
||||
})
|
||||
|
||||
#define __wait_event_exclusive_cmd(wq, condition, cmd1, cmd2) \
|
||||
(void)___wait_event(wq, condition, TASK_UNINTERRUPTIBLE, 1, 0, \
|
||||
cmd1; schedule(); cmd2)
|
||||
/*
|
||||
* Just like wait_event_cmd(), except it sets exclusive flag
|
||||
*/
|
||||
#define wait_event_exclusive_cmd(wq, condition, cmd1, cmd2) \
|
||||
do { \
|
||||
if (condition) \
|
||||
break; \
|
||||
__wait_event_exclusive_cmd(wq, condition, cmd1, cmd2); \
|
||||
} while (0)
|
||||
|
||||
#define __wait_event_cmd(wq, condition, cmd1, cmd2) \
|
||||
(void)___wait_event(wq, condition, TASK_UNINTERRUPTIBLE, 0, 0, \
|
||||
cmd1; schedule(); cmd2)
|
||||
|
Reference in New Issue
Block a user