Re: [PATCH 1/2] md: Factor out is_md_suspended helper

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear Xiao,


Thank you for the patch.

Am 21.01.23 um 02:39 schrieb Xiao Ni:
This helper function will be used in next patch. It's easy for
understanding.

Signed-off-by: Xiao Ni <xni@xxxxxxxxxx>
---
  drivers/md/md.c | 17 ++++++++++++-----
  1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/drivers/md/md.c b/drivers/md/md.c
index 775f1dde190a..d3627aad981a 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -380,6 +380,13 @@ EXPORT_SYMBOL_GPL(md_new_event);
  static LIST_HEAD(all_mddevs);
  static DEFINE_SPINLOCK(all_mddevs_lock);
+static bool is_md_suspended(struct mddev *mddev)
+{
+	if (mddev->suspended)
+		return true;
+	else
+		return false;

suspended seems to be an integer, so this could be written as:

    return !!mddev->suspended;

or

    return (mddev->suspended) ? true : false;


Kind regards,

Paul


+}
  /* Rather than calling directly into the personality make_request function,
   * IO requests come here first so that we can check if the device is
   * being suspended pending a reconfiguration.
@@ -389,7 +396,7 @@ static DEFINE_SPINLOCK(all_mddevs_lock);
   */
  static bool is_suspended(struct mddev *mddev, struct bio *bio)
  {
-	if (mddev->suspended)
+	if (is_md_suspended(mddev))
  		return true;
  	if (bio_data_dir(bio) != WRITE)
  		return false;
@@ -434,7 +441,7 @@ void md_handle_request(struct mddev *mddev, struct bio *bio)
  		goto check_suspended;
  	}
- if (atomic_dec_and_test(&mddev->active_io) && mddev->suspended)
+	if (atomic_dec_and_test(&mddev->active_io) && is_md_suspended(mddev))
  		wake_up(&mddev->sb_wait);
  }
  EXPORT_SYMBOL(md_handle_request);
@@ -6217,7 +6224,7 @@ EXPORT_SYMBOL_GPL(md_stop_writes);
  static void mddev_detach(struct mddev *mddev)
  {
  	md_bitmap_wait_behind_writes(mddev);
-	if (mddev->pers && mddev->pers->quiesce && !mddev->suspended) {
+	if (mddev->pers && mddev->pers->quiesce && !is_md_suspended(mddev)) {
  		mddev->pers->quiesce(mddev, 1);
  		mddev->pers->quiesce(mddev, 0);
  	}
@@ -8529,7 +8536,7 @@ bool md_write_start(struct mddev *mddev, struct bio *bi)
  		return true;
  	wait_event(mddev->sb_wait,
  		   !test_bit(MD_SB_CHANGE_PENDING, &mddev->sb_flags) ||
-		   mddev->suspended);
+		   is_md_suspended(mddev));
  	if (test_bit(MD_SB_CHANGE_PENDING, &mddev->sb_flags)) {
  		percpu_ref_put(&mddev->writes_pending);
  		return false;
@@ -9257,7 +9264,7 @@ void md_check_recovery(struct mddev *mddev)
  		wake_up(&mddev->sb_wait);
  	}
- if (mddev->suspended)
+	if (is_md_suspended(mddev))
  		return;
if (mddev->bitmap)



[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux