dm - sync_devs() on creation, add new dict entries
authorAlex Hornung <ahornung@gmail.com>
Fri, 15 Jul 2011 21:59:17 +0000 (22:59 +0100)
committerAlex Hornung <ahornung@gmail.com>
Sat, 16 Jul 2011 17:36:33 +0000 (18:36 +0100)
 * call sync_devs() on device creation to ensure all devices are visible
   in userland immediately after return from kernel.

 * add some new, so far unusued, dict entries

 * sneak in my copyright as I've rewritten large parts of dm. That way
   at least everyone knows who to blame for broken stuff :)

sys/dev/disk/dm/device-mapper.c
sys/dev/disk/dm/dm_dev.c
sys/dev/disk/dm/dm_ioctl.c
sys/dev/disk/dm/dm_pdev.c
sys/dev/disk/dm/dm_table.c
sys/dev/disk/dm/dm_target.c
sys/dev/disk/dm/netbsd-dm.h

index dd637e6..b3176c0 100644 (file)
@@ -1,6 +1,7 @@
 /*        $NetBSD: device-mapper.c,v 1.22 2010/03/26 15:46:04 jakllsch Exp $ */
 
 /*
+ * Copyright (c) 2010-2011 Alex Hornung <alex@alexhornung.com>
  * Copyright (c) 2010 The NetBSD Foundation, Inc.
  * All rights reserved.
  *
index a309471..bc5c0e9 100644 (file)
@@ -1,6 +1,7 @@
 /*        $NetBSD: dm_dev.c,v 1.8 2010/01/04 00:19:08 haad Exp $      */
 
 /*
+ * Copyright (c) 2010-2011 Alex Hornung <alex@alexhornung.com>
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
  * All rights reserved.
  *
@@ -249,6 +250,9 @@ dm_dev_create(dm_dev_t **dmvp, const char *name, const char *uuid, int flags)
        dmv->devt = disk_create_named(name_buf, dm_minor, dmv->diskp, &dm_ops);
        reference_dev(dmv->devt);
 
+       /* Make sure the device are immediately available */
+       sync_devs();
+
        dmv->devt->si_drv1 = dmv;
        dmv->devt->si_drv2 = dmv->diskp;
 
index 8c02746..1d31631 100644 (file)
@@ -1,6 +1,7 @@
 /* $NetBSD: dm_ioctl.c,v 1.21 2010/02/25 20:48:58 jakllsch Exp $      */
 
 /*
+ * Copyright (c) 2010-2011 Alex Hornung <alex@alexhornung.com>
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
  * All rights reserved.
  *
index 3571b3a..6fd0adc 100644 (file)
@@ -1,6 +1,7 @@
 /*        $NetBSD: dm_pdev.c,v 1.6 2010/01/04 00:19:08 haad Exp $      */
 
 /*
+ * Copyright (c) 2010-2011 Alex Hornung <alex@alexhornung.com>
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
  * All rights reserved.
  *
index 3df7ae3..38850a8 100644 (file)
@@ -1,6 +1,7 @@
 /*        $NetBSD: dm_table.c,v 1.5 2010/01/04 00:19:08 haad Exp $      */
 
 /*
+ * Copyright (c) 2010-2011 Alex Hornung <alex@alexhornung.com>
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
  * All rights reserved.
  *
index 5c72e2b..de05efb 100644 (file)
@@ -1,6 +1,7 @@
 /*        $NetBSD: dm_target.c,v 1.12 2010/01/04 00:14:41 haad Exp $      */
 
 /*
+ * Copyright (c) 2010-2011 Alex Hornung <alex@alexhornung.com>
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
  * All rights reserved.
  *
index feb34d0..db01428 100644 (file)
 #define DM_DEV_NEWNAME        "newname"
 #define DM_DEV_NAME           "name"
 #define DM_DEV_DEV            "dev"
+#define DM_DEV_UID            "uid"
+#define DM_DEV_GID            "gid"
+#define DM_DEV_MODE           "mode"
 
 #define DM_TABLE_TYPE         "type"
 #define DM_TABLE_START        "start"
  */
 #define DM_QUERY_INACTIVE_TABLE_FLAG    (1 << 12) /* In */
 
+/*
+ * If set, a rename affects the UUID instead of the name. Only valid
+ * if the UUID was empty before.
+ */
+#define DM_UUID_FLAG           (1 << 14) /* In */
+
+/*
+ * Set this flag for the ioctl buffers to be wiped.
+ */
+#define DM_SECURE_DATA_FLAG    (1 << 15) /* In */
+
 #endif /* __NETBSD_DM_H__ */