Skip to content

Commit

Permalink
drbd: simplify conn_all_vols_unconf, make it bool
Browse files Browse the repository at this point in the history
Get rid of a temporary variable and, funny bitand assignment.
Just short circuit, returning false, once we encounter the first
still configured volume.

FIXME verify call sites for need of rcu_read_lock or stronger.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
  • Loading branch information
Lars Ellenberg authored and Philipp Reisner committed Nov 3, 2012
1 parent 543cc10 commit d0456c7
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 10 deletions.
16 changes: 7 additions & 9 deletions drivers/block/drbd/drbd_state.c
Original file line number Diff line number Diff line change
Expand Up @@ -47,20 +47,18 @@ static enum drbd_state_rv is_valid_transition(union drbd_state os, union drbd_st
static union drbd_state sanitize_state(struct drbd_conf *mdev, union drbd_state ns,
const char **warn_sync_abort);

int conn_all_vols_unconf(struct drbd_tconn *tconn)
bool conn_all_vols_unconf(struct drbd_tconn *tconn)
{
struct drbd_conf *mdev;
int minor, uncfg = 1;
int minor;

idr_for_each_entry(&tconn->volumes, mdev, minor) {
uncfg &= (mdev->state.disk == D_DISKLESS &&
mdev->state.conn == C_STANDALONE &&
mdev->state.role == R_SECONDARY);
if (!uncfg)
break;
if (mdev->state.disk != D_DISKLESS ||
mdev->state.conn != C_STANDALONE ||
mdev->state.role != R_SECONDARY)
return false;
}

return uncfg;
return true;
}

/**
Expand Down
2 changes: 1 addition & 1 deletion drivers/block/drbd/drbd_state.h
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ conn_request_state(struct drbd_tconn *tconn, union drbd_state mask, union drbd_s
enum chg_state_flags flags);

extern void drbd_resume_al(struct drbd_conf *mdev);
extern int conn_all_vols_unconf(struct drbd_tconn *tconn);
extern bool conn_all_vols_unconf(struct drbd_tconn *tconn);

/**
* drbd_request_state() - Reqest a state change
Expand Down

0 comments on commit d0456c7

Please sign in to comment.