[0/3] md: Remove deprecated flavors

Message ID 20231214222107.2016042-1-song@kernel.org
Headers
Series md: Remove deprecated flavors |

Message

Song Liu Dec. 14, 2023, 10:21 p.m. UTC
  Linear, multipath, and faulty have been marked as deprecated for 2.5 years.
Let's remove them.

Thanks,
Song

Song Liu (3):
  md: Remove deprecated CONFIG_MD_LINEAR
  md: Remove deprecated CONFIG_MD_MULTIPATH
  md: Remove deprecated CONFIG_MD_FAULTY

 drivers/md/Kconfig             |  34 ---
 drivers/md/Makefile            |  10 +-
 drivers/md/md-autodetect.c     |   8 +-
 drivers/md/md-faulty.c         | 365 --------------------------
 drivers/md/md-linear.c         | 318 ----------------------
 drivers/md/md-multipath.c      | 463 ---------------------------------
 drivers/md/md.c                | 186 ++++++-------
 include/uapi/linux/raid/md_p.h |   8 +-
 include/uapi/linux/raid/md_u.h |  11 +-
 9 files changed, 91 insertions(+), 1312 deletions(-)
 delete mode 100644 drivers/md/md-faulty.c
 delete mode 100644 drivers/md/md-linear.c
 delete mode 100644 drivers/md/md-multipath.c

--
2.34.1
  

Comments

Mariusz Tkaczyk Dec. 15, 2023, 11:50 a.m. UTC | #1
On Thu, 14 Dec 2023 14:21:04 -0800
Song Liu <song@kernel.org> wrote:

> Linear, multipath, and faulty have been marked as deprecated for 2.5 years.
> Let's remove them.
> 
> Thanks,
> Song

Hi Song,
Great idea!

Please note that there are mdadm tests for those levels. I can approve it only
when mdadm clean-up is merged. Our tests must pass continuously.

It is a nice code complexity improvement so let me know if you would
like to get my help with mdadm patches.

Thanks,
Mariusz
  
Song Liu Dec. 15, 2023, 3:37 p.m. UTC | #2
Hi Mariusz,

On Fri, Dec 15, 2023 at 3:51 AM Mariusz Tkaczyk
<mariusz.tkaczyk@linux.intel.com> wrote:
>
> On Thu, 14 Dec 2023 14:21:04 -0800
> Song Liu <song@kernel.org> wrote:
>
> > Linear, multipath, and faulty have been marked as deprecated for 2.5 years.
> > Let's remove them.
> >
> > Thanks,
> > Song
>
> Hi Song,
> Great idea!
>
> Please note that there are mdadm tests for those levels. I can approve it only
> when mdadm clean-up is merged. Our tests must pass continuously.

Is the continuous test result available publicly?

>
> It is a nice code complexity improvement so let me know if you would
> like to get my help with mdadm patches.

On my local tests with mdadm, I need to make changes to the following
tests:

00linear...
00names...
00raid0...
00readonly...
02lineargrow...
03r0assem...
04r0update...
04update-metadata...

The changes are all straightforward (just remove things related to
linear/multipath/faulty).

Thanks,
Song
  
Mariusz Tkaczyk Dec. 18, 2023, 8:32 a.m. UTC | #3
On Fri, 15 Dec 2023 07:37:54 -0800
Song Liu <song@kernel.org> wrote:

> Hi Mariusz,
> 
> On Fri, Dec 15, 2023 at 3:51 AM Mariusz Tkaczyk
> <mariusz.tkaczyk@linux.intel.com> wrote:
> >
> > On Thu, 14 Dec 2023 14:21:04 -0800
> > Song Liu <song@kernel.org> wrote:
> >  
> > > Linear, multipath, and faulty have been marked as deprecated for 2.5
> > > years. Let's remove them.
> > >
> > > Thanks,
> > > Song  
> >
> > Hi Song,
> > Great idea!
> >
> > Please note that there are mdadm tests for those levels. I can approve it
> > only when mdadm clean-up is merged. Our tests must pass continuously.  
> 
> Is the continuous test result available publicly?

We are working on public CI (Paul owns it). On my side I'm not executing all
tests, IMSM only. In this case it is obvious that mdadm tests will stop passing,
I don't need results to see that. We should keep both mdadm and md compatible.
We are continuously adding new MD regression tests to mdadm (at least Kuai is
doing that) so we should also care about removing things.

> 
> >
> > It is a nice code complexity improvement so let me know if you would
> > like to get my help with mdadm patches.  
> 
> On my local tests with mdadm, I need to make changes to the following
> tests:
> 
> 00linear...
> 00names...
> 00raid0...
> 00readonly...
> 02lineargrow...
> 03r0assem...
> 04r0update...
> 04update-metadata...
> 
> The changes are all straightforward (just remove things related to
> linear/multipath/faulty).
> 

Please do not forgot remove dead code from mdadm. For example simple find
"multipath" (case insensitive) reefers me to multiple places with special
handling for this level. We need to remove it from code and documentation.
Can you handle this too?

Oh and last one, I can't find update for md man in your changes. Could you
please remove those levels from md man?

Thanks,
Mariusz
  
Song Liu Dec. 18, 2023, 4:11 p.m. UTC | #4
Hi Mariusz,

On Mon, Dec 18, 2023 at 12:32 AM Mariusz Tkaczyk
<mariusz.tkaczyk@linux.intel.com> wrote:
>
[...]
> > >
> > > Please note that there are mdadm tests for those levels. I can approve it
> > > only when mdadm clean-up is merged. Our tests must pass continuously.
> >
> > Is the continuous test result available publicly?
>
> We are working on public CI (Paul owns it). On my side I'm not executing all
> tests, IMSM only. In this case it is obvious that mdadm tests will stop passing,
> I don't need results to see that. We should keep both mdadm and md compatible.
> We are continuously adding new MD regression tests to mdadm (at least Kuai is
> doing that) so we should also care about removing things.
>
> >
> > >
> > > It is a nice code complexity improvement so let me know if you would
> > > like to get my help with mdadm patches.
> >
> > On my local tests with mdadm, I need to make changes to the following
> > tests:
> >
> > 00linear...
> > 00names...
> > 00raid0...
> > 00readonly...
> > 02lineargrow...
> > 03r0assem...
> > 04r0update...
> > 04update-metadata...
> >
> > The changes are all straightforward (just remove things related to
> > linear/multipath/faulty).
> >
>
> Please do not forgot remove dead code from mdadm. For example simple find
> "multipath" (case insensitive) reefers me to multiple places with special
> handling for this level. We need to remove it from code and documentation.
> Can you handle this too?

I think this is a bigger discussion: will mdadm stop supporting these
flavors on
older kernels? Say, mdadm-5.0+ (or a different number) will not support
multipath flavor on older kernels?

>
> Oh and last one, I can't find update for md man in your changes. Could you
> please remove those levels from md man?

man side is easier. Once we know which major will have this set (6.8 or later),
we can update the man pages with the information.

Thanks,
Song
  
Mariusz Tkaczyk Dec. 19, 2023, 10:46 a.m. UTC | #5
On Mon, 18 Dec 2023 08:11:53 -0800
Song Liu <song@kernel.org> wrote:

> Hi Mariusz,
> 
> On Mon, Dec 18, 2023 at 12:32 AM Mariusz Tkaczyk
> <mariusz.tkaczyk@linux.intel.com> wrote:
> >  
> [...]
> > > >
> > > > Please note that there are mdadm tests for those levels. I can approve
> > > > it only when mdadm clean-up is merged. Our tests must pass
> > > > continuously.  
> > >
> > > Is the continuous test result available publicly?  
> >
> > We are working on public CI (Paul owns it). On my side I'm not executing all
> > tests, IMSM only. In this case it is obvious that mdadm tests will stop
> > passing, I don't need results to see that. We should keep both mdadm and md
> > compatible. We are continuously adding new MD regression tests to mdadm (at
> > least Kuai is doing that) so we should also care about removing things.
> >  
> > >  
> > > >
> > > > It is a nice code complexity improvement so let me know if you would
> > > > like to get my help with mdadm patches.  
> > >
> > > On my local tests with mdadm, I need to make changes to the following
> > > tests:
> > >
> > > 00linear...
> > > 00names...
> > > 00raid0...
> > > 00readonly...
> > > 02lineargrow...
> > > 03r0assem...
> > > 04r0update...
> > > 04update-metadata...
> > >
> > > The changes are all straightforward (just remove things related to
> > > linear/multipath/faulty).
> > >  
> >
> > Please do not forgot remove dead code from mdadm. For example simple find
> > "multipath" (case insensitive) reefers me to multiple places with special
> > handling for this level. We need to remove it from code and documentation.
> > Can you handle this too?  
> 
> I think this is a bigger discussion: will mdadm stop supporting these
> flavors on
> older kernels? Say, mdadm-5.0+ (or a different number) will not support
> multipath flavor on older kernels?
> 

Good point, I forgot that we are keeping backward compatibility with old
kernels. Currently 3.10 is the lowest one supported so agree, we need to keep
this code. Thanks for clarifying!

> >
> > Oh and last one, I can't find update for md man in your changes. Could you
> > please remove those levels from md man?  
> 
> man side is easier. Once we know which major will have this set (6.8 or
> later), we can update the man pages with the information.

Understood!

No further questions, please just remove tests and eventually add warning when
creating those levels in mdadm i.e "Linear/Multipath/Faulty are deprecated and
will be removed in next releases".

Thanks,
Mariusz