From mboxrd@z Thu Jan 1 00:00:00 1970 From: Neil Brown Subject: Re: [PATCH 1/9] MD: fix info output for journal disk Date: Mon, 12 Oct 2015 16:37:55 +1100 Message-ID: <87a8ro1wb0.fsf@notabene.neil.brown.name> References: <2537e2bcb31eaf918df28f25d096b31c2b9daa70.1444360850.git.shli@fb.com> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Return-path: In-Reply-To: <2537e2bcb31eaf918df28f25d096b31c2b9daa70.1444360850.git.shli@fb.com> Sender: linux-raid-owner@vger.kernel.org To: Shaohua Li , linux-raid@vger.kernel.org Cc: Kernel-team@fb.com, songliubraving@fb.com, hch@infradead.org, dan.j.williams@intel.com List-Id: linux-raid.ids --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Shaohua Li writes: > journal disk can be faulty. The Journal and Faulty aren't exclusive with > each other. > > Signed-off-by: Shaohua Li > --- > drivers/md/md.c | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/drivers/md/md.c b/drivers/md/md.c > index 0729cc7..daf42bb 100644 > --- a/drivers/md/md.c > +++ b/drivers/md/md.c > @@ -5857,7 +5857,8 @@ static int get_disk_info(struct mddev *mddev, void = __user * arg) > else if (test_bit(In_sync, &rdev->flags)) { > info.state |=3D (1< info.state |=3D (1< - } else if (test_bit(Journal, &rdev->flags)) > + } > + if (test_bit(Journal, &rdev->flags)) > info.state |=3D (1< if (test_bit(WriteMostly, &rdev->flags)) > info.state |=3D (1< @@ -7335,18 +7336,21 @@ static int md_seq_show(struct seq_file *seq, void= *v) > rcu_read_lock(); > rdev_for_each_rcu(rdev, mddev) { > char b[BDEVNAME_SIZE]; > + bool skip =3D false; > seq_printf(seq, " %s[%d]", > bdevname(rdev->bdev,b), rdev->desc_nr); > if (test_bit(WriteMostly, &rdev->flags)) > seq_printf(seq, "(W)"); > if (test_bit(Faulty, &rdev->flags)) { > seq_printf(seq, "(F)"); > - continue; > + skip =3D true; > } > if (test_bit(Journal, &rdev->flags)) { > seq_printf(seq, "(J)"); > - continue; > + skip =3D true; > } > + if (skip) > + continue; Is this 'skip' stuff really needed? What would go wrong if we just left it out? An active journal will have raid_disk>=3D0 now won't it? And if we don't support replacement of journals (which I suspect we shouldn't) then (R) will never get reported. So can we just drop the 'skip'?? Thanks, NeilBrown > if (rdev->raid_disk < 0) > seq_printf(seq, "(S)"); /* spare */ > if (test_bit(Replacement, &rdev->flags)) > --=20 > 2.4.6 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-raid" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJWG0czAAoJEDnsnt1WYoG5A7UP/ipBuj7Gf/GFgwpCREpYjsva kbaALyn6mDhJxYOZEQvHezGaWJkE27LprdwToL81fApfk3Rf/m3k5n58m4Ln5VsZ qtOmWZGtJ9SAi0bIA8XLr43vN2acgdd5UHqHviG5Nfi17M9x33gbiPbnsgNTZZHV R3r7dQsz1l7/DcUen3gx5he2d54LgLKwnApG+K/Rrgw/Yq6pHlupZ71ZJfZR1mGc yLxY3cF88T+RpBjMY4yMxar2WmAzXNMLFtgSbse5ztmOuIMPSD/3FhBm30MtI0UJ z5yz1laNgV3hhXfSmt8WQhTJHreuadZrIWXoRxN846wld8XAvgMV+NDrWNXdOTPK 5e4nGBip3osqo5jyST8xzDI4FXyf6IYUWQLd8rSaDqH5FrqvccVFSN497Fv7GWyr ygG6OISv4DFMuk3wJABxrO4sulnONh6EeXYhLK7Eja5/sQK2mrLC6UPyjzwNswc4 mha98qk7PfulTdoGkYPi2YsC22QroQASZXFYRVVZU4axS1ZhN/IDDE6HSAev+dEP iWZe5fa/DxW+jev2xkqMXbZSkb+9y1uSWSrN4KT59JF9WQVUsSuJTY/MaaMP3yIg f5Dkw45NyY7HBOn/jBi9b/uXzLuspNXe0K33bqHgxORZX+ocK1//IoR3C/jf4kNM SW8L+ainbpWd8c2dbiQs =Pfci -----END PGP SIGNATURE----- --=-=-=--