mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
dmsetup: allow --noflush with status/wait for thin
Allow --noflush with dmsetup status and wait (for thin target 1.3.0 / ioctl 4.23.0).
This commit is contained in:
parent
186a2772e8
commit
25ae0b39b7
@ -1,5 +1,6 @@
|
|||||||
Version 1.02.76 -
|
Version 1.02.76 -
|
||||||
===============================
|
===============================
|
||||||
|
Allow --noflush with dmsetup status and wait (for thin target).
|
||||||
Add dm_config_write_one_node to libdevmapper.
|
Add dm_config_write_one_node to libdevmapper.
|
||||||
Add support for thin pool message release/reserve_metadata_snap.
|
Add support for thin pool message release/reserve_metadata_snap.
|
||||||
Add support for thin pool discard and external origin.
|
Add support for thin pool discard and external origin.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2001 - 2003 Sistina Software (UK) Limited.
|
* Copyright (C) 2001 - 2003 Sistina Software (UK) Limited.
|
||||||
* Copyright (C) 2004 - 2009 Red Hat, Inc. All rights reserved.
|
* Copyright (C) 2004 - 2012 Red Hat, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* This file is released under the LGPL.
|
* This file is released under the LGPL.
|
||||||
*/
|
*/
|
||||||
@ -269,9 +269,9 @@ enum {
|
|||||||
#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl)
|
#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl)
|
||||||
|
|
||||||
#define DM_VERSION_MAJOR 4
|
#define DM_VERSION_MAJOR 4
|
||||||
#define DM_VERSION_MINOR 20
|
#define DM_VERSION_MINOR 23
|
||||||
#define DM_VERSION_PATCHLEVEL 0
|
#define DM_VERSION_PATCHLEVEL 0
|
||||||
#define DM_VERSION_EXTRA "-ioctl (2011-02-02)"
|
#define DM_VERSION_EXTRA "-ioctl (2012-07-25)"
|
||||||
|
|
||||||
/* Status bits */
|
/* Status bits */
|
||||||
#define DM_READONLY_FLAG (1 << 0) /* In/Out */
|
#define DM_READONLY_FLAG (1 << 0) /* In/Out */
|
||||||
@ -309,6 +309,8 @@ enum {
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Set this to suspend without flushing queued ios.
|
* Set this to suspend without flushing queued ios.
|
||||||
|
* Also disables flushing uncommitted changes in the thin target before
|
||||||
|
* generating statistics for DM_TABLE_STATUS and DM_DEV_WAIT.
|
||||||
*/
|
*/
|
||||||
#define DM_NOFLUSH_FLAG (1 << 11) /* In */
|
#define DM_NOFLUSH_FLAG (1 << 11) /* In */
|
||||||
|
|
||||||
@ -331,8 +333,8 @@ enum {
|
|||||||
#define DM_UUID_FLAG (1 << 14) /* In */
|
#define DM_UUID_FLAG (1 << 14) /* In */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If set, all buffers are wiped after use. Used when sending
|
* If set, all buffers are wiped after use. Use when sending
|
||||||
* or requesting sensitive data like crypt key.
|
* or requesting sensitive data such as an encryption key.
|
||||||
*/
|
*/
|
||||||
#define DM_SECURE_DATA_FLAG (1 << 15) /* In */
|
#define DM_SECURE_DATA_FLAG (1 << 15) /* In */
|
||||||
|
|
||||||
|
@ -109,6 +109,7 @@ dmsetup \- low level logical volume management
|
|||||||
.B dmsetup status
|
.B dmsetup status
|
||||||
.RB [ \-\-target
|
.RB [ \-\-target
|
||||||
.IR target_type ]
|
.IR target_type ]
|
||||||
|
.RB [ \-\-noflush ]
|
||||||
.RI [ device_name ]
|
.RI [ device_name ]
|
||||||
.br
|
.br
|
||||||
.B dmsetup suspend
|
.B dmsetup suspend
|
||||||
@ -143,6 +144,7 @@ dmsetup \- low level logical volume management
|
|||||||
.B dmsetup version
|
.B dmsetup version
|
||||||
.br
|
.br
|
||||||
.B dmsetup wait
|
.B dmsetup wait
|
||||||
|
.RB [ \-\-noflush ]
|
||||||
.I device_name
|
.I device_name
|
||||||
.RI [ event_nr ]
|
.RI [ event_nr ]
|
||||||
.br
|
.br
|
||||||
@ -477,11 +479,13 @@ Default subsystem is LVM.
|
|||||||
.B status
|
.B status
|
||||||
.RB [ \-\-target
|
.RB [ \-\-target
|
||||||
.IR target_type ]
|
.IR target_type ]
|
||||||
|
.RB [ \-\-noflush ]
|
||||||
.RI [ device_name ]
|
.RI [ device_name ]
|
||||||
.br
|
.br
|
||||||
Outputs status information for each of the device's targets.
|
Outputs status information for each of the device's targets.
|
||||||
With \-\-target, only information relating to the specified target type
|
With \-\-target, only information relating to the specified target type
|
||||||
is displayed.
|
any is displayed. With \-\-noflush, the thin target (from version 1.3.0)
|
||||||
|
doesn't commit any outstanding changes to disk before reporting its statistics.
|
||||||
.br
|
.br
|
||||||
.HP
|
.HP
|
||||||
.B suspend
|
.B suspend
|
||||||
@ -577,6 +581,7 @@ Outputs version information.
|
|||||||
|
|
||||||
.TP
|
.TP
|
||||||
.B wait
|
.B wait
|
||||||
|
.RB [ \-\-noflush ]
|
||||||
.I device_name
|
.I device_name
|
||||||
.RI [ event_nr ]
|
.RI [ event_nr ]
|
||||||
.br
|
.br
|
||||||
@ -584,6 +589,8 @@ Sleeps until the event counter for device_name exceeds event_nr.
|
|||||||
Use \-v to see the event number returned.
|
Use \-v to see the event number returned.
|
||||||
To wait until the next event is triggered, use \fBinfo\fP to find
|
To wait until the next event is triggered, use \fBinfo\fP to find
|
||||||
the last event number.
|
the last event number.
|
||||||
|
With \-\-noflush, the thin target (from version 1.3.0) doesn't commit
|
||||||
|
any outstanding changes to disk before reporting its statistics.
|
||||||
.SH TABLE FORMAT
|
.SH TABLE FORMAT
|
||||||
Each line of the table specifies a single target and is of the form:
|
Each line of the table specifies a single target and is of the form:
|
||||||
.P
|
.P
|
||||||
|
@ -1642,6 +1642,9 @@ static int _status(CMD_ARGS)
|
|||||||
if (_switches[CHECKS_ARG] && !dm_task_enable_checks(dmt))
|
if (_switches[CHECKS_ARG] && !dm_task_enable_checks(dmt))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
|
if (_switches[NOFLUSH_ARG] && !dm_task_no_flush(dmt))
|
||||||
|
goto out;
|
||||||
|
|
||||||
if (!dm_task_run(dmt))
|
if (!dm_task_run(dmt))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
@ -2994,9 +2997,9 @@ static struct command _commands[] = {
|
|||||||
{"ls", "[--target <target_type>] [--exec <command>] [-o options] [--tree]", 0, 0, 0, _ls},
|
{"ls", "[--target <target_type>] [--exec <command>] [-o options] [--tree]", 0, 0, 0, _ls},
|
||||||
{"info", "[<device>]", 0, -1, 1, _info},
|
{"info", "[<device>]", 0, -1, 1, _info},
|
||||||
{"deps", "[-o options] [<device>]", 0, -1, 1, _deps},
|
{"deps", "[-o options] [<device>]", 0, -1, 1, _deps},
|
||||||
{"status", "[<device>] [--target <target_type>]", 0, -1, 1, _status},
|
{"status", "[<device>] [--noflush] [--target <target_type>]", 0, -1, 1, _status},
|
||||||
{"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, _status},
|
{"table", "[<device>] [--target <target_type>] [--showkeys]", 0, -1, 1, _status},
|
||||||
{"wait", "<device> [<event_nr>]", 0, 2, 0, _wait},
|
{"wait", "<device> [<event_nr>] [--noflush]", 0, 2, 0, _wait},
|
||||||
{"mknodes", "[<device>]", 0, -1, 1, _mknodes},
|
{"mknodes", "[<device>]", 0, -1, 1, _mknodes},
|
||||||
{"mangle", "[<device>]", 0, -1, 1, _mangle},
|
{"mangle", "[<device>]", 0, -1, 1, _mangle},
|
||||||
{"udevcreatecookie", "", 0, 0, 0, _udevcreatecookie},
|
{"udevcreatecookie", "", 0, 0, 0, _udevcreatecookie},
|
||||||
|
Loading…
Reference in New Issue
Block a user