dm raid: avoid superfluous memory barriers on static metadata
Signed-off-by: Heinz Mauelshagen <heinzm@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
This commit is contained in:
parent
7193a9defc
commit
ff4a88bf1c
@ -366,14 +366,12 @@ static bool rs_is_reshapable(struct raid_set *rs)
|
|||||||
/* Return true, if raid set in @rs is recovering */
|
/* Return true, if raid set in @rs is recovering */
|
||||||
static bool rs_is_recovering(struct raid_set *rs)
|
static bool rs_is_recovering(struct raid_set *rs)
|
||||||
{
|
{
|
||||||
smp_rmb();
|
|
||||||
return rs->md.recovery_cp != MaxSector;
|
return rs->md.recovery_cp != MaxSector;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return true, if raid set in @rs is reshaping */
|
/* Return true, if raid set in @rs is reshaping */
|
||||||
static bool rs_is_reshaping(struct raid_set *rs)
|
static bool rs_is_reshaping(struct raid_set *rs)
|
||||||
{
|
{
|
||||||
smp_rmb();
|
|
||||||
return rs->md.reshape_position != MaxSector;
|
return rs->md.reshape_position != MaxSector;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1484,7 +1482,6 @@ static int rs_check_takeover(struct raid_set *rs)
|
|||||||
struct mddev *mddev = &rs->md;
|
struct mddev *mddev = &rs->md;
|
||||||
unsigned int near_copies;
|
unsigned int near_copies;
|
||||||
|
|
||||||
smp_rmb();
|
|
||||||
if (rs->md.degraded) {
|
if (rs->md.degraded) {
|
||||||
rs->ti->error = "Can't takeover degraded raid set";
|
rs->ti->error = "Can't takeover degraded raid set";
|
||||||
return -EPERM;
|
return -EPERM;
|
||||||
@ -1758,8 +1755,6 @@ static int rs_check_reshape(struct raid_set *rs)
|
|||||||
{
|
{
|
||||||
struct mddev *mddev = &rs->md;
|
struct mddev *mddev = &rs->md;
|
||||||
|
|
||||||
smp_rmb(); /* Make sure we access recent reshape position */
|
|
||||||
|
|
||||||
if (!mddev->pers || !mddev->pers->check_reshape)
|
if (!mddev->pers || !mddev->pers->check_reshape)
|
||||||
rs->ti->error = "Reshape not supported";
|
rs->ti->error = "Reshape not supported";
|
||||||
else if (mddev->degraded)
|
else if (mddev->degraded)
|
||||||
|
Loading…
Reference in New Issue
Block a user