Zdenek Kabelac
e50583d721
dmeventd: enable new logging
2015-10-13 15:09:35 +02:00
Zdenek Kabelac
c90363b585
dmeventd: use log_ macros in plugins
...
Convert from syslog to standard log_() macros in plugins.
2015-10-13 15:09:03 +02:00
Zdenek Kabelac
915f0faac1
dmeventd: syslog -> log_xxxxx
...
Convert logging of dmeventd to libdm logging macros.
2015-10-13 14:43:30 +02:00
Zdenek Kabelac
0641e3a5fd
libdmevent: add dm_event_log
...
Add dm_event_log() logging function.
Controled by dm_event_log_set().
2015-10-13 14:40:46 +02:00
Zdenek Kabelac
11a084cf42
dmeventd: log all commands with CMD: prefix
...
For easier grep of all processed command - add CMD: prefix to them.
Use >>> for entring command processing
and <<< when command is processed.
2015-10-13 14:40:46 +02:00
Zdenek Kabelac
d60794c3a3
dmeventd: fix loging report
...
msg.cmd holds return value from processing after _do_process_request,
so save it before call.
2015-10-13 14:40:46 +02:00
Zdenek Kabelac
7e1c08bb6a
dmeventd: correct ret code for fail
...
As _do_register_device() calls register_device() function that returns
1 success & 0 fail - ret = -ENOMEM for fail case instead of 0.
2015-10-13 14:38:49 +02:00
Zdenek Kabelac
2b9843c20b
dmeventd: reorder mempool allocation
...
Since lvm2_init() effectively detects memory leaks
allocate mempool after this initialization
(so it's not reported as leak).
2015-09-03 23:34:36 +02:00
Alasdair G Kergon
3934ade5a2
gitignore: Update for in-place build.
2015-07-27 13:18:35 +01:00
Alasdair G Kergon
dfe3eb12d0
include: Standardise around new tool.h.
2015-07-06 17:30:18 +01:00
Zdenek Kabelac
edbdbddfb6
dmeventd: better debug
...
Avoid using 'static' variable within threaded environmnent for debuging.
2015-06-15 14:46:44 +02:00
Zdenek Kabelac
3d5f7f90c8
dmeventd: drop stack
2015-06-15 14:46:44 +02:00
Zdenek Kabelac
9da07f1d3e
dmeventd: drop pthread_cancel
...
Drop unused pthread canceling as well as DEBUG printing in signal
handler.
2015-06-15 14:46:44 +02:00
Alasdair G Kergon
eeb498627c
libdm: Add dm_task_get_errno to return ioctl errno.
...
There are reports of unexplained ioctl failures when using dmeventd.
An explanation might be that the wrong value of errno is being used.
Change libdevmapper to store an errno set by from dm ioctl() directly
and provide it to the caller through a new dm_task_get_errno() function.
[Replaced f9510548667754d9209b232348ccd2d806c0f1d8]
2015-05-26 15:13:49 +01:00
Zdenek Kabelac
bff3a1651d
debug: use epoch for dmeventd logging
...
When LVM_LOG_FILE_EPOCH is set, route lvm command debug message
to lvm.conf log file instead of syslog.
2015-04-20 12:12:22 +02:00
Petr Rockai
eac4e1e939
dmeventd: Call lvscan --cache also for mirrors (in addition to RAID).
2015-01-14 18:05:44 +01:00
Alasdair G Kergon
160777bb3e
dmeventd: Add basic thread debugging messages.
...
Only with -DDEBUG.
2014-11-04 18:56:20 +00:00
Alasdair G Kergon
89f635a075
dmeventd: Include shutdown threads in responses.
...
When responding to DM_EVENT_CMD_GET_REGISTERED_DEVICE no longer
ignore threads that have already been unregistered but which
are still present.
This means the caller can unregister a device and poll dmeventd
to ensure the monitoring thread has gone away before removing
the device. If a device was registered and unregistered in quick
succession and then removed, WAITEVENT could run in parallel with
the REMOVE.
Threads are moved to the _thread_registry_unused list when they
are unregistered.
2014-11-04 16:58:14 +00:00
Alasdair G Kergon
6b25faa218
dmeventd: Remove redundant checks.
...
The status of threads in _thread_registry is always DM_THREAD_RUNNING
(zero).
DM_EVENT_REGISTRATION_PENDING is never stored in thread->events.
2014-11-04 16:55:42 +00:00
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
Petr Rockai
5dc6671bb5
dmeventd: Call lvscan --cache in the RAID plugin.
2014-07-22 22:48:21 +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
7a1777302f
cleanup: dmeventd simplify restart message parsing
...
Since we already check every characted in the message,
skip extra callback to strlen, and do the implicit
message length checking.
2014-04-18 16:53:29 +02:00
Zdenek Kabelac
1f701c7bf6
cleanup: dmeventd drop setting of size
...
Size is not used when msg->data is NULL.
2014-04-18 16:52:59 +02:00
Zdenek Kabelac
78c6dea48e
cleanup: dmeventd improve _handle_request
...
Let the compiler resolve cmd lookup and leave it to optimize it as it
needs.
2014-04-18 16:52:45 +02:00
Zdenek Kabelac
0927605ec3
cleanup: dmeventd improve _clien_write code
...
Switch to allocate buffer from heap, since it might be potentially
bigger when extremaly large set of volumes would be monitored.
In case of allocation failure send ENOMEM message.
Also implicitelly ignore msg->size when msg->data is NULL.
2014-04-18 16:52:35 +02:00
Zdenek Kabelac
3febd2c9d4
cleanup: dmeventd set next_time when registering
...
Don't change next_time, when thread is already registered.
2014-04-18 16:52:11 +02:00
Zdenek Kabelac
dc21bbfabd
cleanup: dmeventd improve _get_status
...
Use directly dm_asprintf() to allocate buffer with message,
and properly detect failing on replacement of snprintf()
which also returns -1 on error.
2014-04-18 16:51:54 +02:00
Zdenek Kabelac
0503af8466
cleanup: dmeventd simplify buffer write loop
2014-04-18 16:50:55 +02:00
Zdenek Kabelac
13d05211d0
cleanup: dmeventd simplify status processing
...
Since we always know the string length, use simplier memcpy.
2014-04-18 16:38:52 +02:00
Zdenek Kabelac
4fb588c34e
cleanup: dmeventd reorder _fill_device_data
...
Just simplify the function.
2014-04-18 16:38:51 +02:00
Zdenek Kabelac
6b701c3a48
cleanup: dmeventd abstract lvm2cmd interface
...
Keep lvm2cmd interface hidden inside dmeventd_lvm
and use regular 1/0 return codes, this we may
avoid using lvm2cmd.h in other lvm2 plugins.
2014-04-18 16:38:51 +02:00
Zdenek Kabelac
6448428d05
cleanup: add some comment indents...
...
Just cleanup things
2014-04-18 16:38:51 +02:00
Zdenek Kabelac
91eb8927fd
cleanup: skip zeroing of cleared areas
...
Zalloc mem is already zeroed.
2014-04-18 16:38:51 +02:00
Zdenek Kabelac
451a168bf8
cleanup: drop inclusion of devmap - merge
2014-04-18 16:38:50 +02:00
Zdenek Kabelac
589983a257
cleanup: include stdarg.h where needed.
...
Avoid dependency on implicit inclusion of stdarg.h with
libdevmapper.h.
2014-04-18 16:38:50 +02:00
Zdenek Kabelac
07274f3dd4
makefiles: drop linking of deamon libs to plugins
...
Daemon lib is linked into lvm2cmd library.
2014-04-18 16:38:49 +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
08e7de986c
dmeventd: check for list size within lock
...
Move check for _thread_registry list size behind mutex.
Use alloca() instead of buffer[count] (they are the same anyway)
2014-04-18 16:38:48 +02:00
Zdenek Kabelac
0b6d6bfb77
thin: dmeventd plugins support more minors
...
Kernel supports upto 1M (20bit) minors.
TODO: convert to hash to reduce memory requirements
2014-04-18 16:38:47 +02:00
Zdenek Kabelac
5553a099d1
cleanup: use DM_ARRAY_SIZE
...
More use of libdevmapper macro
2014-04-08 11:00:15 +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
Peter Rajnoha
b16235de96
cleanup: use 'define' for systemd runtime unit file directory
2014-03-14 15:57:44 +01:00
Zdenek Kabelac
d080abf7d6
cleanup: dmeventd convert multiline to single line
...
Instead of doing multiple different calls, select
stream within a condition.
Replace fprintf with fputc for '\n'
2014-03-10 12:24:10 +01:00
Zdenek Kabelac
7b17dfed69
cleanup: dmeventd code simplified
...
Improve readbility of code.
2014-03-10 12:24:10 +01:00
Zdenek Kabelac
7a6c0e2425
dmeventd: wakeup timeout thread earlier
...
When the last entry in the timeout queue is unregistered,
wakeup sleeping condition, so the thread is deleted earlier.
So the thread resource is release earlier.
Also when monitored with tools like valgrind this eliminites reported
leak.
2014-03-10 12:24:07 +01:00