Zdenek Kabelac
6d7f260f92
dmeventd: fix test for select return value
...
Do not call read when select return -1 && EINTR.
Also check for return valuer from read() and
abort write function when unexpected error happens.
2014-08-19 14:33:06 +02:00
Zdenek Kabelac
cbdf63fdd2
cleanup: indent in devmapper-event
...
Drop header inclusion - this file is already included.
Shorten code.
2014-04-30 10:26:30 +02:00
Zdenek Kabelac
816cc94ac1
devmapper-event: always initialize timeout
...
Always pass fully initialized timeval struct to select.
2014-04-30 10:26:29 +02:00
Zdenek Kabelac
6448428d05
cleanup: add some comment indents...
...
Just cleanup things
2014-04-18 16:38:51 +02:00
Zdenek Kabelac
db0045dfc9
devmapper-event: always initialize timeout
...
Before calling select, always set all struct members of timeout.
2014-04-18 16:38:48 +02:00
Zdenek Kabelac
406ec4162f
cleanup: use dm_free without extra test
...
It's ok to free(NULL).
2014-03-25 11:22:59 +01:00
Zdenek Kabelac
db71739f42
cleanup: initilization of vars
2014-03-25 11:22:58 +01:00
Zdenek Kabelac
5c9165705a
cleanup: indent
2014-03-25 11:22:58 +01:00
Zdenek Kabelac
c7b2c08a6b
cleanup: use NULL for pointer reset
2014-03-25 11:22:58 +01:00
Petr Rockai
38457e1be9
libdevmapper-event: Print a deprecation warning for non-default plugins.
2014-02-10 14:52:59 +01:00
Zdenek Kabelac
5bdbaf4ed7
cleanup: convert log_sys_error to log_sys_debug
...
Use debug for those error reports which do not lead to error return
call.
2013-11-28 12:48:01 +01:00
Zdenek Kabelac
6dae237303
dmeventd: fifo init and close cleanup
...
Use structure initialization for easier to read code.
Close only descriptors >= 0.
2013-11-28 12:43:14 +01:00
Zdenek Kabelac
6fa95d17ee
dmeventd: move format text to printf
...
Instead of passing argument with format string to printf(),
put the string as arg directly.
Also move there remains args to make the code shorter.
2013-11-22 21:00:51 +01:00
Zdenek Kabelac
47419d21ac
cleanup: stack usage
...
Shortening code with macros return_0, return_NULL.
Add some missing stack prints in error paths.
2013-07-01 23:11:14 +02:00
Zdenek Kabelac
a5ad1ee858
dmeventd: return error if device is not found
...
Do not return 'ok' status if we have failed to found device.
(Since it looks like the device is monitored)
2013-04-25 17:33:24 +02:00
Zdenek Kabelac
45f396f2a0
dmeventd: check for msg.data nonnull
...
Ensure we will not use msg.data as NULL for strchr.
2013-04-21 22:56:59 +02:00
Zdenek Kabelac
15891d366d
cleanup: add error message and simplify creation
...
Report error for malloc failure, and use zeroed allocation
to initialize handler structure.
2012-08-23 14:37:38 +02:00
Zdenek Kabelac
516b79299a
Fix check for passed in path for dmeventd startup
...
Check passed in executable path for dmeventd instead of predefined
compiled in path which is not the thing to be executed.
2012-03-20 17:38:47 +00:00
Zdenek Kabelac
65cfc5d16d
We need longer window for checking read from fifo.
...
Seems like some dmeventd startups are taking more time then expected,
so make the time window longer here.
2012-03-12 14:46:53 +00:00
Zdenek Kabelac
310f54439c
More useful debug message
2012-03-01 10:41:48 +00:00
Zdenek Kabelac
c19d86338d
Better detection of missing dmeventd fifo connection
2012-02-28 11:03:24 +00:00
Zdenek Kabelac
4d44893d60
Add log_sys_error for close
2012-02-28 10:14:06 +00:00
Zdenek Kabelac
80202ecd98
Detect failing fifo
...
If the fifo died because of dmeventd restart - do not wait for 20s
in select - it will not get better and return error immediately.
2012-02-15 13:56:47 +00:00
Zdenek Kabelac
74b5744b4b
Check for missing reply_uuid
2012-02-13 11:24:09 +00:00
Zdenek Kabelac
8380b37529
Fix message check
...
Check pointer from strchr for NULL instead of crash later.
Badly formated message would have crash dmeventd otherwise.
2012-02-10 15:17:52 +00:00
Alasdair Kergon
c837830f6a
report which dev was not found
2011-07-08 12:35:48 +00:00
Petr Rockai
968cdc0066
Add rudimentary versioning to the dmevend protocol, allowing us to detect the
...
(protocol) version of the running dmeventd on the client side.
Right now this is only used in dmeventd -R.
2011-04-04 16:11:09 +00:00
Milan Broz
cbedb99e4c
Fix some compile warnings on RHEL5
...
- returned char not needed to be explicitly const
- warn if pipe() fails in clvmd (more fixes here needed for error paths...)
- assign (and ignore) read() output in drain buffer
2011-03-01 20:17:56 +00:00
Zdenek Kabelac
0a9b444a60
Remove dead assignment of 'ret' value
...
Variable 'ret' assigned from _do_event() was actually not used and replaced with next
assignment without any read of the returned value.
Code is reformated - so the error path is put in the if() branch and normal
code is put after the 'if' together with FIXME comment.
FIXME lowprio: logging needs to be fixed in this code,
- multiple log_errors are printed, stacks are missing...
2011-01-06 10:45:41 +00:00
Zdenek Kabelac
4b1232984b
Remove unneeded stack prints after log_error
2011-01-06 09:45:05 +00:00
Zdenek Kabelac
4388a09b0f
Detect errors from dm_task_set calls
...
Check for errors in dm_task_set calls.
Use goto_bad macro with stack trace.
Replace label failed: with bad:.
2010-12-22 15:28:44 +00:00
Zdenek Kabelac
d80f8cf41b
Fix clang warning for ntohl(*((uint32_t *)buf))
...
We cast (char*) to (uint32_t*) that changes alignment requierements.
For our case the code has been correct as alloca() returns properly
aligned buffer, however this patch make it cleaner and more readable
and avoids warning generation.
2010-10-25 11:57:06 +00:00
Petr Rockai
d95a85ca36
Implement dmeventd -R, allowing dmeventd to be restarted without losing
...
monitoring state.
2010-10-20 15:12:12 +00:00
Alasdair Kergon
d1e8046f56
Various small cleanups and fixes related to monitoring.
2010-08-16 22:54:35 +00:00
Alasdair Kergon
470c18847d
Remove superfluous NULL pointer tests before dm_free from dmeventd.
2010-08-16 18:19:46 +00:00
Peter Rajnoha
bda3982016
Use UUIDs instead of names while processing event handlers.
...
Internally, we used DM names instead of UUIDs while processing event
handlers. This caused problems while trying to vgrename a VG with active LVs
where the names are being changed and so the devices were not found then.
The patch also contains a little bit of refactoring, moving "build_dlid" code
found in dev_manager.c to "build_dm_uuid", now in lvm-string.c (so we have
build_dm_uuid and build_dm_name at one place).
2010-04-14 13:01:38 +00:00
Zdenek Kabelac
08ebb57c9b
Move declaration of struct dm_info info to declaration block.
2010-03-24 11:36:48 +00:00
Zdenek Kabelac
5a4eeb69c4
Cleanup gcc warning: null argument where non-null required (arg.2)
...
As the const declaration of execvp is a bit weird, using local
dmeventdpath string.
2010-01-14 10:11:26 +00:00
Mikulas Patocka
3395d72881
Change exit() to _exit() in the child process. exit flushes stdio file buffers,
...
_exit doesn't. If there were some open files, an error in exec and subsequent
exit() would cause the buffers to be flushed twice.
Example:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/wait.h>
int main()
{
printf("buu");
if (!fork()) {
execl("/bin/true-not-exists", "/bin/true", NULL);
exit(1);
}
wait(NULL);
return 0;
}
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com
---
daemons/dmeventd/libdevmapper-event.c | 2 +-
lib/misc/lvm-exec.c | 2 +-
test/harness.c | 3 ++-
tools/dmsetup.c | 2 +-
4 files changed, 5 insertions(+), 4 deletions(-)
2009-07-13 21:26:41 +00:00
Milan Broz
01fb9ca9a0
Do not fork daemon when dmeventd cannot be found.
2009-06-15 12:29:41 +00:00
Alasdair Kergon
d4b9af444c
more tweaks for dmeventd - not finished yet
2008-11-03 23:01:21 +00:00
Petr Rockai
cd1a7e80c0
Fix a possible double-free in libdevmapper-event.
2007-11-27 12:26:06 +00:00
Alasdair Kergon
147d5faccf
Fix inconsistent licence notices: executables are GPLv2; libraries LGPLv2.1.
2007-08-21 16:26:07 +00:00
Alasdair Kergon
27c7135097
Use NULL not 0.
...
Remove worthless comment.
2007-08-05 00:13:02 +00:00
Petr Rockai
674cfe8071
Fix a possible segfault in libdevmapper-event. Thanks to Brian J. Wood
...
for noticing this.
2007-08-02 22:31:59 +00:00
Milan Broz
0329281b49
Fix libdevmapper-event memory leaks
2007-04-19 19:10:19 +00:00
Alasdair Kergon
112d09deb1
Improve dmeventd messaging protocol: drain pipe and tag messages.
2007-02-02 17:08:51 +00:00
Alasdair Kergon
4dcaa2300c
Add dm_event_handler_[gs]et_timeout functions.
...
Streamline dm_report_field_* interface.
2007-01-22 15:03:57 +00:00
Alasdair Kergon
c63c19a73e
stat oom_adj and stay silent if it doesn't exist
...
dm_event_handler now keeps private copies of strings
2007-01-17 14:45:10 +00:00
Alasdair Kergon
5611829c89
more fixes
2007-01-16 23:03:13 +00:00