Re: dm: move dm_table_destroy() to same header as dm_table_create()
Hi, On 05/04/17 00:35, Brian Norris wrote: > On Tue, Mar 28, 2017 at 03:31:51PM -0400, Mike Snitzer wrote: >> On Tue, Mar 28 2017 at 2:31pm -0400, >> Brian Norriswrote: >> >>> If anyone is going to use dm_table_create(), they probably should be >>> able to use dm_table_destroy() too. Move the dm_table_destroy() >>> definition outside the private header, near dm_table_create() >>> >>> Signed-off-by: Brian Norris >> >> Not seeing why we need dm_table_create() exposed. So I think you went >> the wrong way with this. Unless you have an actual need, I'd prefer to >> see dm_table_create() moved from include/linux/device-mapper.h to >> drivers/md/dm.h > > We've been carrying code in our ChromeOS kernel to parse a cmdline arg > for setting up early DM maps -- e.g., a dm-verity rootfs without using > an initramfs. We currently use dm_table_create() from init/*.c (and we > *should* be using dm_table_destroy() in the error paths). So I'm > certainly not going to send the patch to do the reverse :) > > Enric is working on cleaning up this work to send here, so if you don't > want to see this patch now, you may well see it later. > As Brian told you we have a use case that uses the dm_table_create and others from init/*.c, I expect have a first patches during this week, if it's ok I'll include this patch in my patchset so you have the overall of what we are talking about. Cheers, Enric > Brian >
Re: dm: move dm_table_destroy() to same header as dm_table_create()
Hi, On 05/04/17 00:35, Brian Norris wrote: > On Tue, Mar 28, 2017 at 03:31:51PM -0400, Mike Snitzer wrote: >> On Tue, Mar 28 2017 at 2:31pm -0400, >> Brian Norris wrote: >> >>> If anyone is going to use dm_table_create(), they probably should be >>> able to use dm_table_destroy() too. Move the dm_table_destroy() >>> definition outside the private header, near dm_table_create() >>> >>> Signed-off-by: Brian Norris >> >> Not seeing why we need dm_table_create() exposed. So I think you went >> the wrong way with this. Unless you have an actual need, I'd prefer to >> see dm_table_create() moved from include/linux/device-mapper.h to >> drivers/md/dm.h > > We've been carrying code in our ChromeOS kernel to parse a cmdline arg > for setting up early DM maps -- e.g., a dm-verity rootfs without using > an initramfs. We currently use dm_table_create() from init/*.c (and we > *should* be using dm_table_destroy() in the error paths). So I'm > certainly not going to send the patch to do the reverse :) > > Enric is working on cleaning up this work to send here, so if you don't > want to see this patch now, you may well see it later. > As Brian told you we have a use case that uses the dm_table_create and others from init/*.c, I expect have a first patches during this week, if it's ok I'll include this patch in my patchset so you have the overall of what we are talking about. Cheers, Enric > Brian >
Re: dm: move dm_table_destroy() to same header as dm_table_create()
On Tue, Mar 28, 2017 at 03:31:51PM -0400, Mike Snitzer wrote: > On Tue, Mar 28 2017 at 2:31pm -0400, > Brian Norriswrote: > > > If anyone is going to use dm_table_create(), they probably should be > > able to use dm_table_destroy() too. Move the dm_table_destroy() > > definition outside the private header, near dm_table_create() > > > > Signed-off-by: Brian Norris > > Not seeing why we need dm_table_create() exposed. So I think you went > the wrong way with this. Unless you have an actual need, I'd prefer to > see dm_table_create() moved from include/linux/device-mapper.h to > drivers/md/dm.h We've been carrying code in our ChromeOS kernel to parse a cmdline arg for setting up early DM maps -- e.g., a dm-verity rootfs without using an initramfs. We currently use dm_table_create() from init/*.c (and we *should* be using dm_table_destroy() in the error paths). So I'm certainly not going to send the patch to do the reverse :) Enric is working on cleaning up this work to send here, so if you don't want to see this patch now, you may well see it later. Brian
Re: dm: move dm_table_destroy() to same header as dm_table_create()
On Tue, Mar 28, 2017 at 03:31:51PM -0400, Mike Snitzer wrote: > On Tue, Mar 28 2017 at 2:31pm -0400, > Brian Norris wrote: > > > If anyone is going to use dm_table_create(), they probably should be > > able to use dm_table_destroy() too. Move the dm_table_destroy() > > definition outside the private header, near dm_table_create() > > > > Signed-off-by: Brian Norris > > Not seeing why we need dm_table_create() exposed. So I think you went > the wrong way with this. Unless you have an actual need, I'd prefer to > see dm_table_create() moved from include/linux/device-mapper.h to > drivers/md/dm.h We've been carrying code in our ChromeOS kernel to parse a cmdline arg for setting up early DM maps -- e.g., a dm-verity rootfs without using an initramfs. We currently use dm_table_create() from init/*.c (and we *should* be using dm_table_destroy() in the error paths). So I'm certainly not going to send the patch to do the reverse :) Enric is working on cleaning up this work to send here, so if you don't want to see this patch now, you may well see it later. Brian
Re: dm: move dm_table_destroy() to same header as dm_table_create()
On Tue, Mar 28 2017 at 2:31pm -0400, Brian Norriswrote: > If anyone is going to use dm_table_create(), they probably should be > able to use dm_table_destroy() too. Move the dm_table_destroy() > definition outside the private header, near dm_table_create() > > Signed-off-by: Brian Norris Not seeing why we need dm_table_create() exposed. So I think you went the wrong way with this. Unless you have an actual need, I'd prefer to see dm_table_create() moved from include/linux/device-mapper.h to drivers/md/dm.h Mike > --- > drivers/md/dm.h | 1 - > include/linux/device-mapper.h | 5 + > 2 files changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/md/dm.h b/drivers/md/dm.h > index f298b01f7ab3..c54d2f1934ce 100644 > --- a/drivers/md/dm.h > +++ b/drivers/md/dm.h > @@ -48,7 +48,6 @@ struct dm_md_mempools; > /*- > * Internal table functions. > *---*/ > -void dm_table_destroy(struct dm_table *t); > void dm_table_event_callback(struct dm_table *t, >void (*fn)(void *), void *context); > struct dm_target *dm_table_get_target(struct dm_table *t, unsigned int > index); > diff --git a/include/linux/device-mapper.h b/include/linux/device-mapper.h > index a7e6903866fd..70cb6af56f67 100644 > --- a/include/linux/device-mapper.h > +++ b/include/linux/device-mapper.h > @@ -472,6 +472,11 @@ void dm_table_set_type(struct dm_table *t, unsigned > type); > int dm_table_complete(struct dm_table *t); > > /* > + * Destroy the table when finished. > + */ > +void dm_table_destroy(struct dm_table *t); > + > +/* > * Target may require that it is never sent I/O larger than len. > */ > int __must_check dm_set_target_max_io_len(struct dm_target *ti, sector_t > len); > -- > 2.12.2.564.g063fe858b8-goog >
Re: dm: move dm_table_destroy() to same header as dm_table_create()
On Tue, Mar 28 2017 at 2:31pm -0400, Brian Norris wrote: > If anyone is going to use dm_table_create(), they probably should be > able to use dm_table_destroy() too. Move the dm_table_destroy() > definition outside the private header, near dm_table_create() > > Signed-off-by: Brian Norris Not seeing why we need dm_table_create() exposed. So I think you went the wrong way with this. Unless you have an actual need, I'd prefer to see dm_table_create() moved from include/linux/device-mapper.h to drivers/md/dm.h Mike > --- > drivers/md/dm.h | 1 - > include/linux/device-mapper.h | 5 + > 2 files changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/md/dm.h b/drivers/md/dm.h > index f298b01f7ab3..c54d2f1934ce 100644 > --- a/drivers/md/dm.h > +++ b/drivers/md/dm.h > @@ -48,7 +48,6 @@ struct dm_md_mempools; > /*- > * Internal table functions. > *---*/ > -void dm_table_destroy(struct dm_table *t); > void dm_table_event_callback(struct dm_table *t, >void (*fn)(void *), void *context); > struct dm_target *dm_table_get_target(struct dm_table *t, unsigned int > index); > diff --git a/include/linux/device-mapper.h b/include/linux/device-mapper.h > index a7e6903866fd..70cb6af56f67 100644 > --- a/include/linux/device-mapper.h > +++ b/include/linux/device-mapper.h > @@ -472,6 +472,11 @@ void dm_table_set_type(struct dm_table *t, unsigned > type); > int dm_table_complete(struct dm_table *t); > > /* > + * Destroy the table when finished. > + */ > +void dm_table_destroy(struct dm_table *t); > + > +/* > * Target may require that it is never sent I/O larger than len. > */ > int __must_check dm_set_target_max_io_len(struct dm_target *ti, sector_t > len); > -- > 2.12.2.564.g063fe858b8-goog >