| From foo@baz Thu Oct 19 15:04:02 CEST 2017 |
| From: Shaohua Li <shli@fb.com> |
| Date: Tue, 21 Feb 2017 11:57:01 -0800 |
| Subject: md/linear: shutup lockdep warnning |
| |
| From: Shaohua Li <shli@fb.com> |
| |
| |
| [ Upstream commit d939cdfde34f50b95254b375f498447c82190b3e ] |
| |
| Commit 03a9e24(md linear: fix a race between linear_add() and |
| linear_congested()) introduces the warnning. |
| |
| Acked-by: Coly Li <colyli@suse.de> |
| Signed-off-by: Shaohua Li <shli@fb.com> |
| Signed-off-by: Sasha Levin <alexander.levin@verizon.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/md/linear.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/md/linear.c |
| +++ b/drivers/md/linear.c |
| @@ -223,7 +223,8 @@ static int linear_add(struct mddev *mdde |
| * oldconf until no one uses it anymore. |
| */ |
| mddev_suspend(mddev); |
| - oldconf = rcu_dereference(mddev->private); |
| + oldconf = rcu_dereference_protected(mddev->private, |
| + lockdep_is_held(&mddev->reconfig_mutex)); |
| mddev->raid_disks++; |
| WARN_ONCE(mddev->raid_disks != newconf->raid_disks, |
| "copied raid_disks doesn't match mddev->raid_disks"); |