]> sourceware.org Git - lvm2.git/log
lvm2.git
9 years agodev_manager: enabled no_flush for suspend
Zdenek Kabelac [Sun, 25 Oct 2015 19:37:39 +0000 (20:37 +0100)]
dev_manager: enabled no_flush for suspend

While the activation code tries to evaluate which target
really needs flush with suspend and which may go without flush,
it has stayed effectively disabled by original commit:
33f732c5e9493cda4b161a18b3d53885d207e3b8 since here
it only allows to pass non-pvmoving  'mirrors'.

So remove check for mirror LV type and only disable
no_flush for 'pvmove'..

TODO: Looking into history - it also seemed like raid target
would have always required flushing but it's been later
removed without clean explanation.

If some more targets really do need 'no_flush' it should
been handle at their 'level' - since we now stack multiple
targets over itself.

9 years agolibdm: dm_tree_node_size_changed recognizes reduction
Zdenek Kabelac [Sun, 25 Oct 2015 18:27:09 +0000 (19:27 +0100)]
libdm: dm_tree_node_size_changed recognizes reduction

Add more functionality to size_changed function.
While 'existing' API only detected  0 for
unchanged,  and !0 for changed,
new improved API will also detected if the
size has only went bigger - or there was
size reduction.

Function work for the whole dm-tree - so
no change is size is always 0.
only size extension  1.
and if some size reduction is there - returns -1.

This result can be used for better evaluation
whether we need to flush before suspend.

9 years agolv_manip: ensure it will fit bellow threshold
Zdenek Kabelac [Sun, 25 Oct 2015 18:19:39 +0000 (19:19 +0100)]
lv_manip: ensure it will fit bellow threshold

Use single code to evaluate if the percentage value has
crossed threshold.

Recalculate amount value to always fit bellow
threshold so there are not need any extra reiterations
to reach this state in case policy amount is too small.

9 years agothin: fix percentage compare
Zdenek Kabelac [Sun, 25 Oct 2015 18:13:53 +0000 (19:13 +0100)]
thin: fix percentage compare

Since plugin's percentage compare has been fixed,
it's now revealed wrong compare here.

The logic for threshold is - to allow to go as high
as given value e.g. 80% - so if pool is exactlu 80%
full it's still allowed to use it (dmeventd will not
resize it).

9 years agovg_read: remove unused inconsistent check
David Teigland [Fri, 23 Oct 2015 17:19:11 +0000 (12:19 -0500)]
vg_read: remove unused inconsistent check

Commit 1a74171ca5682a684d0e05c6090c3d33cab8795b added
a check to ignore a VG that was FAILED_INCONSISTENT
if the command doesn't care if the VG is not found.
Remove that check because that case is never reached
by the current code.

9 years agovgextend: fix use of the wrong flag
David Teigland [Fri, 23 Oct 2015 15:21:06 +0000 (10:21 -0500)]
vgextend: fix use of the wrong flag

The ONE_VGNAME_ARG was being passed and tested as
vg_read() flag but it's a cmd struct flag.

(It affects command arg processing in toollib,
not vg_read behavior.  Flags related to command
processing are generally cmd struct flags, while
vg_read arg flags are generally related to vg_read
behavior.)

9 years agovg_read: sometimes ignore read errors
David Teigland [Thu, 22 Oct 2015 19:56:22 +0000 (14:56 -0500)]
vg_read: sometimes ignore read errors

Running "vgremove -f VG & pvs" results in the pvs
command reporting that the VG is not found or is
inconsistent.  If the VG is gone or being removed,
the pvs command should just skip it and not print
errors about it.

"Not found" is because the pvs command created the
list of VGs to process, including VG, then vgremove
removed the VG, then the pvs command came to to read
the VG to process it and did not find it.

An "inconsistent" error could be reported if vgremove
had only partially completed removing VG when pvs did
vg_read on the VG to process it, causing pvs to find
the VG in a partially-removed state.

This fix adds a flag that pvs uses to ignore a VG
that can't be read or is inconsistent.

9 years agothin: Fix typo in policy threshold message.
Alasdair G Kergon [Fri, 23 Oct 2015 14:38:31 +0000 (15:38 +0100)]
thin: Fix typo in policy threshold message.

9 years agolvmcache: update cached info properly when moving from VG to orphan while lvmetad...
Peter Rajnoha [Fri, 23 Oct 2015 13:05:48 +0000 (15:05 +0200)]
lvmcache: update cached info properly when moving from VG to orphan while lvmetad is used

When lvmetad is used and lvmcache update function (lvmcache_update_vgname_and_id)
was called to update existing lvmcache records, a condition was met
which made to retun from the update function immediately, effectively
making it NOOP.

It seems there's no reason for such condition and lvmcache should be
update appropriately even when lvmetad used as lvmcache may be reused,
most notably in lvm shell.

It's possible this is a remnant of the lvmetad development code which
didn't get removed for some reason and the bug didn't get spotted
because lvm shell is not used often (the condition dates back to 2012
or so).

Example, lvmetad and lvm shell used:

lvm> pvs
  PV         VG   Fmt  Attr PSize   PFree
  /dev/sda   vg   lvm2 a--  124.00m 124.00m

Before this patch:
==================
lvm> vgremove vg
  Volume group "vg" successfully removed

lvm> pvs

With this patch applied:
========================

lvm> vgremove vg
  Volume group "vg" successfully removed

lvm> pvs
  PV         VG   Fmt  Attr PSize   PFree
  /dev/sda        lvm2 ---  128.00m 128.00m

9 years agopvremove: make sure even invalid info is removed from lvmcache on pvremove
Peter Rajnoha [Fri, 23 Oct 2015 12:11:16 +0000 (14:11 +0200)]
pvremove: make sure even invalid info is removed from lvmcache on pvremove

The lvmcache info might be resued, most notably in lvm shell.
We need to be sure that even lvmcache_info marked as invalid
is removed from the lvmcache so it does not confuse any subsequent
code/commands executed later on.

Problematic example with the lvm shell:

lvm> pvs
  PV         VG   Fmt  Attr PSize   PFree
  /dev/sda        lvm2 ---  128.00m 128.00m

Before this patch (/dev/sda still displayed in a way):
======================================================

lvm> pvremove /dev/sda
  Labels on physical volume "/dev/sda" successfully wiped

(without lvmetad)
lvm> pvs
  No physical volume label read from /dev/sda

(with lvmetad)
lvm> pvs
  PV         VG   Fmt  Attr PSize   PFree
  /dev/sda        lvm2 ---  128.00m 128.00m

With this patch applied:
========================

lvm> pvremove /dev/sda
  Labels on physical volume "/dev/sda" successfully wiped

(without lvmetad)
lvm> pvs

(with lvmetad)
lvm> pvs

9 years agocleanup: drop debug
Zdenek Kabelac [Fri, 23 Oct 2015 08:46:58 +0000 (10:46 +0200)]
cleanup: drop debug

9 years agocleanup: fix gcc compile with older pthread
Zdenek Kabelac [Fri, 23 Oct 2015 07:44:21 +0000 (09:44 +0200)]
cleanup: fix gcc compile with older pthread

Older pthread library was missing 'trick'
in pthread_cleanup_pop() which lead to
compilation error:

error: label at end of compound statement

Use explicit ';' to fix it.

9 years agocleanup: gcc warning for old-style
Zdenek Kabelac [Fri, 23 Oct 2015 07:42:38 +0000 (09:42 +0200)]
cleanup: gcc warning for old-style

9 years agotools: update for lvm2_disable_dmeventd_monitoring
Zdenek Kabelac [Fri, 23 Oct 2015 08:48:01 +0000 (10:48 +0200)]
tools: update for lvm2_disable_dmeventd_monitoring

Make lvm2_disable_dmeventd_monitoring() more explicit.

As memlock_inc_daemon() is also used by clvmd, which
does changes dmeventd and suspend ignore state at
some stages - make updates of these 2 variable
tied to the call of  lvm2_disable_dmeventd_monitoring().

Once this call is made dmeventd monitoring
and suspended devices are ignored.

TODO: all lvm-global settings should really be moved
to command context.

9 years agodmeventd: ensure filter is empty
Zdenek Kabelac [Fri, 23 Oct 2015 07:43:21 +0000 (09:43 +0200)]
dmeventd: ensure filter is empty

On some error path we could have left filter set to some value.
Not a big issue - but lets make reporting correct as soon
as we can.

9 years agodmeventd: debug error paths
Zdenek Kabelac [Fri, 23 Oct 2015 07:43:06 +0000 (09:43 +0200)]
dmeventd: debug error paths

9 years agotests: enable raid test on 4.3
Zdenek Kabelac [Thu, 22 Oct 2015 14:51:18 +0000 (16:51 +0200)]
tests: enable raid test on 4.3

With kernel -rc6 it's passing our raid tests again - so enable
it in tests.

Note: related only to Fedora rawhide kernels...

9 years agocleanup: indents
Zdenek Kabelac [Thu, 22 Oct 2015 07:57:44 +0000 (09:57 +0200)]
cleanup: indents

9 years agocleanup: drop uneeded header file
Zdenek Kabelac [Thu, 22 Oct 2015 08:40:51 +0000 (10:40 +0200)]
cleanup: drop uneeded header file

9 years agocleanup: easier to read code
Zdenek Kabelac [Thu, 22 Oct 2015 08:57:57 +0000 (10:57 +0200)]
cleanup: easier to read code

Avoid using #ifdef code and use 'cmd' instead of 'die'.

9 years agocleanup: declare vars before code
Zdenek Kabelac [Thu, 22 Oct 2015 08:33:01 +0000 (10:33 +0200)]
cleanup: declare vars before code

9 years agodmeventd: exit on idle
Zdenek Kabelac [Thu, 22 Oct 2015 18:36:46 +0000 (20:36 +0200)]
dmeventd: exit on idle

Implementing exit when 'dmeventd' is idle.
Default idle timeout set to 1 hour - after this time period
dmeventd will cleanly exit.

On systems with 'systemd' - service is automatically started with
next contact on dmeventd communication socket/fifo.

On other systems - new dmeventd starts again when lvm2 command detects
its missing and monitoring is needed.

9 years agodmeventd: debug signals
Zdenek Kabelac [Thu, 22 Oct 2015 09:15:53 +0000 (11:15 +0200)]
dmeventd: debug signals

9 years agodmeventd: snapshot plugin unmonitor
Zdenek Kabelac [Thu, 22 Oct 2015 13:36:21 +0000 (15:36 +0200)]
dmeventd: snapshot plugin unmonitor

Send signal to itself to mark plugin as 'finished' as
the watching rule is no longer usable.

9 years agodmeventd: handle signal from plugin
Zdenek Kabelac [Thu, 22 Oct 2015 13:48:14 +0000 (15:48 +0200)]
dmeventd: handle signal from plugin

Add support to unmonitor device when monitor recognizes there is
nothing to monitor anymore.

TODO: possibly API change with return value could be also used.

9 years agodmeventd: rework locking code
Zdenek Kabelac [Thu, 22 Oct 2015 13:47:53 +0000 (15:47 +0200)]
dmeventd: rework locking code

Redesign threading code:

- plugin registration runs within its new created thread for
  improved parallel usage.

- wait task is created just once and used during whole plugin lifetime.

- event thread is based over  'events' filter being set - when
  filter is 0, such thread is 'unused'.

- event loop is  simplified.

- timeout thread is never signaling 'processing' thread.

- pending of events filter cnange is properly reported and
  running event thread is signalled when possible.

- helgrind is not reporting problems.

9 years agocleanup: use enums
Zdenek Kabelac [Wed, 21 Oct 2015 18:56:20 +0000 (20:56 +0200)]
cleanup: use enums

9 years agodmeventd: code mode _get_device_status
Zdenek Kabelac [Thu, 22 Oct 2015 10:36:25 +0000 (12:36 +0200)]
dmeventd: code mode _get_device_status

Move _get_device_status() in code.
Use dm_task_no_flush() function when reading status.
(e.g. none blocking for thins pool)

9 years agodmeventd: minimize locking time for get_imeout
Zdenek Kabelac [Thu, 22 Oct 2015 10:38:26 +0000 (12:38 +0200)]
dmeventd: minimize locking time for get_imeout

Don't hold lock when creating message (allocating memory).
Thread cannot dissapear as it's only the same thread which
may clean it.

9 years agodmeventd: drop unneded test
Zdenek Kabelac [Thu, 22 Oct 2015 10:31:45 +0000 (12:31 +0200)]
dmeventd: drop unneded test

Function is never called without device.uuid.

9 years agodmeventd: wake up timer when setting new timeout
Zdenek Kabelac [Thu, 22 Oct 2015 10:37:18 +0000 (12:37 +0200)]
dmeventd: wake up timer when setting new timeout

9 years agodmeventd: use dm_hold_control_dev
Zdenek Kabelac [Wed, 21 Oct 2015 18:52:29 +0000 (20:52 +0200)]
dmeventd: use dm_hold_control_dev

Need here to keep  control device opened while there is 'any' dso
plugin loaded - otherwise there would a race closing controlfd
inside lvm2 plugin while some other monitoring thread would
tried to execute another WAITEVENT task.

9 years agodmeventd: move dso handling into single code section
Zdenek Kabelac [Thu, 22 Oct 2015 10:22:55 +0000 (12:22 +0200)]
dmeventd: move dso handling into single code section

Move all DSO related function in front, so they could be easily
referenced from rest of code.

Add proper error paths with logging and error reporting.

Drop mutex locking when releasing DSO - since DSO is always
allocated and released in main 'event' processing thread.

9 years agodmeventd: using warning level
Zdenek Kabelac [Thu, 22 Oct 2015 09:14:12 +0000 (11:14 +0200)]
dmeventd: using warning level

When dmevend notices problems, but continues to operate normally
change log level to warning.

9 years agodmeventd: no registering of 0 event mask
Zdenek Kabelac [Thu, 22 Oct 2015 09:10:57 +0000 (11:10 +0200)]
dmeventd: no registering of 0 event mask

Whenever user tries to register 0 mask report this as EINVAL.

9 years agodmeventd: thin plugin update
Zdenek Kabelac [Tue, 20 Oct 2015 12:19:35 +0000 (14:19 +0200)]
dmeventd: thin plugin update

Use  dm_make_percent for percentage calculation like lvm2 command.

Use a single call for resize.

9 years agodmeventd: snapshot plugin device removal
Zdenek Kabelac [Thu, 22 Oct 2015 13:38:24 +0000 (15:38 +0200)]
dmeventd: snapshot plugin device removal

Add #ifdef-ed code to have ability to even remove unusable device.
For now purely experimental.

9 years agodmeventd: snapshot plugin updates
Zdenek Kabelac [Thu, 22 Oct 2015 13:35:55 +0000 (15:35 +0200)]
dmeventd: snapshot plugin updates

Improve test for invalid snapshot.

Use dm_make_percent() to manipulate with exactly same percentage
as lvm2 command is using.

9 years agodmeventd: mirror plugin update
Zdenek Kabelac [Thu, 22 Oct 2015 15:09:43 +0000 (17:09 +0200)]
dmeventd: mirror plugin update

Don't use  --config  - this requires reload of lvm.conf

9 years agodmeventd: raid plugin reporting
Zdenek Kabelac [Thu, 22 Oct 2015 08:38:40 +0000 (10:38 +0200)]
dmeventd: raid plugin reporting

Fix raid logging introduced with last updating commit.

9 years agodmeventd: lvm2 plugin correctly debug
Zdenek Kabelac [Thu, 22 Oct 2015 08:38:05 +0000 (10:38 +0200)]
dmeventd: lvm2 plugin correctly debug

Fix debug message and report exit when really doing it.
Also add missing '_' to static function.

9 years agodmeventd: check for malloc return
Zdenek Kabelac [Mon, 19 Oct 2015 08:59:09 +0000 (10:59 +0200)]
dmeventd: check for malloc return

9 years agolibdm: add dm_hold_control_dev
Zdenek Kabelac [Wed, 21 Oct 2015 18:36:15 +0000 (20:36 +0200)]
libdm: add dm_hold_control_dev

Support hold of control device open.
Useful for daemons so the control device is not frequently reopenned.

9 years agotools: do not change signals for memlocked daemons
Zdenek Kabelac [Thu, 22 Oct 2015 08:45:58 +0000 (10:45 +0200)]
tools: do not change signals for memlocked daemons

9 years agotools: preselect some setting for memlocked daemons
Zdenek Kabelac [Thu, 22 Oct 2015 08:44:38 +0000 (10:44 +0200)]
tools: preselect some setting for memlocked daemons

When our daemon is locked into memory - avoid
communication with dmeventd and also skip
suspended devices.

9 years agomemlock: report memlock daemon counter
Zdenek Kabelac [Thu, 22 Oct 2015 08:43:58 +0000 (10:43 +0200)]
memlock: report memlock daemon counter

Add internal memlock_count_daemon().

Function can be used to recognize it's being executed
from daemon restricted execution inside /lib code.

9 years agolib: better reporting of threshold
Zdenek Kabelac [Thu, 22 Oct 2015 08:46:39 +0000 (10:46 +0200)]
lib: better reporting of threshold

Simplify code reporting warning about incorrect thresholds.

9 years agoman: document possible lvmetad -l values
David Teigland [Wed, 21 Oct 2015 18:36:57 +0000 (13:36 -0500)]
man: document possible lvmetad -l values

In the man page and the lvmetad help output.

9 years agolibdaemon: fix typo in last log enable commit
David Teigland [Wed, 21 Oct 2015 16:22:22 +0000 (11:22 -0500)]
libdaemon: fix typo in last log enable commit

9 years agolibdaemon: allow all debug levels for stderr
David Teigland [Wed, 21 Oct 2015 16:16:59 +0000 (11:16 -0500)]
libdaemon: allow all debug levels for stderr

The parsing code for log levels was missing
some levels.  Also ignore an unrecognized
level name rather than failing.

9 years agotests: add lvmetad shutdown on idle test
Ondrej Kozina [Tue, 20 Oct 2015 13:41:42 +0000 (15:41 +0200)]
tests: add lvmetad shutdown on idle test

9 years agolvmetad.8.in: update man page with timeout info
Ondrej Kozina [Tue, 20 Oct 2015 11:33:29 +0000 (13:33 +0200)]
lvmetad.8.in: update man page with timeout info

9 years agolvmetad: add optional timeout option
Ondrej Kozina [Tue, 20 Oct 2015 11:24:50 +0000 (13:24 +0200)]
lvmetad: add optional timeout option

9 years agotests: add test for missing mirror in-sync info
Ondrej Kozina [Tue, 20 Oct 2015 09:55:51 +0000 (11:55 +0200)]
tests: add test for missing mirror in-sync info

9 years agopolldaemon: fix missing mirror in-sync info with lvmpolld
Ondrej Kozina [Mon, 19 Oct 2015 14:56:45 +0000 (16:56 +0200)]
polldaemon: fix missing mirror in-sync info with lvmpolld

CONVERTING status flag is a tricky one. It's not set when converting
a non-mirror LV type to the mirror type, i.e.: linear -> two leg mirror.
Also the conversion itself is instant and doesn't require to be polled.
When mirror reaches sync state there's no final update on VG metadata
for lvmpolld to be made thereby report_progress in fact doesn't report
percentage of mirror being converted but percentage of mirror
being in sync. Perhaps we should reword the lvconvert output here.

On the other hand CONVERTING is set while we upconvert the mirror
from i.e. two leg mirror to four leg mirror. In such case the operation
is required to be polled so that lvmpolld can cleanup temporary
conversion log when the conversion is over.

Ignore CONVERTING lv_type for the moment and match LVs only by uuids
during 'mirror conversion'/'waiting for a sync to finish'.

9 years agoconf: clarify compact output settings
Peter Rajnoha [Tue, 20 Oct 2015 09:01:09 +0000 (11:01 +0200)]
conf: clarify compact output settings

9 years agopvscan: use process_each_pv
David Teigland [Mon, 19 Oct 2015 18:58:43 +0000 (13:58 -0500)]
pvscan: use process_each_pv

The old code made two loops through the PVs: in the first
loop it found the max PV and VG name lengths, and in the
second loop it printed each PV using the name lengths as
field widths for aligning columns.

The new code uses process_each_pv() which makes one loop
through the PVs.  In the *first* call to pvscan_single(),
the max name lengths are found by looping through the
lvmcache entries which have been populated by the generic
process_each code prior to calling any _single functions.
Subsequent calls to pvscan_single() reuse the max lengths
that were found by the first call.

9 years agoconf: regenerate
Peter Rajnoha [Mon, 19 Oct 2015 08:01:14 +0000 (10:01 +0200)]
conf: regenerate

9 years agocleanup: typo in comment: compact_output_fields should be compact-output_cols
Peter Rajnoha [Mon, 19 Oct 2015 07:59:05 +0000 (09:59 +0200)]
cleanup: typo in comment: compact_output_fields should be compact-output_cols

9 years agoconfig: add report/compact_output_cols to control which columns to compact in report...
Peter Rajnoha [Fri, 16 Oct 2015 14:25:51 +0000 (16:25 +0200)]
config: add report/compact_output_cols to control which columns to compact in report output

The new report/compact_output_cols setting has exactly the same effect
as report/compact_output setting. The difference is that with the new
setting it's possible to define which cols should be compacted exactly
in contrast to all cols in case of report/compact_output.

In case both compact_output and compact_output_cols is enabled/set,
the compact_output prevails.

For example:

$ lvmconfig --type full report/compact_output report/compact_output_cols
compact_output=0
compact_output_cols=""

$ lvs vg
  LV    VG   Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lvol0 vg   -wi-a----- 4.00m

---

$ lvmconfig --type full report/compact_output report/compact_output_cols
compact_output=0
compact_output_cols="data_percent,metadata_percent,pool_lv,move_pv,origin"

$ lvs vg
  LV    VG   Attr       LSize Log Cpy%Sync Convert
  lvol0 vg   -wi-a----- 4.00m

---

$ lvmconfig --type full report/compact_output report/compact_output_cols
compact_output=1
compact_output_cols="data_percent,metadata_percent,pool_lv,move_pv,origin"

$ lvs vg
  LV    VG   Attr       LSize
  lvol0 vg   -wi-a----- 4.00m

9 years agolibdm: add dm_report_compact_given_fields
Peter Rajnoha [Fri, 16 Oct 2015 13:50:13 +0000 (15:50 +0200)]
libdm: add dm_report_compact_given_fields

dm_report_compact_given_fields is the same as dm_report_compact_fields,
but it processes only given fields, not all the fields in the report
like dm_report_compact_field does.

9 years agolvmlockd: use flag to avoid blocking in sanlock_acquire
David Teigland [Wed, 14 Oct 2015 19:36:46 +0000 (14:36 -0500)]
lvmlockd: use flag to avoid blocking in sanlock_acquire

If a host failed while holding a sanlock lease,
sanlock_acquire will by default block and wait
for the lease to expire before returning.  We
want it to return with an error so we can retry
instead of blocking, which allows us to process
other lock operations.

(Enclose this in an ifdef until the new flag
appears in a sanlock release.)

9 years agodmeventd: use matching function
Zdenek Kabelac [Wed, 14 Oct 2015 12:19:47 +0000 (14:19 +0200)]
dmeventd: use matching function

Respect lvm2_log_fn prototype. The idea of 'reusing' print_log with
plain cast is causing very strange crashes with some older 'gcc'  compilers.
So just do it cleanly...

9 years agothin: enforce local activation when creation new thin
Zdenek Kabelac [Tue, 13 Oct 2015 23:00:35 +0000 (01:00 +0200)]
thin: enforce local activation when creation new thin

As we need to check how full thin-pool is - require thin-pool is
locally active.

9 years agomakefiles: switch to rpath-link
Zdenek Kabelac [Tue, 13 Oct 2015 22:51:55 +0000 (00:51 +0200)]
makefiles: switch to rpath-link

Plain rpath is to invasive and gets into binary.
We only want to provide hint for linker.

9 years agodmeventd: fix missing '!'
Zdenek Kabelac [Tue, 13 Oct 2015 20:10:47 +0000 (22:10 +0200)]
dmeventd: fix missing '!'

During recent code changes '!' was badly converted.

9 years agomakefiles: older gcc needs hint with rpath
Zdenek Kabelac [Tue, 13 Oct 2015 20:02:17 +0000 (22:02 +0200)]
makefiles: older gcc needs hint with rpath

gcc 4.3 seems not to be able to find linked library without
specifying -rpath to linker  (plain -L) is not enough.

9 years agodmeventd: compilable without DEBUG CFLAG
Zdenek Kabelac [Tue, 13 Oct 2015 18:57:59 +0000 (20:57 +0200)]
dmeventd: compilable without DEBUG CFLAG

Missed compilability without DEBUG.

9 years agoRevert "log: no file for external logging"
Alasdair G Kergon [Tue, 13 Oct 2015 14:31:57 +0000 (15:31 +0100)]
Revert "log: no file for external logging"

This reverts commit 1b1c01a27b359f8e91c3c9e08684c435d8fd51c2.

This caused messages to get dropped instead of logged into the log file.

(The log file and log function are independent at the moment.)

9 years agotests: more extend testing
Zdenek Kabelac [Tue, 13 Oct 2015 12:33:24 +0000 (14:33 +0200)]
tests: more extend testing

9 years agotests: wait for initial sync
Zdenek Kabelac [Tue, 13 Oct 2015 09:21:40 +0000 (11:21 +0200)]
tests: wait for initial sync

Raid should be in-sync ATM for any gaming.

9 years agotests: start logging dmeventd output
Zdenek Kabelac [Tue, 13 Oct 2015 07:44:08 +0000 (09:44 +0200)]
tests: start logging dmeventd output

Log dmeventd output from test - keep output logging in test
and avoid sending messages to syslog.

9 years agotests: better regex check
Zdenek Kabelac [Fri, 9 Oct 2015 19:30:37 +0000 (21:30 +0200)]
tests: better regex check

Enhance check for matching prefix.

9 years agotests: show status in in_sync
Zdenek Kabelac [Wed, 7 Oct 2015 13:07:15 +0000 (15:07 +0200)]
tests: show status in in_sync

Make visible actual status line when returing 'raid' is in sync.
Useful to prove when kernel is wrong.

9 years agomakefiles: src dirs have depth 5
Zdenek Kabelac [Sun, 11 Oct 2015 22:10:37 +0000 (00:10 +0200)]
makefiles: src dirs have depth 5

For tags generation scan depth 5.

9 years agomakefiles: drop explicit linking
Zdenek Kabelac [Fri, 9 Oct 2015 19:33:59 +0000 (21:33 +0200)]
makefiles: drop explicit linking

Nothing in /sscripts needs devmapper-event library so drop its linking.

9 years agomakefiles: generate Local
Zdenek Kabelac [Fri, 9 Oct 2015 19:31:41 +0000 (21:31 +0200)]
makefiles: generate Local

Use same  exported symbols list for other generated symfile
as it appeared to be the right way for libdm.

Local {
local:
*;
};

9 years agodmeventd: rework raid plugin
Zdenek Kabelac [Tue, 13 Oct 2015 09:37:14 +0000 (11:37 +0200)]
dmeventd: rework raid plugin

Switch to per-thread mem-pool and lock only for lvm2 calls.
Use libdm parser for raid status line.

9 years agodmeventd: less locking mirror
Zdenek Kabelac [Tue, 13 Oct 2015 09:35:44 +0000 (11:35 +0200)]
dmeventd: less locking mirror

Rework mirror plugin to use per-thread mem-pool.
This allows to use locking only for lvm2 library calls.

9 years agodmeventd: less locking for snapshot and thin
Zdenek Kabelac [Tue, 13 Oct 2015 09:35:03 +0000 (11:35 +0200)]
dmeventd: less locking for snapshot and thin

Use lvm lock for lvm library calls.

dm functions in-use are 'thread-safe' since we use
local per-thread mem pool.

9 years agodmeventd: add local mempool for raid and mirror
Zdenek Kabelac [Tue, 13 Oct 2015 09:28:57 +0000 (11:28 +0200)]
dmeventd: add local mempool for raid and mirror

Using local mempools allows to drop locks when such memory is needed.

9 years agodmeventd: use new macros to init mempool
Zdenek Kabelac [Tue, 13 Oct 2015 09:30:37 +0000 (11:30 +0200)]
dmeventd: use new macros to init mempool

For thin and snapshot use new macros
to simplify mempool init and destroy

9 years agodmeventd: introduce macro for init
Zdenek Kabelac [Mon, 12 Oct 2015 09:37:36 +0000 (11:37 +0200)]
dmeventd: introduce macro for init

Simplify commonly used pool creation.

9 years agodmeventd: new initialization of plugin threads
Zdenek Kabelac [Tue, 13 Oct 2015 07:43:09 +0000 (09:43 +0200)]
dmeventd: new initialization of plugin threads

Rework thread creation code to better use resources.

New code will not leak 'timeout' registered thread on error path.

Also if the thread already exist - avoid creation of thread
object and it's later destruction.

If the race is noticed during adding new monitoring thread,
such thread is put on cleanup list and -EEXIST is reported.

9 years agocleanup: typo in comment
Zdenek Kabelac [Mon, 12 Oct 2015 09:37:04 +0000 (11:37 +0200)]
cleanup: typo in comment

9 years agocleanup: move system defines before structs
Zdenek Kabelac [Mon, 12 Oct 2015 09:35:33 +0000 (11:35 +0200)]
cleanup: move system defines before structs

9 years agocleanup: avoid using private
Zdenek Kabelac [Mon, 12 Oct 2015 09:40:51 +0000 (11:40 +0200)]
cleanup: avoid using private

Switch private to user.

9 years agocleanup: remove multilog
Zdenek Kabelac [Tue, 13 Oct 2015 07:40:39 +0000 (09:40 +0200)]
cleanup: remove multilog

9 years agocleanup: always set nsec
Zdenek Kabelac [Tue, 13 Oct 2015 07:39:18 +0000 (09:39 +0200)]
cleanup: always set nsec

9 years agocleanup: more readable code
Zdenek Kabelac [Fri, 9 Oct 2015 19:37:12 +0000 (21:37 +0200)]
cleanup: more readable code

9 years agodmeventd: support logging on stdout
Zdenek Kabelac [Tue, 13 Oct 2015 13:14:11 +0000 (15:14 +0200)]
dmeventd: support logging on stdout

Add new supported option '-l' log to stdout/stderr.

It has to be paired with '-f' (foreground run).

9 years agocleanup: static with _
Zdenek Kabelac [Thu, 8 Oct 2015 09:59:11 +0000 (11:59 +0200)]
cleanup: static with _

Document ? is printing to stderr.

9 years agodmeventd: handle snapshot overflow
Zdenek Kabelac [Fri, 9 Oct 2015 19:41:50 +0000 (21:41 +0200)]
dmeventd: handle snapshot overflow

When snapshot reports overflow, handle it in the same way as Invalid.
Until better ideas are implemented.

9 years agoman: dmeventd update
Zdenek Kabelac [Mon, 12 Oct 2015 09:35:53 +0000 (11:35 +0200)]
man: dmeventd update

9 years agodmeventd: add more debug messages
Zdenek Kabelac [Sat, 10 Oct 2015 14:36:18 +0000 (16:36 +0200)]
dmeventd: add more debug messages

9 years agodmeventd: drop changing logging
Zdenek Kabelac [Fri, 9 Oct 2015 20:08:01 +0000 (22:08 +0200)]
dmeventd: drop changing logging

As we now use 'unified' logging macro system - we no longer need
to protect from change of logging function pointer - it's set
once at the start of dmeventd and not change anymore
(as lvm2 library no longer interferers here).

9 years agodmeventd: enable new logging
Zdenek Kabelac [Tue, 13 Oct 2015 13:13:28 +0000 (15:13 +0200)]
dmeventd: enable new logging

9 years agodmeventd: enable new logging
Zdenek Kabelac [Sat, 10 Oct 2015 16:32:53 +0000 (18:32 +0200)]
dmeventd: enable new logging

9 years agodmeventd: use log_ macros in plugins
Zdenek Kabelac [Sat, 10 Oct 2015 14:58:31 +0000 (16:58 +0200)]
dmeventd: use log_ macros in plugins

Convert from syslog to standard log_() macros in plugins.

9 years agodmeventd: syslog -> log_xxxxx
Zdenek Kabelac [Fri, 9 Oct 2015 19:57:48 +0000 (21:57 +0200)]
dmeventd: syslog -> log_xxxxx

Convert logging of dmeventd to libdm logging macros.

This page took 0.079065 seconds and 5 git commands to generate.