lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230803132426.2688608-1-yukuai1@huaweicloud.com>
Date:   Thu,  3 Aug 2023 21:24:13 +0800
From:   Yu Kuai <yukuai1@...weicloud.com>
To:     song@...nel.org, xni@...hat.com
Cc:     linux-raid@...r.kernel.org, linux-kernel@...r.kernel.org,
        yukuai3@...wei.com, yukuai1@...weicloud.com, yi.zhang@...wei.com,
        yangerkun@...wei.com
Subject: [PATCH -next 00/13] md: make rdev addition and removal independent from daemon thread

From: Yu Kuai <yukuai3@...wei.com>

This is the third patchset to do some preparatory work to synchronize
io with array reconfiguration.

1) The first patchset refactor 'active_io', make sure that mddev_suspend()
will wait for io to be done. [1]

2) The second patchset remove 'quiesce' callback from mddev_suspend(), so
that mddev_suspend() doesn't rely on 'quiesce' callback is registered,
and can be used for all personalites; [2]

3) This patchset make array reconfiguration independent from daemon thread,
and synchronize it with io will be much easier because io may rely on
daemon thread to be done.

patch 1-11 are cleanup and refactor patches, I think they make related
code much easier to read;

More patchset on the way!

[1] https://lore.kernel.org/all/20230621165110.1498313-1-yukuai1@huaweicloud.com/
[2] https://lore.kernel.org/all/20230628012931.88911-2-yukuai1@huaweicloud.com/

Yu Kuai (13):
  md: remove rdev flag 'RemoveSynchronized'
  md: factor out a helper rdev_removeable() from remove_and_add_spares()
  md: factor out a helper rdev_is_spare() from remove_and_add_spares()
  md: factor out a helper rdev_addable() from remove_and_add_spares()
  md: factor out a helper hot_remove_rdev() from remove_and_add_spares()
  md: factor out a helper hot_add_rdev() from remove_and_add_spares()
  md: factor out a helper remove_rdev() from state_store()
  md: convert to use hot_remove_rdev() to hot remove one rdev
  md: convert to use hot_add_rdev() to hot add one rdev
  md: cleanup remove_and_add_spares()
  md: use separate work_struct for md_start_sync()
  md: delay choosing sync direction to md_start_sync()
  md: delay remove_and_add_spares() for read only array to
    md_start_sync()

 drivers/md/md-multipath.c |  15 +-
 drivers/md/md.c           | 413 +++++++++++++++++++++-----------------
 drivers/md/md.h           |  10 +-
 drivers/md/raid1.c        |  15 +-
 drivers/md/raid10.c       |  15 +-
 drivers/md/raid5.c        |  15 +-
 6 files changed, 262 insertions(+), 221 deletions(-)

-- 
2.39.2

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ