dm: move dm_table_destroy() to same header as dm_table_create()
diff mbox

Message ID 20170328183102.80620-1-briannorris@chromium.org
State Accepted, archived
Delegated to: Mike Snitzer
Headers show

Commit Message

Brian Norris March 28, 2017, 6:31 p.m. UTC
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 <briannorris@chromium.org>
---
 drivers/md/dm.h               | 1 -
 include/linux/device-mapper.h | 5 +++++
 2 files changed, 5 insertions(+), 1 deletion(-)

Comments

Brian Norris April 4, 2017, 10:35 p.m. UTC | #1
On Tue, Mar 28, 2017 at 03:31:51PM -0400, Mike Snitzer wrote:
> On Tue, Mar 28 2017 at  2:31pm -0400,
> Brian Norris <briannorris@chromium.org> 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 <briannorris@chromium.org>
> 
> 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

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
Enric Balletbo i Serra April 5, 2017, 8:04 a.m. UTC | #2
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 <briannorris@chromium.org> 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 <briannorris@chromium.org>
>>
>> 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
> 

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel

Patch
diff mbox

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);