Commit 1b3bb47d authored by Andreas Gruenbacher's avatar Andreas Gruenbacher Committed by Philipp Reisner

drbd: Remove redundant check

Opening a device only succeeds on a primary node, or when explicitly
setting the allow_oos module parameter to allow opening the device
read-only on a secondary node.  There is no other way that a request can
get into drbd_make_request(), so this code cannot trigger.
Signed-off-by: default avatarPhilipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: default avatarLars Ellenberg <lars.ellenberg@linbit.com>
parent 7be8da07
...@@ -997,39 +997,12 @@ int __drbd_make_request(struct drbd_conf *mdev, struct bio *bio, unsigned long s ...@@ -997,39 +997,12 @@ int __drbd_make_request(struct drbd_conf *mdev, struct bio *bio, unsigned long s
return ret; return ret;
} }
/* helper function for drbd_make_request
* if we can determine just by the mdev (state) that this request will fail,
* return 1
* otherwise return 0
*/
static int drbd_fail_request_early(struct drbd_conf *mdev, int is_write)
{
if (mdev->state.role != R_PRIMARY &&
(!allow_oos || is_write)) {
if (__ratelimit(&drbd_ratelimit_state)) {
dev_err(DEV, "Process %s[%u] tried to %s; "
"since we are not in Primary state, "
"we cannot allow this\n",
current->comm, current->pid,
is_write ? "WRITE" : "READ");
}
return 1;
}
return 0;
}
int drbd_make_request(struct request_queue *q, struct bio *bio) int drbd_make_request(struct request_queue *q, struct bio *bio)
{ {
unsigned int s_enr, e_enr; unsigned int s_enr, e_enr;
struct drbd_conf *mdev = (struct drbd_conf *) q->queuedata; struct drbd_conf *mdev = (struct drbd_conf *) q->queuedata;
unsigned long start_time; unsigned long start_time;
if (drbd_fail_request_early(mdev, bio_data_dir(bio) & WRITE)) {
bio_endio(bio, -EPERM);
return 0;
}
start_time = jiffies; start_time = jiffies;
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment