Skip to content

Commit 63e0b1d

Browse files
committed
dm clone remove device
1 parent 2a38b51 commit 63e0b1d

3 files changed

Lines changed: 16 additions & 1 deletion

File tree

src/clone/clone-ioctl.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,3 +166,10 @@ int dm_clone_send_message(const char *name, const char *message) {
166166

167167
return dm_ioctl_run(name, DM_TARGET_MSG, dm, dm_size);
168168
}
169+
170+
int dm_clone_remove_device(const char *name) {
171+
struct dm_ioctl dm = {};
172+
173+
assert(name);
174+
return dm_ioctl_run(name, DM_DEV_REMOVE, &dm, sizeof(struct dm_ioctl));
175+
}

src/clone/clone-ioctl.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,5 @@ int dm_clone_create_device(
1111

1212
int dm_clone_send_message(const char *name, const char *message);
1313

14+
int dm_clone_remove_device(const char *name);
15+

src/clone/clone.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,12 @@ static int verb_add(int argc, char *argv[], void *userdata) {
7777
}
7878

7979
static int verb_remove(int argc, char *argv[], void *userdata) {
80+
const char *name = ASSERT_PTR(argv[1]);
81+
int r;
82+
83+
r = dm_clone_remove_device(name);
84+
if (r < 0)
85+
return r;
8086

8187
return 0;
8288
}
@@ -153,7 +159,7 @@ static int run(int argc, char *argv[]) {
153159

154160
static const Verb verbs[] = {
155161
{ "add", 5, 6, 0, verb_add },
156-
{ "remove", 1, 1, 0, verb_remove },
162+
{ "remove", 2, 2, 0, verb_remove },
157163
{}
158164
};
159165
return dispatch_verb(argc, argv, verbs, NULL);

0 commit comments

Comments
 (0)