Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/dev/dm - add a function to get the inactive table's size
details: https://anonhg.NetBSD.org/src/rev/07d48b5b0e8a
branches: trunk
changeset: 768798:07d48b5b0e8a
user: ahoka <ahoka%NetBSD.org@localhost>
date: Sat Aug 27 17:07:49 2011 +0000
description:
- add a function to get the inactive table's size
- some whitespace fix from emacs...
diffstat:
sys/dev/dm/dm.h | 31 ++++++++++++++++---------------
sys/dev/dm/dm_ioctl.c | 3 ++-
2 files changed, 18 insertions(+), 16 deletions(-)
diffs (142 lines):
diff -r f7860fdf91af -r 07d48b5b0e8a sys/dev/dm/dm.h
--- a/sys/dev/dm/dm.h Sat Aug 27 17:07:28 2011 +0000
+++ b/sys/dev/dm/dm.h Sat Aug 27 17:07:49 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: dm.h,v 1.22 2010/12/23 20:07:13 christos Exp $ */
+/* $NetBSD: dm.h,v 1.23 2011/08/27 17:07:49 ahoka Exp $ */
/*
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -88,7 +88,7 @@
typedef struct dm_table_head {
/* Current active table is selected with this. */
- int cur_active_table;
+ int cur_active_table;
struct dm_table tables[2];
kmutex_t table_mtx;
@@ -121,7 +121,7 @@
* It points to SLIST of device tables and mirrored, snapshoted etc. devices.
*/
TAILQ_HEAD(dm_dev_head, dm_dev) dm_devs;
-
+
typedef struct dm_dev {
char name[DM_NAME_LEN];
char uuid[DM_UUID_LEN];
@@ -132,7 +132,7 @@
kmutex_t dev_mtx; /* mutex for generall device lock */
kcondvar_t dev_cv; /* cv for between ioctl synchronisation */
-
+
uint32_t event_nr;
uint32_t ref_cnt;
@@ -141,10 +141,10 @@
dm_table_head_t table_head;
struct dm_dev_head upcalls;
-
+
struct disk *diskp;
kmutex_t diskp_mtx;
-
+
TAILQ_ENTRY(dm_dev) next_upcall; /* LIST of mirrored, snapshoted devices. */
TAILQ_ENTRY(dm_dev) next_devlist; /* Major device list. */
@@ -152,7 +152,7 @@
/* Device types used for upcalls */
#define DM_ZERO_DEV (1 << 0)
-#define DM_ERROR_DEV (1 << 1)
+#define DM_ERROR_DEV (1 << 1)
#define DM_LINEAR_DEV (1 << 2)
#define DM_MIRROR_DEV (1 << 3)
#define DM_STRIPE_DEV (1 << 4)
@@ -160,15 +160,15 @@
#define DM_SNAPSHOT_ORIG_DEV (1 << 6)
#define DM_SPARE_DEV (1 << 7)
/* Set this device type only during dev remove ioctl. */
-#define DM_DELETING_DEV (1 << 8)
+#define DM_DELETING_DEV (1 << 8)
/* for zero, error : dm_target->target_config == NULL */
-
+
/*
* Target config is initiated with target_init function.
*/
-
+
/* for linear : */
typedef struct target_linear_config {
dm_pdev_t *pdev;
@@ -214,7 +214,7 @@
dm_pdev_t *tsc_snap_dev;
/* cow dev is set only for persistent snapshot devices */
dm_pdev_t *tsc_cow_dev;
-
+
uint64_t tsc_chunk_size;
uint32_t tsc_persistent_dev;
} dm_target_snapshot_config_t;
@@ -233,7 +233,7 @@
/* Destroy target_config area */
int (*destroy)(dm_table_entry_t *);
-
+
int (*deps) (dm_table_entry_t *, prop_array_t);
/*
* Status routine is called to get params string, which is target
@@ -245,10 +245,10 @@
int (*sync)(dm_table_entry_t *);
int (*upcall)(dm_table_entry_t *, struct buf *);
int (*secsize)(dm_table_entry_t *, unsigned *);
-
+
uint32_t version[3];
int ref_cnt;
-
+
TAILQ_ENTRY(dm_target) dm_target_next;
} dm_target_t;
@@ -315,7 +315,7 @@
int dm_target_linear_secsize(dm_table_entry_t *, unsigned *);
/* Generic function used to convert char to string */
-uint64_t atoi(const char *);
+uint64_t atoi(const char *);
/* dm_target_stripe.c */
int dm_target_stripe_init(dm_dev_t *, void**, char *);
@@ -333,6 +333,7 @@
int dm_table_destroy(dm_table_head_t *, uint8_t);
uint64_t dm_table_size(dm_table_head_t *);
+uint64_t dm_inactive_table_size(dm_table_head_t *);
void dm_table_disksize(dm_table_head_t *, uint64_t *, unsigned *);
dm_table_t * dm_table_get_entry(dm_table_head_t *, uint8_t);
int dm_table_get_target_count(dm_table_head_t *, uint8_t);
diff -r f7860fdf91af -r 07d48b5b0e8a sys/dev/dm/dm_ioctl.c
--- a/sys/dev/dm/dm_ioctl.c Sat Aug 27 17:07:28 2011 +0000
+++ b/sys/dev/dm/dm_ioctl.c Sat Aug 27 17:07:49 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: dm_ioctl.c,v 1.25 2011/05/24 15:23:41 joerg Exp $ */
+/* $NetBSD: dm_ioctl.c,v 1.26 2011/08/27 17:07:49 ahoka Exp $ */
/*
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -793,6 +793,7 @@
free(str, M_TEMP);
dm_dev_unbusy(dmv);
+ dm_target_unbusy(target);
return ret;
}
last_table = table_en;
Home |
Main Index |
Thread Index |
Old Index