Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.3
lvm2
pvmove_support_clustered_vg.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File pvmove_support_clustered_vg.diff of Package lvm2
--- lib/activate/activate.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) --- LVM2.2.02.98.orig/lib/activate/activate.c +++ LVM2.2.02.98/lib/activate/activate.c @@ -569,6 +569,26 @@ int module_present(struct cmd_context *c return ret; } +/* 0 on not running, 1 on running */ +static int check_cmirrord(void) +{ + int fd; + int ret = 0; + struct flock lock; + if (( fd = open("/var/run/cmirrord.pid", O_WRONLY)) >= 0) + { + lock.l_type = F_WRLCK; + lock.l_start = 0; + lock.l_whence = SEEK_SET; + lock.l_len = 0; + if (fcntl(fd, F_SETLK, &lock) < 0) { + ret = 1; + } + close(fd); + } + return ret; +} + int target_present(struct cmd_context *cmd, const char *target_name, int use_modprobe) { @@ -577,6 +597,16 @@ int target_present(struct cmd_context *c if (!activation()) return 0; + if (!strncmp(target_name, "log-userspace", 13)) { + /* + When the target_name is log-userspace, it also means + we need cmirrord daemon running. It doesn't work alone. + */ + if (!check_cmirrord()) + log_error("cmirrord is required, but not running now."); + return_0; + } + #ifdef MODPROBE_CMD if (use_modprobe) { if (target_version(target_name, &maj, &min, &patchlevel))
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor