mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
880507498a
Add new function dm_task_set_add_node() to select between 2 types of node creation in device directory. DM_ADD_NODE_ON_RESUME is now default and ensures node is created on resume. Old original behavior is accessible with DM_ADD_NODE_ON_CREATE. In this case node would be created during dmsetup create --notable. For the user 2 new options for dmsetup create are added: [{--addnodeonresume | --addnodeoncreate }] Properly working node creation on resume is needed for proper operation stacking and ability to correctly check in which state the device should after whole udev transation.
82 lines
1.6 KiB
C
82 lines
1.6 KiB
C
/*
|
|
* Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved.
|
|
* Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved.
|
|
*
|
|
* This file is part of the device-mapper userspace tools.
|
|
*
|
|
* This copyrighted material is made available to anyone wishing to use,
|
|
* modify, copy, or redistribute it subject to the terms and conditions
|
|
* of the GNU Lesser General Public License v.2.1.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public License
|
|
* along with this program; if not, write to the Free Software Foundation,
|
|
* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
*/
|
|
|
|
#ifndef LIB_DMTARGETS_H
|
|
#define LIB_DMTARGETS_H
|
|
|
|
#include <inttypes.h>
|
|
#include <sys/types.h>
|
|
|
|
struct dm_ioctl;
|
|
struct dm_ioctl_v1;
|
|
|
|
struct target {
|
|
uint64_t start;
|
|
uint64_t length;
|
|
char *type;
|
|
char *params;
|
|
|
|
struct target *next;
|
|
};
|
|
|
|
struct dm_task {
|
|
int type;
|
|
char *dev_name;
|
|
|
|
struct target *head, *tail;
|
|
|
|
int read_only;
|
|
uint32_t event_nr;
|
|
int major;
|
|
int minor;
|
|
int allow_default_major_fallback;
|
|
uid_t uid;
|
|
gid_t gid;
|
|
mode_t mode;
|
|
uint32_t read_ahead;
|
|
uint32_t read_ahead_flags;
|
|
union {
|
|
struct dm_ioctl *v4;
|
|
struct dm_ioctl_v1 *v1;
|
|
} dmi;
|
|
char *newname;
|
|
char *message;
|
|
char *geometry;
|
|
uint64_t sector;
|
|
int no_flush;
|
|
int no_open_count;
|
|
int skip_lockfs;
|
|
int query_inactive_table;
|
|
int suppress_identical_reload;
|
|
dm_add_node_t add_node;
|
|
uint64_t existing_table_size;
|
|
int cookie_set;
|
|
int new_uuid;
|
|
int secure_data;
|
|
|
|
char *uuid;
|
|
};
|
|
|
|
struct cmd_data {
|
|
const char *name;
|
|
const int cmd;
|
|
const int version[3];
|
|
};
|
|
|
|
int dm_check_version(void);
|
|
uint64_t dm_task_get_existing_table_size(struct dm_task *dmt);
|
|
|
|
#endif
|