From: NeilBrown Date: Tue, 22 May 2012 03:55:14 +0000 (+1000) Subject: md/bitmap: remove single-bit manipulation on sb->state X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=84e923453e19d6427c6aa884d9561f01e1425d09;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git md/bitmap: remove single-bit manipulation on sb->state Just do single-bit manipulations on bitmap->flags and copy whole value between that and sb->state. This will allow next patch which changes how bit manipulations are performed on bitmap->flags. This does result in BITMAP_STALE not being set in sb by bitmap_read_sb, however as the setting is determined by other information in the 'sb' we do not lose information this way. Normally, bitmap_load will be called shortly which will clear BITMAP_STALE anyway. Signed-off-by: NeilBrown --- diff --git a/drivers/md/bitmap.c b/drivers/md/bitmap.c index 2d25f3aebd4e..09d360ff77dc 100644 --- a/drivers/md/bitmap.c +++ b/drivers/md/bitmap.c @@ -522,7 +522,7 @@ static int bitmap_new_disk_sb(struct bitmap *bitmap) memcpy(sb->uuid, bitmap->mddev->uuid, 16); bitmap->flags |= BITMAP_STALE; - sb->state |= cpu_to_le32(BITMAP_STALE); + sb->state = cpu_to_le32(bitmap->flags); bitmap->events_cleared = bitmap->mddev->events; sb->events_cleared = cpu_to_le64(bitmap->mddev->events); @@ -617,7 +617,7 @@ static int bitmap_read_sb(struct bitmap *bitmap) "-- forcing full recovery\n", bmname(bitmap), events, (unsigned long long) bitmap->mddev->events); - sb->state |= cpu_to_le32(BITMAP_STALE); + bitmap->flags |= BITMAP_STALE; } }