Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
48d0d25
Initial import of Kuiper code
germanop Sep 24, 2015
d157a63
Removed unnecessary goto and return values
germanop Sep 24, 2015
2810ec8
Fixed flag size from uint8_t to uint16_t
germanop Sep 24, 2015
8335595
Added -s option to start thin-tapdisk in slave mode
chandrikas Sep 24, 2015
1b50b75
Ensure kpr_tcp_conn_tx_rx returns non-zero value on success
chandrikas Sep 24, 2015
1eb99e1
Added debug messages
chandrikas Sep 24, 2015
042af12
Worker threads in master mode need to notify if pushing to net queues
germanop Sep 24, 2015
d978d88
Fixed "lvchange --refresh" to work on a slave
germanop Sep 24, 2015
6a36340
Clean-up socket on exit
germanop Sep 24, 2015
ea523ec
Resize and refresh no more hardcoded
germanop Sep 24, 2015
a997bca
Use xenvm instead of lvm
jonludlam Sep 24, 2015
2c33a77
Refine thin provisioning hooks
stefanopanella Sep 24, 2015
1cef4c5
Start using new tapdisk-allocator protocol
stefanopanella Sep 24, 2015
599049c
CP-11868: Extend blktap's lvm-util for thin provisioning
kostaslambda Sep 24, 2015
8fa5232
Fix the timeout in sock_client2.c implementation
stefanopanella Sep 24, 2015
e2a9b12
CA-169598: thinprovd started as a service at boot
chandrikas Sep 24, 2015
3a3df95
Always exit upon signal
germanop Sep 24, 2015
354fad5
Signal handlers registered through proper setter function
germanop Sep 24, 2015
f6099ed
Handle SIGTERM as well
germanop Sep 24, 2015
a020e93
Daemon killed using SIGTERM (now handled by the daemon)
germanop Sep 24, 2015
7ecea23
CP-12478: Implement a logging mechanism for thinprovd
kostaslambda Sep 24, 2015
b802f13
CP-12487 Add quantum allocator parameter
stefanopanella Sep 24, 2015
8945a2e
Rename sock_client2.c and sock_serv.c
stefanopanella Sep 24, 2015
848f9bb
CA-172824: Fix protocol on PAYLOAD_CLI requests
stefanopanella Sep 24, 2015
c4b76cc
CA-173663: Close the eventfd when deleting the VG
stefanopanella Sep 24, 2015
ce46edc
CA-173408: initialise recvfrom addrlen argument properly
stefanopanella Sep 24, 2015
8c43de4
CA-173369: Make thinprovd crash consistent
stefanopanella Sep 24, 2015
a85bbc9
CP-12850: Refactor thinprovd_log code to be less specific
stefanopanella Sep 24, 2015
9857f95
CP-12851: Move all thinprovd log to use thin_log facility
stefanopanella Sep 24, 2015
7ba9d52
CA-172827: Fix resize-demo improper arguments to logger
stefanopanella Sep 24, 2015
cacff79
lvm_create_cmd() reads the allocation type from a file
germanop Sep 24, 2015
fb23f6e
CP-12660: Retry send/recv if interrupted by a signal
stefanopanella Sep 24, 2015
8a17e9e
CA-174097: Request must be completed only if in progress
stefanopanella Sep 24, 2015
c78798f
CA-174119: Infer SR alloc type from xenvm config file's existence
kostaslambda Sep 24, 2015
9199c90
CA-181428: Tapdisk should remember xlvhd parameters on unpause
stefanopanella Sep 2, 2015
162eb4f
CP-13881: Made xenvm config files non-persistent
chandrikas Aug 27, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
SUBDIRS = lvm
SUBDIRS += $(MAYBE_part)
SUBDIRS += vhd
SUBDIRS += thin
SUBDIRS += control
SUBDIRS += drivers
SUBDIRS += include
Expand Down
1 change: 1 addition & 0 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -80,5 +80,6 @@ control/Makefile
drivers/Makefile
include/Makefile
tapback/Makefile
thin/Makefile
])
AC_OUTPUT
4 changes: 2 additions & 2 deletions control/tap-ctl-create.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@

int
tap_ctl_create(const char *params, char **devname, int flags, int parent_minor,
char *secondary, int timeout)
char *secondary, int timeout, int alloc_quantum)
{
int err, id, minor;

Expand All @@ -49,7 +49,7 @@ tap_ctl_create(const char *params, char **devname, int flags, int parent_minor,
goto destroy;

err = tap_ctl_open(id, minor, params, flags, parent_minor, secondary,
timeout);
timeout, alloc_quantum);
if (err)
goto detach;

Expand Down
4 changes: 3 additions & 1 deletion control/tap-ctl-open.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@

int
tap_ctl_open(const int id, const int minor, const char *params, int flags,
const int prt_minor, const char *secondary, int timeout)
const int prt_minor, const char *secondary, int timeout,
int alloc_quantum)
{
int err;
tapdisk_message_t message;
Expand All @@ -41,6 +42,7 @@ tap_ctl_open(const int id, const int minor, const char *params, int flags,
message.u.params.devnum = minor;
message.u.params.prt_devnum = prt_minor;
message.u.params.req_timeout = timeout;
message.u.params.alloc_quantum = alloc_quantum;
message.u.params.flags = flags;

err = snprintf(message.u.params.path,
Expand Down
36 changes: 28 additions & 8 deletions control/tap-ctl.c
Original file line number Diff line number Diff line change
Expand Up @@ -252,13 +252,16 @@ tap_cli_create_usage(FILE *stream)
"[-r turn on read caching into leaf node] [-2 <path> "
"use secondary image (in mirror mode if no -s)] [-s "
"fail over to the secondary image on ENOSPC] "
"[-t request timeout in seconds] [-D no O_DIRECT]\n");
"[-t request timeout in seconds] [-D no O_DIRECT] "
"[-T enable thin provisioning] "
"[-q allocation quantum in MBytes]\n");

}

static int
tap_cli_create(int argc, char **argv)
{
int c, err, flags, prt_minor, timeout;
int c, err, flags, prt_minor, timeout, alloc_quantum;
char *args, *devname, *secondary;

args = NULL;
Expand All @@ -267,9 +270,10 @@ tap_cli_create(int argc, char **argv)
prt_minor = -1;
flags = 0;
timeout = 0;
alloc_quantum = 0;

optind = 0;
while ((c = getopt(argc, argv, "a:RDd:e:r2:st:h")) != -1) {
while ((c = getopt(argc, argv, "a:RDd:e:r2:st:Tq:h")) != -1) {
switch (c) {
case 'a':
args = optarg;
Expand Down Expand Up @@ -300,6 +304,12 @@ tap_cli_create(int argc, char **argv)
case 't':
timeout = atoi(optarg);
break;
case 'T':
flags |= TAPDISK_MESSAGE_FLAG_THIN;
break;
case 'q':
alloc_quantum = atoi(optarg);
break;
case '?':
goto usage;
case 'h':
Expand All @@ -312,7 +322,7 @@ tap_cli_create(int argc, char **argv)
goto usage;

err = tap_ctl_create(args, &devname, flags, prt_minor, secondary,
timeout);
timeout, alloc_quantum);
if (!err)
printf("%s\n", devname);

Expand Down Expand Up @@ -717,14 +727,16 @@ tap_cli_open_usage(FILE *stream)
"[-r turn on read caching into leaf node] [-2 <path> "
"use secondary image (in mirror mode if no -s)] [-s "
"fail over to the secondary image on ENOSPC] "
"[-t request timeout in seconds] [-D no O_DIRECT]\n");
"[-t request timeout in seconds] [-D no O_DIRECT] "
"[-T enable thin provisioning] "
"[-q allocation quantum in MBytes]\n");
}

static int
tap_cli_open(int argc, char **argv)
{
const char *args, *secondary;
int c, pid, minor, flags, prt_minor, timeout;
int c, pid, minor, flags, prt_minor, timeout, alloc_quantum;

flags = 0;
pid = -1;
Expand All @@ -733,9 +745,11 @@ tap_cli_open(int argc, char **argv)
timeout = 0;
args = NULL;
secondary = NULL;
alloc_quantum = 0;


optind = 0;
while ((c = getopt(argc, argv, "a:RDm:p:e:r2:st:h")) != -1) {
while ((c = getopt(argc, argv, "a:RDm:p:e:r2:st:Tq:h")) != -1) {
switch (c) {
case 'p':
pid = atoi(optarg);
Expand Down Expand Up @@ -769,6 +783,12 @@ tap_cli_open(int argc, char **argv)
case 't':
timeout = atoi(optarg);
break;
case 'T':
flags |= TAPDISK_MESSAGE_FLAG_THIN;
break;
case 'q':
alloc_quantum = atoi(optarg);
break;
case '?':
goto usage;
case 'h':
Expand All @@ -781,7 +801,7 @@ tap_cli_open(int argc, char **argv)
goto usage;

return tap_ctl_open(pid, minor, args, flags, prt_minor, secondary,
timeout);
timeout, alloc_quantum);

usage:
tap_cli_open_usage(stderr);
Expand Down
1 change: 1 addition & 0 deletions drivers/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ libtapdisk_la_SOURCES += td-stats.c
libtapdisk_la_SOURCES += td-stats.h

libtapdisk_la_LIBADD = ../vhd/lib/libvhd.la
libtapdisk_la_LIBADD += ../thin/libtapdiskthin.la
libtapdisk_la_LIBADD += -laio
libtapdisk_la_LIBADD += -lxenctrl

Expand Down
Loading