)]}'
{
  "log": [
    {
      "commit": "d44af0be2c6f4652eafd90a70e7ba5f24c0f6d5a",
      "tree": "e26e396d0865c5a7781e27679eab274d2dcfa6dc",
      "parents": [
        "5bc8c713e2d25d5b4b3d2ba827905aecf378f721"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Sep 16 11:09:33 2015 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Sep 18 09:25:20 2015 -0700"
      },
      "message": "lvm2: Add build for static libdevmapper\n\nBuild just enough of the static library libdevmapper to be useful\nfor building external/cryptsetup. Add Android.mk, static Android\nconfiguration include/configure.h, NOTICE and MODULE_LICENSE_GPL\nfiles.\n\nSigned-off-By: Mark Salyzyn \u003csalyzyn@google.com\u003e\nBug: 23181629\nBug: 24133481\nChange-Id: I3f98cd7261e2d323e8d04a32b342dc66a572606b\n"
    },
    {
      "commit": "5bc8c713e2d25d5b4b3d2ba827905aecf378f721",
      "tree": "9b9dbf372e097203fc8ce5ad27941f20494deef5",
      "parents": [
        "6c0b4a2769067048fa144814e298a3272564c475"
      ],
      "author": {
        "name": "Peter Rajnoha",
        "email": "prajnoha@redhat.com",
        "time": "Thu Sep 17 14:36:39 2015 +0200"
      },
      "committer": {
        "name": "Peter Rajnoha",
        "email": "prajnoha@redhat.com",
        "time": "Thu Sep 17 14:36:39 2015 +0200"
      },
      "message": "WHATS_NEW: commit 6c0b4a2769067048fa144814e298a3272564c475\n"
    },
    {
      "commit": "6c0b4a2769067048fa144814e298a3272564c475",
      "tree": "621f9bef18a37b9ba2a0537acd2cf47a2065f19f",
      "parents": [
        "afdae26c71d2539a9f0dfb06b65541dedf28b5f5"
      ],
      "author": {
        "name": "Peter Rajnoha",
        "email": "prajnoha@redhat.com",
        "time": "Thu Sep 17 14:29:51 2015 +0200"
      },
      "committer": {
        "name": "Peter Rajnoha",
        "email": "prajnoha@redhat.com",
        "time": "Thu Sep 17 14:29:51 2015 +0200"
      },
      "message": "libdm: file: add proper checks for directory components in dm_create_dir\n\nAlso make error messages more consistent:\n\nBefore this patch:\n\n(/run/lock exists and is not a directory)\n$ pvs\n  /run/lock/lvm: mkdir failed: Not a directory\n  File-based locking initialisation failed.\n\n(/run/lock/lvm exists and is not a directory)\n$ pvs\n  Directory \"/run/lock/lvm\" not found\n  File-based locking initialisation failed.\n\nWith this patch applied:\n\n(/run/lock exists and is not a directory)\n$ pvs\n  Existing path /run/lock is not a directory.\n  Failed to create directory /run/lock/lvm.\n  File-based locking initialisation failed\n\n(/run/lock/lvm exists and is not a directory)\n$ pvs\n  Existing path /run/lock/lvm is not a directory.\n  Failed to create directory /run/lock/lvm.\n  File-based locking initialisation failed.\n"
    },
    {
      "commit": "afdae26c71d2539a9f0dfb06b65541dedf28b5f5",
      "tree": "0cbed909e4991b00f95d3b55b9d0e1c9460b1fe8",
      "parents": [
        "b5022102bbaf978cddd7ca9b27a1a12d5aeef44d"
      ],
      "author": {
        "name": "Peter Rajnoha",
        "email": "prajnoha@redhat.com",
        "time": "Thu Sep 17 13:31:34 2015 +0200"
      },
      "committer": {
        "name": "Peter Rajnoha",
        "email": "prajnoha@redhat.com",
        "time": "Thu Sep 17 13:37:15 2015 +0200"
      },
      "message": "libdm: dev_node: use lstat instead of stat while removing and renaming nodes\n\nWhen using udev, the /dev/mapper entries are symlinks - fix the code\nto count with this.\n\nThis patch also fixes the dmsetup mknodes and vgmknodes to properly\nrepair /dev/mapper content if it sees dangling symlink in /dev/mapper.\n"
    },
    {
      "commit": "b5022102bbaf978cddd7ca9b27a1a12d5aeef44d",
      "tree": "a49863fd238c4fd1d4868419cd189682d2a54bba",
      "parents": [
        "b7410c95cfbf53b2197611a0950450f7251643fc"
      ],
      "author": {
        "name": "Peter Rajnoha",
        "email": "prajnoha@redhat.com",
        "time": "Thu Sep 17 10:19:15 2015 +0200"
      },
      "committer": {
        "name": "Peter Rajnoha",
        "email": "prajnoha@redhat.com",
        "time": "Thu Sep 17 10:19:15 2015 +0200"
      },
      "message": "libdm: report: make it possible to use blank value as selection for string list report field\n\n$ lvs -o name,tags vg\n  LV    LV Tags\n  lvol0\n  lvol1 mytag\n\nBefore this patch:\n$ lvs -o name,tags vg -S \u0027tags\u003d\"\"\u0027\n  Failed to parse string list value for selection field lv_tags.\n  Selection syntax error at \u0027tags\u003d\"\"\u0027.\n  Use \u0027help\u0027 for selection to get more help.\n\n(and the same for -S \u0027tags\u003d{}\u0027 and -S \u0027tags\u003d[]\u0027)\n\nWith this patch applied:\n$ lvs -o name,tags vg -S \u0027tags\u003d\"\"\u0027\n  LV    LV Tags\n  lvol0\n\n(and the same for -S \u0027tags\u003d{}\u0027 and -S \u0027tags\u003d[]\u0027)\n"
    },
    {
      "commit": "b7410c95cfbf53b2197611a0950450f7251643fc",
      "tree": "8bb0482a30da209f11c0bba26ab200fb97f4d4f1",
      "parents": [
        "fcfca57e2e15c5cae3ccac225669d97c65b6b9db"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Sep 16 15:22:21 2015 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Sep 16 15:56:54 2015 -0500"
      },
      "message": "lvmlockd: unlock lv if command fails before lock completes\n\nIf lvmlockd acquires an lv lock for a command, but the\ncommand exits before the reply, then the command has\nnot activated the lv and lvmlockd should unlock it.\nThis only applies when the lv was not already locked.\n\n(There will always be a chance that the lv lock is held\nwhile the lv is not active, i.e. if the command fails in\nthe small window between getting the lv lock and before\ndoing the activation.  In that case, rerunning the\nactivation command corrects the inconsistency.)\n\nThis commit helps by automatically clearing the\ninconsistency (lv locked by not activated) in the most\ncommon case when the lv lock operation is slow to\ncomplete and the command is canceled by the user.\n\nThis commit also adds and cleans up references to the\nclient id in a bunch of log messages, which is useful\nto follow processing on each independent lock request.\n"
    },
    {
      "commit": "fcfca57e2e15c5cae3ccac225669d97c65b6b9db",
      "tree": "d8d4df84da2a36baf42d2d24b2036d1c38fedb7f",
      "parents": [
        "0ac10bb23a9e356b87ead9e1304a6482f6761b9b"
      ],
      "author": {
        "name": "Peter Rajnoha",
        "email": "prajnoha@redhat.com",
        "time": "Tue Sep 15 17:38:02 2015 +0200"
      },
      "committer": {
        "name": "Peter Rajnoha",
        "email": "prajnoha@redhat.com",
        "time": "Tue Sep 15 18:07:32 2015 +0200"
      },
      "message": "format-text: label: fix missing dev assignment for struct label in _text_pv_write\n\nWhen using lvm shell, some structures which are cached in memory may be\nreused. This happens for the struct label (a part of lvmcache_info\nstructure) when lvmetad is used in which case the PV scan is not\ndone that would normally overwrite these label structures in memory\nand making them up-to-date.\n\nThis is all consequence of the fact that struct lvmcache_info and\nstruct label are not always assigned in the same part of the code.\nFor example, if lvmetad *is not* used, parts of the struct label are\nreassigned in label_read fn while struct lvmcache_info is created\nelsewhere. No part of the code reused struct label (and its \"dev\"\nfield) before calling label_read fn. That\u0027s why the real bug is\nhidden when using lvm shell without lvmetad.\n\nHowever, with lvmetad and lvm shell, the situation is a bit different.\nThe label_read fn is not called if lvmetad *is* used, hence the\nstruct label may have ended up not initialized properly.\n\nThere was missing assignment for the dev field in struct label\nin _text_pv_write fn which caused this problem to appear in\nlvm shell with lvmetad, for example:\n\nBefore this patch:\n\nlvm\u003e pvcreate /dev/sda\n  Physical volume \"/dev/sda\" successfully created\nlvm\u003e pvs /dev/sda\n  PV             VG     Fmt  Attr PSize   PFree\n  unknown device        lvm2 ---  128.00m 128.00m\n\nWith this patch applied:\n\nlvm\u003e pvcreate /dev/sda\n  Physical volume \"/dev/sda\" successfully created\nlvm\u003e pvs /dev/sda\n  PV         VG   Fmt  Attr PSize   PFree\n  /dev/sda        lvm2 ---  128.00m 128.00m\n\nAlso, this problem had not appeared before changes introduced\nby commits e1a63905d14cc73352b905c70cb4084b7e521e33 through\n3a6f91d7139119bea664050a957cbc21490398bc which, among other\nthings, added proper label field type reporting. Before, label\nreporting was the same as using struct physical_volume which\nhas its own dev field assigned and so this problem was not exposed.\n"
    },
    {
      "commit": "0ac10bb23a9e356b87ead9e1304a6482f6761b9b",
      "tree": "47c0de58d194b856e7d6a8d97e5e796bd51500c5",
      "parents": [
        "a729b1aa294ab4525e09c83f392560bcf59a5b81"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Sep 15 14:09:10 2015 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Sep 15 14:09:10 2015 +0100"
      },
      "message": "post-release\n"
    },
    {
      "commit": "a729b1aa294ab4525e09c83f392560bcf59a5b81",
      "tree": "c7ead1696678ff14a21308bed042db27139e9c3c",
      "parents": [
        "548c09acfca8970cafe74f43e1944b5f20f540be"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Sep 15 13:17:50 2015 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Sep 15 13:17:50 2015 +0100"
      },
      "message": "pre-release\n"
    },
    {
      "commit": "548c09acfca8970cafe74f43e1944b5f20f540be",
      "tree": "0424397afce933804091942ccb6bbbdd39ae173c",
      "parents": [
        "2ce8ee0214c84a4afd12589bbe2fe521c2518b87"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Sep 15 13:14:16 2015 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Sep 15 13:14:16 2015 +0100"
      },
      "message": "man: Add all_man Makefile target.\n\nUse \u0027make all_man\u0027 to generate all man pages (regardless of\nconfiguration options) or \u0027make install_all_man\u0027 to install them.\n"
    },
    {
      "commit": "2ce8ee0214c84a4afd12589bbe2fe521c2518b87",
      "tree": "a82b38e3664f71ee160e26694d93a1d872daaaa1",
      "parents": [
        "cee9ed22441187a2a3a6290d1e07428df0171144"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Sep 11 16:12:03 2015 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Sep 14 13:22:22 2015 -0500"
      },
      "message": "vgcreate: initialize new PVs only in first vg_write\n\nWhen a command does a sequence of\nvg_write + vg_commit + vg_write + vg_commit,\n\ninitialization of non-PV devices happens during the\nfirst vg_write, and does not need to be repeated by\nthe second vg_write.\n\nWhen creating a lockd VG, this sequence occurs because\nthe VG is first created, then the lockd data is created,\nthen the lockd data is then written to the VG metadata.\n"
    },
    {
      "commit": "cee9ed22441187a2a3a6290d1e07428df0171144",
      "tree": "809b4448aea974ace26c756dcedb29fcb86b68fa",
      "parents": [
        "e7e15631ddd9150fa7643ae2debac797dabc5d25"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Mon Sep 14 11:02:48 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Mon Sep 14 20:18:54 2015 +0200"
      },
      "message": "tests: early check for snapshot-merge\n"
    },
    {
      "commit": "e7e15631ddd9150fa7643ae2debac797dabc5d25",
      "tree": "69e882a58d0c221ee177e7d81b147c1753c4626b",
      "parents": [
        "ffeeb5c1e70e554defa45ee8aa28dcaeb47c705f"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Mon Sep 14 20:09:21 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Mon Sep 14 20:18:54 2015 +0200"
      },
      "message": "tests: lvextend of full thin pool\n"
    },
    {
      "commit": "ffeeb5c1e70e554defa45ee8aa28dcaeb47c705f",
      "tree": "01c5622df362d680cf3a62eda3b4845c03668ee6",
      "parents": [
        "c356991fa83b15af261e8d7e33f5615397c07778"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Mon Sep 14 12:58:21 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Mon Sep 14 20:18:54 2015 +0200"
      },
      "message": "thin: show message on error path\n\nAdd missing log_error and show proper reason for failure\nwhen autoextend is set to 0.\n\nAdd missing log_error when checked LV is not locally active.\n"
    },
    {
      "commit": "c356991fa83b15af261e8d7e33f5615397c07778",
      "tree": "b38dc8f6bb55828dc25f750983079fe50bc84e5a",
      "parents": [
        "e42ee69988fc770314a355e6acd417e00e0c9623"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Mon Sep 14 14:59:40 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Mon Sep 14 20:18:54 2015 +0200"
      },
      "message": "libdm: no validate for pool without messages\n\nAvoid validation of free space in pool, when no messages are passed.\n\nPatch a3c7e326c3e9950fe74e433c406d6e1b5a53bf25 add new check for\npool overload - but this check should not be made if there are\nno messages and transaction_id is still within \u0027bounds\u0027 (bigger by 1).\n"
    },
    {
      "commit": "e42ee69988fc770314a355e6acd417e00e0c9623",
      "tree": "ea6925cbd602dfb2d629db52d1639eefa72ece1a",
      "parents": [
        "226e7d7b3c30f083c422063ec107c50b3534ee0f"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Mon Sep 14 09:24:15 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Mon Sep 14 09:31:26 2015 +0200"
      },
      "message": "vgimporeclone: use correct cache dir path\n\nCommit 00b36ef06acb15c82d7c9b37872753f02c638316 had a typo\nand missed \u0027{\u0027 for shell variable, thus command used slightly\ndifferent \u0027tmp\u0027 dir name for cache dir (with extra \u0027}\u0027).\n\nSuch change was unnoticed until a recent fix in persistent\nfilter, lvm2 missed to update cache file when --config\nwas specified.\n\nThe result was, /tmp dir was accumulating snap.XXXXX} dirs when\nrunning vgimportclose  script.\n"
    },
    {
      "commit": "226e7d7b3c30f083c422063ec107c50b3534ee0f",
      "tree": "3ffa224c2e04b5555c6dba314c1657956fa1d9c5",
      "parents": [
        "cd2e4310b320782ec58b712d3c2f24a56c7d10c5"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Fri Sep 11 20:54:43 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Fri Sep 11 21:52:27 2015 +0200"
      },
      "message": "tests: wait for sync before deactivation\n\nOn slower machine/disk, sync may block udev from reading and may prevent\ndeactivation.\n"
    },
    {
      "commit": "cd2e4310b320782ec58b712d3c2f24a56c7d10c5",
      "tree": "61edd648785f3fbd89a67fe040e806ce9465db28",
      "parents": [
        "fd3d795b9301dd1defd33e4340fd453e5aee4e8d"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Fri Sep 11 21:00:10 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Fri Sep 11 21:52:27 2015 +0200"
      },
      "message": "tests: new thin tests\n"
    },
    {
      "commit": "fd3d795b9301dd1defd33e4340fd453e5aee4e8d",
      "tree": "3f308621ec3ef807969e58fae3cdb560daa2b494",
      "parents": [
        "729b035edd923554275ac7b3bc446b57f0e9f0d5"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Fri Sep 11 21:30:45 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Fri Sep 11 21:52:27 2015 +0200"
      },
      "message": "makefiles: distclean missing files\n"
    },
    {
      "commit": "729b035edd923554275ac7b3bc446b57f0e9f0d5",
      "tree": "8734608f6dd6df5312947f6ffc90d8a47804a030",
      "parents": [
        "fda853b573920ccefda23ad97f54d7b4dafaa9f1"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Fri Sep 11 20:58:58 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Fri Sep 11 21:52:27 2015 +0200"
      },
      "message": "pool: validate pool_metadata has proper suffix\n"
    },
    {
      "commit": "fda853b573920ccefda23ad97f54d7b4dafaa9f1",
      "tree": "0a504b80c32e328c1078dc9831b7c0d723ecb900",
      "parents": [
        "280a6275ce7262baae0062c58a63b910bc16327d"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Fri Sep 11 20:56:53 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Fri Sep 11 21:51:11 2015 +0200"
      },
      "message": "thin: improve swapping of identifiers\n\nSince we may want to swap names when LVs are complex types, we cannot\navoid doing full renames on both LV stacks.\nTemporarily use \u0027pvmove_tmeta\u0027 as unused name to prevent validation troubles.\n"
    },
    {
      "commit": "280a6275ce7262baae0062c58a63b910bc16327d",
      "tree": "a381d903e8f988fb3f18a049324371393282360a",
      "parents": [
        "95b5d24f434b6f2174d500a0c7b2bba78b7cd2e9"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Fri Sep 11 20:56:02 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Fri Sep 11 21:48:19 2015 +0200"
      },
      "message": "thin: lvconvert use passed PVs for _pmspare\n\nWhen PVs are given on \u0027lvconvert\u0027 respect them when converting\nvolume to thin-pool and allocating i.e. _pmspare.\n"
    },
    {
      "commit": "95b5d24f434b6f2174d500a0c7b2bba78b7cd2e9",
      "tree": "fd2d34a62a59007b508ffe972c20c487ba2ce5cb",
      "parents": [
        "19443035a613f3bd5e6028070cabd077279722c8"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Fri Sep 11 21:30:05 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Fri Sep 11 21:46:35 2015 +0200"
      },
      "message": "configure: relocate configure.h\n\nCommit 9403edbb93a2c337df790408e9ff3d26566b7443 move location of\nconfigure.h and lvm-version.h.\n\nLet\u0027s try even better place then /conf dir which should be left\nfor user configurable files.\n\nPut these files right into include dir.\n"
    },
    {
      "commit": "19443035a613f3bd5e6028070cabd077279722c8",
      "tree": "6ad1fdfea562916443014950c096b20fe4dc87b6",
      "parents": [
        "8b8103efef9cc23eb8fe47cd7d16629560ffd2e3"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Fri Sep 11 21:16:31 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Fri Sep 11 21:46:34 2015 +0200"
      },
      "message": "configure: correct message\n"
    },
    {
      "commit": "8b8103efef9cc23eb8fe47cd7d16629560ffd2e3",
      "tree": "03c19e9335b7debbf7b4a21ac045eeda322be76d",
      "parents": [
        "6bc3d72a655395a7f1ca299d85000ff65280d24d"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Sep 11 14:34:22 2015 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Sep 11 14:34:22 2015 -0500"
      },
      "message": "man lvmlockd: move and update text about vgremove\n\nThe requirement to stop VGs before vgremove applies\nto both sanlock and dlm VGs.\n"
    },
    {
      "commit": "6bc3d72a655395a7f1ca299d85000ff65280d24d",
      "tree": "0f7318af6baa92f9518498d6dc19c23916de6ab6",
      "parents": [
        "854a559a494e81228905f6739de9150853ce2ea7"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Sep 11 14:06:46 2015 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Sep 11 14:12:13 2015 -0500"
      },
      "message": "lvmlockd: prevent vgremove of dlm VG while lockspace is used\n\nThis applies the same rule/logic to dlm VGs that has always\nexisted for sanlock VGs.  Allowing a dlm VG to be removed\nwhile its lockspace was still running on other hosts largely\nworked, but there were difficult problems if another VG with\nthe same name was recreated.  Forcing the VG lockspace to\nbe stopped, gives both sanlock and dlm VGs the same behavior.\n"
    },
    {
      "commit": "854a559a494e81228905f6739de9150853ce2ea7",
      "tree": "0911a2e6b0d93f7b2593be511475448f87e720b0",
      "parents": [
        "18dfbbb150e04026e4c11822e5f80f79da691d08"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Sep 10 10:33:45 2015 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Sep 11 13:20:20 2015 -0500"
      },
      "message": "lvmlockd: remove shortcut for lockspace thread cleanup\n\nThis shortcut was added for an odd case that I do not\nbelieve is relevant any more.  Having an alternate\npath for lockspace thread cleanup is a complication\nthat could lead to problems.\n"
    },
    {
      "commit": "18dfbbb150e04026e4c11822e5f80f79da691d08",
      "tree": "6ba193563831276de67627e0ee13269b1a369b13",
      "parents": [
        "0a26c20b88ab5fe7894a2e2207fd492aaca41095"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Sep 10 10:31:25 2015 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Sep 11 13:20:01 2015 -0500"
      },
      "message": "lvmlockd: optimize dlm global lockspace creation\n\nSet a flag indicating that the dlm global lockspace\nexists to avoid going through the entire process of\ntrying to add it before finding it exists.\n"
    },
    {
      "commit": "0a26c20b88ab5fe7894a2e2207fd492aaca41095",
      "tree": "09530bc0f668438927bafc7478d61283a1a000e3",
      "parents": [
        "0889cff5d5430cc398586285be5cccd88b4ed18f"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Sep 11 13:08:59 2015 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Sep 11 13:10:48 2015 -0500"
      },
      "message": "lockd: fix rescanning VG metadata\n\nThe code was expecting the wrong return value from\ncompare_config, which returns 0 when equal.\n\nThis is a problem for a lockd VG using multiple PVs\nwhen the VG needs to be rescanned.\n"
    },
    {
      "commit": "0889cff5d5430cc398586285be5cccd88b4ed18f",
      "tree": "54bef55b0fe92caae7af9aae124192645de6659a",
      "parents": [
        "9b8c876293b883f6c84d349d04e20a77facb69d1"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Wed Sep 09 15:59:32 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 10 17:28:47 2015 +0200"
      },
      "message": "spec: upgrade\n\nUpgrade spec rules to be in touch with recent code.\nProvide services and proper postin/preun/postun scriplets.\n"
    },
    {
      "commit": "9b8c876293b883f6c84d349d04e20a77facb69d1",
      "tree": "f5f587eeb70ef830642985afdb946f30009f3791",
      "parents": [
        "e94ab01940828f471a9498f112d2023c3bf06ffd"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Wed Sep 09 09:40:17 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 10 17:28:47 2015 +0200"
      },
      "message": "tests: remove only existing loops\n\nIf loop device meanwhile dissapered, skip \u0027losetup -d\u0027 call.\n"
    },
    {
      "commit": "e94ab01940828f471a9498f112d2023c3bf06ffd",
      "tree": "4c6f8c49c5d45f353b5a9032f8f3806722e9fe7c",
      "parents": [
        "54c982081fa6617c511e2a7d61dbe3b4e9c7d315"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 10 17:19:30 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 10 17:28:47 2015 +0200"
      },
      "message": "tests: fix check lv_not_exist\n\nUse \u0027not\u0027 to set proper \u0027expected return status\u0027\nso we do not \u0027leak\u0027 debug logs printed for failing case.\n"
    },
    {
      "commit": "54c982081fa6617c511e2a7d61dbe3b4e9c7d315",
      "tree": "b51f07356a6513f0a92256cee37cc86fb107c63b",
      "parents": [
        "a631fa20d0f18d12a8dc564d9b2d53d38e2e4d43"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 10 16:54:40 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 10 17:28:47 2015 +0200"
      },
      "message": "tests: check cache stripe and raid behavior\n\nSomehow raid tests landed in plain cache - separte them out\nso they properly check for  have_raid.\n\nCheck we do not support strip option with cache-pool creation.\n"
    },
    {
      "commit": "a631fa20d0f18d12a8dc564d9b2d53d38e2e4d43",
      "tree": "fe4c5a911683b871586418dec14a01c6f9bbb3f8",
      "parents": [
        "5911fa1d914220a182630a5f353b665478917df1"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 10 16:33:11 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 10 17:28:15 2015 +0200"
      },
      "message": "cache: disallow stripes/size for cache pool\n\nATM allocation can\u0027t handle stripping and cache pool allocation.\nIt\u0027s not yet even clear what should be actually result.\nUntil resolved, disable this option (it\u0027s been coredumping\ninside allocation anyway).\n"
    },
    {
      "commit": "5911fa1d914220a182630a5f353b665478917df1",
      "tree": "acf3e61f3f53ff23fc25fc53c1762c9a57b74605",
      "parents": [
        "e1edb5676e3ee6f84a3451fcbfe5d5be0d349188"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 10 15:07:59 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 10 17:27:30 2015 +0200"
      },
      "message": "cache: warn if caching causes troubles\n\nCertain stacks of cached LVs may have unexpected consequences.\nSo add a warning function called when LV is cached to detect\nsuch caces and WARN user about them - the best we could do ATM.\n"
    },
    {
      "commit": "e1edb5676e3ee6f84a3451fcbfe5d5be0d349188",
      "tree": "e17f06809d194d6dfcf99c3cd9efd42a0068e928",
      "parents": [
        "3670f095c7d13a8052b129b3a264bb5a06e8b26e"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 10 15:08:29 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 10 17:25:28 2015 +0200"
      },
      "message": "lib: when moving segtypes, move LV bits\n\nWhen we insert layer we also move status flag-bits for certain LV types,\nso internal volume_group structure remains consistent.\n(Perhaps it\u0027s misuse of \u0027insert_layer\u0027 function and we should have\nanother similar function for this.)\n\nBasically we aim to maintain the same state as after reading fresh\nmetadata out of volume group.\n\nCurrently we when i.e. cache  \u0027raid\u0027 LV - this should transfer \u0027raidLV\u0027 flag\nto  _corigin LV and cache is no longer a raid.\n\nTODO: bits for stacked devices needs more exact rules.\n"
    },
    {
      "commit": "3670f095c7d13a8052b129b3a264bb5a06e8b26e",
      "tree": "8a7d50ae06e17557957519f06ac3d5b8f656b3e9",
      "parents": [
        "f11d690967c9d352cb19076a99de81661ee43343"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Sep 09 14:40:48 2015 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Sep 10 09:47:26 2015 -0500"
      },
      "message": "lvmlockd: check all variations of lvb values\n\nThe dlm will often lose the lvb content, so we need to\ncheck quite a few possibilities for lvb values that\nwere not being checked before.\n\nRefactoring was required to pass the entire lvb value\nback to the core code instead of the single value.\n\nThe only functional change should be detecting new\nlvb states where metadata is now invalidated where\nit wasn\u0027t before.\n"
    },
    {
      "commit": "f11d690967c9d352cb19076a99de81661ee43343",
      "tree": "5cda66593b2bef62c7adc8a6c5cf137fdcfa8047",
      "parents": [
        "15ae237d2c029116395e5436826f896a5a00d6c4"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Sep 09 13:33:10 2015 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Sep 10 09:47:26 2015 -0500"
      },
      "message": "lvmlockd: flag for internal actions\n\nWhen an action is created by lvmlockd for itself,\nthere is no client to send the result to.  Add\nthe NO_CLIENT flag to the action to skip sending\nthe result to a client.\n"
    },
    {
      "commit": "15ae237d2c029116395e5436826f896a5a00d6c4",
      "tree": "3e03072651f7f253796fe733680aa00811680d1c",
      "parents": [
        "36d16fed1fe883cf2c2756212fd0e6b2f1f99e6b"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Sep 09 13:25:39 2015 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Sep 10 09:47:26 2015 -0500"
      },
      "message": "lvmlockd: rename ADOPT_CLIENT_ID\n\nto INTERNAL_CLIENT_ID since it will be\nused for more than adopting locks.\n"
    },
    {
      "commit": "36d16fed1fe883cf2c2756212fd0e6b2f1f99e6b",
      "tree": "47666adff7b30c42c75deda5b5c3499135329ff5",
      "parents": [
        "30e489db5e05296e22037bd885d074d395ab46f4"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Sep 09 13:20:37 2015 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Sep 10 09:47:26 2015 -0500"
      },
      "message": "lockd: add start_init arg to lockd_start_vg\n\nAdd a new arg to lockd_start_vg() that indicates\nit is being called for a new lockd VG, so that\nlvmlockd knows the lockspace being started is new.\n(Will be used by a following commit.)\n"
    },
    {
      "commit": "30e489db5e05296e22037bd885d074d395ab46f4",
      "tree": "729c2ac0bec0a5ebf40ca46cc443da819e2a27c0",
      "parents": [
        "2296999cf6922b2be0c6dc38abae0c6766996060"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Sep 09 13:09:17 2015 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Sep 10 09:47:26 2015 -0500"
      },
      "message": "vgchange: lock-stop only needs shared lock\n\nlock-stop is one of the vgchange options that\ndoesn\u0027t change the VG so we can override the\ndefault ex lock and use sh.\n"
    },
    {
      "commit": "2296999cf6922b2be0c6dc38abae0c6766996060",
      "tree": "8bcba34887b720a1b272a27e63be53fac58d889e",
      "parents": [
        "d323acdfec8aaab1161aa5f80ae67622e396a632"
      ],
      "author": {
        "name": "Peter Rajnoha",
        "email": "prajnoha@redhat.com",
        "time": "Thu Sep 10 16:00:14 2015 +0200"
      },
      "committer": {
        "name": "Peter Rajnoha",
        "email": "prajnoha@redhat.com",
        "time": "Thu Sep 10 16:13:39 2015 +0200"
      },
      "message": "dev-cache: ignore persistent cache if configuration changed\n\nCommit f6473baffc2d0b486b2aa941cf2681683026b3a5 introduced a new\ncmd-\u003einitialized variable to keep info about which parts of the\ncmd_context have been initialized.\n\nA part of this patch was also a change in refresh_filters fn\nwhich checks for cmd-\u003einitialized.filters variable and it does\nthe filter refresh *only* if the filter has already been initialized\nbefore otherwise it\u0027s a NOOP (before, the refresh_filters also\ninitialized filters as a side effect in case it had not been\ninitialized before which was not quite correct).\n\nHowever, the commit f6473baffc2d0b486b2aa941cf2681683026b3a5\ndid not handle the case in which configuration changes\neither via --config argument or when configuration file changed\nand its timestamp was higher than the timestamp of the persistent\ncache file - the /etc/lvm/cache/.cache.\n\nThis patch fixes this issue and it causes the init_filters fn\nin lvm_run_command fn to be called with proper value of\n\"load_persistent_cache\" switch even if the configuration changes,\nhence causing the persistent cache file to be ignored in this\ncase.\n"
    },
    {
      "commit": "d323acdfec8aaab1161aa5f80ae67622e396a632",
      "tree": "521de02815c7602a3c1bac734fe0af5a74f2b3a4",
      "parents": [
        "81b0e9de7c28e1516263427d270907c4781964e1"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Sep 09 15:43:28 2015 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Sep 09 15:43:28 2015 -0500"
      },
      "message": "man lvmlockd: fix typo\n"
    },
    {
      "commit": "81b0e9de7c28e1516263427d270907c4781964e1",
      "tree": "f99764fae3939fe559a807cb3a8179190964fd2b",
      "parents": [
        "587fd6a0e479f630ad4d574d391f269048a81186"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Sep 09 15:21:10 2015 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Sep 09 15:21:10 2015 -0500"
      },
      "message": "man lvmlockd: mention device used for first vgcreate\n"
    },
    {
      "commit": "587fd6a0e479f630ad4d574d391f269048a81186",
      "tree": "1cd4d49ae9de7c5335e6ed786c120c67c702c641",
      "parents": [
        "6cb7f21e385178a7928635fc9531e2f6d8a91aac"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Tue Sep 08 14:11:46 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Tue Sep 08 15:41:34 2015 +0200"
      },
      "message": "tests: ensure dd flushed all data before exit\n"
    },
    {
      "commit": "6cb7f21e385178a7928635fc9531e2f6d8a91aac",
      "tree": "27e57723d0d06180b5d756bd5afe220d1774eb8c",
      "parents": [
        "8ff43c3705573043e2fa8ce68c2f052273cce205"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Tue Sep 08 14:11:06 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Tue Sep 08 15:41:34 2015 +0200"
      },
      "message": "tests: better check for compiled version\n\nUse install /lib files to check for expected version.\n"
    },
    {
      "commit": "8ff43c3705573043e2fa8ce68c2f052273cce205",
      "tree": "63fd6e829f1439fa9eaa180983125589de2101d6",
      "parents": [
        "026db9062129d8b5f0e0a8a6539014e8c04a35e0"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Tue Sep 08 14:33:29 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Tue Sep 08 15:41:33 2015 +0200"
      },
      "message": "makefiles: ensure no old .h are left\n\nEnsure make clean  cleans any left-over file from their previous\nlocation so they are not in conflict with new ones.\n\nAlso hide error message when .commands file is not present.\n"
    },
    {
      "commit": "026db9062129d8b5f0e0a8a6539014e8c04a35e0",
      "tree": "bee9548e341c1eca8e3c597321c41fcacebffba9",
      "parents": [
        "b77497cbd86a854add3ffa4ce09a35f165c0d2ba"
      ],
      "author": {
        "name": "Peter Rajnoha",
        "email": "prajnoha@redhat.com",
        "time": "Tue Sep 08 15:37:23 2015 +0200"
      },
      "committer": {
        "name": "Peter Rajnoha",
        "email": "prajnoha@redhat.com",
        "time": "Tue Sep 08 15:37:23 2015 +0200"
      },
      "message": "WHATS_NEW: commit b77497cbd86a854add3ffa4ce09a35f165c0d2ba\n"
    },
    {
      "commit": "b77497cbd86a854add3ffa4ce09a35f165c0d2ba",
      "tree": "aa25e8718861cfe724ea6d32fa16e92bbe6974e6",
      "parents": [
        "596ec5c74b604de42f105032b7e13065ea67d281"
      ],
      "author": {
        "name": "Peter Rajnoha",
        "email": "prajnoha@redhat.com",
        "time": "Tue Sep 08 15:03:15 2015 +0200"
      },
      "committer": {
        "name": "Peter Rajnoha",
        "email": "prajnoha@redhat.com",
        "time": "Tue Sep 08 15:28:10 2015 +0200"
      },
      "message": "filters: make sure regex filter is evaluated before any filter that needs disk access\n\nThe regex filter (controlled by devices/filter lvm.conf setting) was\nevaluated as the very last filter. However, this is not optimal when\nit comes to restricting disk access - users define devices/filter\nas well as devices/global_filter to avoid this.\n\nThe devices/global_filter is already positioned at the beginning of the\nfilter chain. We need to do the same for devices/filter.\n\nFilter chains before this patch:\n\n  A: when lvmetad is not used:\n       persistent_filter -\u003e sysfs_filter -\u003e global_regex_filter -\u003e\n       type_filter -\u003e usable-\u003efilter -\u003e mpath_component_filter -\u003e\n       partition_filter -\u003e md_component_filter -\u003e fw_raid_filter -\u003e\n       regex_filter\n\n  B: when lvmetad is used:\n\n    B1: to update lvmetad:\n      sysfs_filter -\u003e global_regex_filter -\u003e type_filter -\u003e\n      usable_filter -\u003e mpath_component_filter -\u003e partition_filter -\u003e\n      md_component_filter -\u003e fw_raid_filter\n\n    B2: to retrieve info from lvmetad:\n      persistent_filter -\u003e usable_filter -\u003e regex_filter\n\nFrom the chain list above we can see that particularly in case when\nlvmetad is not used, the regex filter is the very last one that is\nprocessed. If lvmetad is used, it doesn\u0027t matter much as there\u0027s\nthe global_regex_filter which is used instead when updating lvmetad\nand when retrieving info from lvmetad, putting regex_filter in front\nof usable_filter wouldn\u0027t change much since usabled_filter is not\nreading disks directly.\n\nThis patch puts the regex filter to the front even in case lvmetad\nis not used, hence reinstating the state as it was before commit\na7be3b12dfe7388d1648595e6cc4c7a1379bb8a7 (which moved the regex_filter\nposition in the chain). Still, the arguments for the commit\na7be3b12dfe7388d1648595e6cc4c7a1379bb8a7 still apply and they\u0027re\nstill satisfied since component filters (MD, mpath...) are evaluated\nfirst just before updating lvmetad.\n\nSo with this patch, we end up with:\n\n  A: when lvmetad is not used:\n       persistent_filter -\u003e sysfs_filter -\u003e global_regex_filter -\u003e\n       regex_filter -\u003e type_filter -\u003e usable-\u003efilter -\u003e\n       mpath_component_filter -\u003e partition_filter -\u003e\n       md_component_filter -\u003e fw_raid_filter\n\n  B: when lvmetad is used:\n\n    B1: to update lvmetad:\n      sysfs_filter -\u003e global_regex_filter -\u003e type_filter -\u003e\n      usable_filter -\u003e mpath_component_filter -\u003e partition_filter -\u003e\n      md_component_filter -\u003e fw_raid_filter\n\n    B2: to retrieve info from lvmetad:\n      persistent_filter -\u003e regex_filter -\u003e usable_filter\n\nThis way, specifying the regex_filter in non-lvmetad case causes\nthe devices to be filtered based on regex first before processing\nany other filters which can access disks (like md_component_filter).\n\nThis patch also streamlines the code for better readability.\n"
    },
    {
      "commit": "596ec5c74b604de42f105032b7e13065ea67d281",
      "tree": "8f0b78bacff79290f75a7e4baf6a71207c96c747",
      "parents": [
        "0ec64370b24acf837c725b614db993a663cc8103"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Tue Sep 08 12:00:12 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Tue Sep 08 12:12:38 2015 +0200"
      },
      "message": "tests: skip raid testing on 4.[1,2] fc24 kernels\n\nHopefull 4.3 will be fixed and test will be updated to let\nraid test running again.\n\nMeanwhile using md-raid may effectively kill kernel,\nso leave at least other tests running.\n"
    },
    {
      "commit": "0ec64370b24acf837c725b614db993a663cc8103",
      "tree": "56a973caab958c73ec68c003f0dbae2654e629c2",
      "parents": [
        "d7f45ebca52ecb7e15dee42f81718266b127bb5c"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Mon Sep 07 23:27:50 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Mon Sep 07 23:27:50 2015 +0200"
      },
      "message": "specs: install lvmlockctl only when built\n\nMove install line into proper section.\n"
    },
    {
      "commit": "d7f45ebca52ecb7e15dee42f81718266b127bb5c",
      "tree": "dfa53451ce53243791ea25ca8e6a996a04577e3f",
      "parents": [
        "daa94eb792ee76a507dcafe74c5ceda9707a370f"
      ],
      "author": {
        "name": "Bryn M. Reeves",
        "email": "bmr@redhat.com",
        "time": "Mon Sep 07 20:08:10 2015 +0100"
      },
      "committer": {
        "name": "Bryn M. Reeves",
        "email": "bmr@redhat.com",
        "time": "Mon Sep 07 20:14:53 2015 +0100"
      },
      "message": "libdm: clean up stats local variable use\n"
    },
    {
      "commit": "daa94eb792ee76a507dcafe74c5ceda9707a370f",
      "tree": "a55aeafd203954665f05d21325c17a978e6947d3",
      "parents": [
        "5f990473e46b97e4642744798429c02f7ddc0763"
      ],
      "author": {
        "name": "Bryn M. Reeves",
        "email": "bmr@redhat.com",
        "time": "Mon Sep 07 20:11:28 2015 +0100"
      },
      "committer": {
        "name": "Bryn M. Reeves",
        "email": "bmr@redhat.com",
        "time": "Mon Sep 07 20:14:53 2015 +0100"
      },
      "message": "libdm: fix display of nsec suffixes in histogram strings\n"
    },
    {
      "commit": "5f990473e46b97e4642744798429c02f7ddc0763",
      "tree": "4eac50de2d3ca3739d1c9fbda7381073003cbec6",
      "parents": [
        "4bc7a86f3aefbb1b805f94a17891c501b7de40b0"
      ],
      "author": {
        "name": "Bryn M. Reeves",
        "email": "bmr@redhat.com",
        "time": "Mon Sep 07 18:27:22 2015 +0100"
      },
      "committer": {
        "name": "Bryn M. Reeves",
        "email": "bmr@redhat.com",
        "time": "Mon Sep 07 19:30:03 2015 +0100"
      },
      "message": "libdm: clean up _build_histogram_arg()\n\nSplit up _build_histogram_arg() into separate functions to allocate\nand fill the histogram arg string and remove nested local variable\ndeclarations from the parent function.\n"
    },
    {
      "commit": "4bc7a86f3aefbb1b805f94a17891c501b7de40b0",
      "tree": "d60cb7272bc78b646888a0b0f46510a66aa5a365",
      "parents": [
        "ffbf12504d24a25a66de53e11bfcbaac84c51ab5"
      ],
      "author": {
        "name": "Bryn M. Reeves",
        "email": "bmr@redhat.com",
        "time": "Mon Sep 07 17:53:56 2015 +0100"
      },
      "committer": {
        "name": "Bryn M. Reeves",
        "email": "bmr@redhat.com",
        "time": "Mon Sep 07 17:53:56 2015 +0100"
      },
      "message": "libdm: only free the first histogram explicitly (Coverity)\n\nCoverity flags a user-after-free in _stats_histograms_destroy():\n\n\u003e\u003e\u003e     Calling \"dm_pool_free\" frees pointer \"mem-\u003echunk\" which has\n\u003e\u003e\u003e     already been freed.\n\nThis should not be possible since the histograms are destroyed in\nreverse order of allocation:\n\n 203         for (n \u003d _nr_areas_region(region) - 1; n; n--)\n 204                 if (region-\u003ecounters[n].histogram)\n 205                         dm_pool_free(mem, region-\u003ecounters[n].histogram);\n\nIt appears that Coverity is unaware that pool-\u003echunk is updated\nduring the call to dm_pool_free() and valgrind flags no errors in\nthis function when called with multiple allocated histograms.\n\nSince there is no actual need to free the histograms individually\nin this way simplify the code and just free the first allocated\nobject (which will also free all later allocated histograms in a\nsingle call).\n"
    },
    {
      "commit": "ffbf12504d24a25a66de53e11bfcbaac84c51ab5",
      "tree": "7cd11764af74b717103c2c8207f858575b72b632",
      "parents": [
        "330cad15678116fadd33737d69d3bba3b926fc30"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Fri Sep 04 09:42:45 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Mon Sep 07 17:44:08 2015 +0200"
      },
      "message": "cleanup: assign seg_name once\n"
    },
    {
      "commit": "330cad15678116fadd33737d69d3bba3b926fc30",
      "tree": "d3c8e3030552bb83094dd8cd4027bf2ffbff35ba",
      "parents": [
        "fa4d2ec24139ddc9e5ce69dde20155f308e09335"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Mon Sep 07 16:40:46 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Mon Sep 07 17:44:08 2015 +0200"
      },
      "message": "specs: package lvmlockctl man page\n"
    },
    {
      "commit": "fa4d2ec24139ddc9e5ce69dde20155f308e09335",
      "tree": "d4c702ff4a92f2ec04fdc67a8c36e70cddb3a706",
      "parents": [
        "acfc56957c008d30c98ced5fae5f7888ec2a5a22"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Fri Sep 04 16:34:34 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Mon Sep 07 17:44:08 2015 +0200"
      },
      "message": "tests: update install rules\n\nEnhnace \u0027make install\u0027 rules for test suite (used for rpm packaging).\nInstall lvmlockd conf files.\nCompile runner with correct CXXFLAGS.\n"
    },
    {
      "commit": "acfc56957c008d30c98ced5fae5f7888ec2a5a22",
      "tree": "f852073e81f60ca9dd519b6f25cd00efa3281d65",
      "parents": [
        "3ba431e79e4914dfaf3cc74aeb52b46757acc8df"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Mon Sep 07 13:44:14 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Mon Sep 07 17:44:04 2015 +0200"
      },
      "message": "makefiles: do not generate tags for everyone\n\nCreate tags file only on request (make tags).\nAlso clean file with \u0027make clean\u0027.\n"
    },
    {
      "commit": "3ba431e79e4914dfaf3cc74aeb52b46757acc8df",
      "tree": "93539343fec09875a81863494f96a10b898dbcee",
      "parents": [
        "d62448cb456170bab17b2af24e11df964666e1c6"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Mon Sep 07 14:00:27 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Mon Sep 07 17:43:27 2015 +0200"
      },
      "message": "makefiles: deps depends on header links\n\nPut include/.symlinks_created as a prerequisite for dep calc.\nOtherwise if these are not generated and user enters tests subdir and\nruns \u0027make\u0027 he just gets endless loop of dep calculation.\n"
    },
    {
      "commit": "d62448cb456170bab17b2af24e11df964666e1c6",
      "tree": "738ffe80dee60a87fa83a336b872c9c7e27e008e",
      "parents": [
        "1999e368f16cf7537c553be573809713213fdacd"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Mon Sep 07 14:02:25 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Mon Sep 07 17:43:27 2015 +0200"
      },
      "message": "configure: regenerate\n"
    },
    {
      "commit": "1999e368f16cf7537c553be573809713213fdacd",
      "tree": "4373b32659aaabc082418cbc7761e81d2cc1bae0",
      "parents": [
        "fc4f0d3fce05a601e768dbfb315b0c7e6d6c0030"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Mon Sep 07 13:58:54 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Mon Sep 07 17:43:27 2015 +0200"
      },
      "message": "configure: simpler version reading\n\nAvoid calling \u0027cat\u0027 when \u0027read\u0027 could handle it.\n\nAlso drop DM_LIB_VERSION from AC_SUBST as it\u0027s not used anywhere\nin .in file.\n"
    },
    {
      "commit": "fc4f0d3fce05a601e768dbfb315b0c7e6d6c0030",
      "tree": "ef112aabeb1e0df2f20a8c301f05e3ec410669b0",
      "parents": [
        "9403edbb93a2c337df790408e9ff3d26566b7443"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Mon Sep 07 13:57:38 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Mon Sep 07 17:43:11 2015 +0200"
      },
      "message": "configure: support --disable-dependency-tracking\n\nOne-time build may enjoy little speedup of build when dependencies are not\ncalculated.\n"
    },
    {
      "commit": "9403edbb93a2c337df790408e9ff3d26566b7443",
      "tree": "0edc49e8d92fb641051b119331e1127f59c7adef",
      "parents": [
        "ab1b54c3e3244c481a1f8bf5e7c8b48870846bd8"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Mon Sep 07 13:49:17 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Mon Sep 07 17:40:58 2015 +0200"
      },
      "message": "configure: relocate generated headers\n\nRelocate generated configure.h and lvm-version.h outside\nof compilable .c source tree.\n\nThe reason is behind - when compiling in builddir !\u003d srcdir\nthe generated file in lib/misc/configure.h was used for all compiled\nsource file except ones located in lib/misc dir - those would have used\nconfigure.h file located in this dir - if there have existed one (i.e.\nfrom some other build)\n\nThis problem was only visible, when srcdir \u003d\u003d buildir was used before\ntrying to use  srcdri !\u003d builddir  (as configure.h appeared then in\nsrcdir).\n"
    },
    {
      "commit": "ab1b54c3e3244c481a1f8bf5e7c8b48870846bd8",
      "tree": "6651e17108b349e2b40e9bdfc05869d87147621f",
      "parents": [
        "0f5933ecc1bf792a404e2cdfa8a2eccf66b5b6e1"
      ],
      "author": {
        "name": "Bryn M. Reeves",
        "email": "bmr@redhat.com",
        "time": "Mon Sep 07 12:08:34 2015 +0100"
      },
      "committer": {
        "name": "Bryn M. Reeves",
        "email": "bmr@redhat.com",
        "time": "Mon Sep 07 12:08:34 2015 +0100"
      },
      "message": "libdm: fix dm_stats leak in dm_stats_create()\n\nThe histogram changes adds a new error path to dm_stats_create().\nMake sure that the dm_stats handle is properly destroyed if we fail\nto create the histogram pool and check for failures setting the\nprogram_id.\n"
    },
    {
      "commit": "0f5933ecc1bf792a404e2cdfa8a2eccf66b5b6e1",
      "tree": "e8e9633a1d2ecf86846b866a5a54ef82374f3ec4",
      "parents": [
        "e75b4bc2df7ce9bf3b3644fb0e6d9d52467adb8e"
      ],
      "author": {
        "name": "Bryn M. Reeves",
        "email": "bmr@redhat.com",
        "time": "Mon Sep 07 12:01:20 2015 +0100"
      },
      "committer": {
        "name": "Bryn M. Reeves",
        "email": "bmr@redhat.com",
        "time": "Mon Sep 07 12:01:20 2015 +0100"
      },
      "message": "libdm: handle pool errors in dm_histogram_to_string()\n"
    },
    {
      "commit": "e75b4bc2df7ce9bf3b3644fb0e6d9d52467adb8e",
      "tree": "ac5053ff2a5d115f3570a9267129762f034e5de7",
      "parents": [
        "36b09fd1471ecbae84b22075b46fada2bd8761ee"
      ],
      "author": {
        "name": "Bryn M. Reeves",
        "email": "bmr@redhat.com",
        "time": "Mon Sep 07 11:52:54 2015 +0100"
      },
      "committer": {
        "name": "Bryn M. Reeves",
        "email": "bmr@redhat.com",
        "time": "Mon Sep 07 11:52:54 2015 +0100"
      },
      "message": "libdm: check dm_pool_begin_object() return value.\n"
    },
    {
      "commit": "36b09fd1471ecbae84b22075b46fada2bd8761ee",
      "tree": "e02ba070362d55c2d3b5fad0377d2caa2f46bf55",
      "parents": [
        "a26523330e8f461b90eca7d2dcea0d0a6866e635"
      ],
      "author": {
        "name": "Bryn M. Reeves",
        "email": "bmr@redhat.com",
        "time": "Mon Sep 07 11:44:53 2015 +0100"
      },
      "committer": {
        "name": "Bryn M. Reeves",
        "email": "bmr@redhat.com",
        "time": "Mon Sep 07 11:44:53 2015 +0100"
      },
      "message": "libdm: add missing error handling in _stats_parse_histogram()\n\nSince we are growing an object in the histogram pool the return\nvalue of dm_pool_grow_object() must be checked and error paths need\nto abandon the object before returning.\n"
    },
    {
      "commit": "a26523330e8f461b90eca7d2dcea0d0a6866e635",
      "tree": "cdfec333b02a9b785bc17efa06848b25a052b03f",
      "parents": [
        "2a022e9e6ef24741c5ebf1ebeaff6241cc505287"
      ],
      "author": {
        "name": "Bryn M. Reeves",
        "email": "bmr@redhat.com",
        "time": "Mon Sep 07 11:14:28 2015 +0100"
      },
      "committer": {
        "name": "Bryn M. Reeves",
        "email": "bmr@redhat.com",
        "time": "Mon Sep 07 11:14:28 2015 +0100"
      },
      "message": "dmsetup: fix bounds leak in _do_stats_create_regions()\n\nIf we fail to create the DM_DEVICE_TABLE dm_task destroy the bounds\nobject before returning.\n"
    },
    {
      "commit": "2a022e9e6ef24741c5ebf1ebeaff6241cc505287",
      "tree": "f88f23ee7a6aa348318cfbb50951916a96875986",
      "parents": [
        "fb123084166634e8f3b8550520391df369e9db70"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Sep 05 23:58:40 2015 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Sep 05 23:58:40 2015 +0100"
      },
      "message": "post-release\n"
    },
    {
      "commit": "fb123084166634e8f3b8550520391df369e9db70",
      "tree": "e12413889121f20bc5fb0cb6271240f2b97dba48",
      "parents": [
        "f5a3b05c7ac8474cd323558399d2886f8edb5731"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Sep 05 23:56:30 2015 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Sep 05 23:56:30 2015 +0100"
      },
      "message": "style: Standardise some error paths.\n"
    },
    {
      "commit": "f5a3b05c7ac8474cd323558399d2886f8edb5731",
      "tree": "65ebe4a1cc12f9babb338e726b86b8ba52e2c564",
      "parents": [
        "f868624f85059d935ec32a90f89a7d8266d7a6ca"
      ],
      "author": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Sep 05 23:46:22 2015 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Sep 05 23:46:22 2015 +0100"
      },
      "message": "pre-release\n"
    },
    {
      "commit": "f868624f85059d935ec32a90f89a7d8266d7a6ca",
      "tree": "fe326cda77e73a42f40a39332230aee863b7dd7e",
      "parents": [
        "10ccbc5efaecdc93f40a07a61dad3f2cf8eff73f"
      ],
      "author": {
        "name": "Bryn M. Reeves",
        "email": "bmr@redhat.com",
        "time": "Fri Sep 04 19:53:10 2015 +0100"
      },
      "committer": {
        "name": "Bryn M. Reeves",
        "email": "bmr@redhat.com",
        "time": "Fri Sep 04 19:53:10 2015 +0100"
      },
      "message": "WHATS_NEW_DM: fix histogram entries for 1.02.107\n\nThe histogram entries were under the wrong version (1.02.106). Fix\nthat and describe the library changes in more detail.\n"
    },
    {
      "commit": "10ccbc5efaecdc93f40a07a61dad3f2cf8eff73f",
      "tree": "7542ac732c744656240b9af28e64bfd59d4c6e37",
      "parents": [
        "43d6b5b375e97fa96c9fe498a19fe6df05dc1fb2"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Sep 04 13:41:38 2015 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Sep 04 13:41:38 2015 -0500"
      },
      "message": "lvmlockd: don\u0027t stop lockspace for EREMOVED\n\nUndo the part of the recent EREMOVED change which\nautomatically stopped the lockspace for a remotely\nremoved VG.  It didn\u0027t always work (would not work\nwhen lvb content was rebuilt in the dlm).  This will\nbe handled better when the lvb content is controlled\nmore strictly.\n"
    },
    {
      "commit": "43d6b5b375e97fa96c9fe498a19fe6df05dc1fb2",
      "tree": "4d68c57c72073877d5949e92601f4e83b7a4cbb1",
      "parents": [
        "869c0bdeb89b7f78bb5152ca1278cfb0cc5d9fd5"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Sep 04 13:01:03 2015 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Sep 04 13:01:03 2015 -0500"
      },
      "message": "man lvmlockd: add section about first sanlock VG\n\nAdd a section specifically about creating the first\nsanlock VG.\n"
    },
    {
      "commit": "869c0bdeb89b7f78bb5152ca1278cfb0cc5d9fd5",
      "tree": "b5973cefa96a9749edfaad1f0490383494e002c2",
      "parents": [
        "c71af0895d4ea3c37bcb06f36eed69a7adcb5296"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Sep 04 11:02:48 2015 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Sep 04 11:05:13 2015 -0500"
      },
      "message": "man lvmlockctl: add man page\n"
    },
    {
      "commit": "c71af0895d4ea3c37bcb06f36eed69a7adcb5296",
      "tree": "3d26abe62ab67756a32f9f57ebf3fef4548a4ea5",
      "parents": [
        "b00ee99a21f3a6f502fc5d165b979af128e3b8b2"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Sep 04 11:01:25 2015 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Sep 04 11:05:13 2015 -0500"
      },
      "message": "lvmlockctl: update command descriptions and add logging\n\nThe one line descriptions will match the man page.\n\nAdd a syslog entry when enabling/disabling the global lock\nto help debugging.\n"
    },
    {
      "commit": "b00ee99a21f3a6f502fc5d165b979af128e3b8b2",
      "tree": "4d636e5a8e5fb88d92d601e839b53d762bc96bf3",
      "parents": [
        "55c13f3de4a8b709b950297369182cd81a6c738f"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Sep 04 10:29:01 2015 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Sep 04 11:05:13 2015 -0500"
      },
      "message": "man lvmlockd: explain the use of lvmlockctl kill\n"
    },
    {
      "commit": "55c13f3de4a8b709b950297369182cd81a6c738f",
      "tree": "4e4073bb4be5a39379723d545d8475ce4a167ddb",
      "parents": [
        "96948540825d8b3f8e89cbf22527a2d3d8435667"
      ],
      "author": {
        "name": "Peter Rajnoha",
        "email": "prajnoha@redhat.com",
        "time": "Fri Sep 04 18:00:29 2015 +0200"
      },
      "committer": {
        "name": "Peter Rajnoha",
        "email": "prajnoha@redhat.com",
        "time": "Fri Sep 04 18:00:29 2015 +0200"
      },
      "message": "dev-cache: fix use of uninitialized device status if reading outdated .cache record\n\nAs part of fix that came with cf700151eba483aeedbf790fd66ce1c44e19c707,\nI forgot to add the check whether the result of stat was successful or\nnot. This bug caused uninitialized buffer to be used for entries\nfrom .cache file which are no longer valid.\n\nThis bug may have caused these uninitialized values to be used further,\nfor example (see the unreal (2567,590944) representing major:minor\npair):\n\n$ pvs\n  /dev/abc: stat failed: No such file or directory\n  Path /dev/abc no longer valid for device(2567,590944)\n  PV               VG   Fmt  Attr PSize   PFree\n  /dev/mapper/test      lvm2 ---  104.00m 104.00m\n  /dev/vda2        rhel lvm2 a--    9.51g      0\n"
    },
    {
      "commit": "96948540825d8b3f8e89cbf22527a2d3d8435667",
      "tree": "0782e1a6e26dfee929c0d4fcc43fcb4ba260b73e",
      "parents": [
        "cdca2782d2b43c20d552d64359ac0ce80d24af5f"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Sep 04 09:53:33 2015 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Fri Sep 04 09:53:33 2015 -0500"
      },
      "message": "vgchange: improve error message about changing lock type\n"
    },
    {
      "commit": "cdca2782d2b43c20d552d64359ac0ce80d24af5f",
      "tree": "242dbb5ef441022914a22bd191644e96818673dc",
      "parents": [
        "cebbb0feafb97516377388eb1747e3207c4f0596"
      ],
      "author": {
        "name": "Bryn M. Reeves",
        "email": "bmr@redhat.com",
        "time": "Fri Sep 04 11:40:19 2015 +0100"
      },
      "committer": {
        "name": "Bryn M. Reeves",
        "email": "bmr@redhat.com",
        "time": "Fri Sep 04 11:46:48 2015 +0100"
      },
      "message": "libdm: fix uninitialized variable warnings on older gcc\n\nOlder versions of gcc aren\u0027t able to track the assignments of\nlocal variables as well as the latest versions leading to spurious\nwarnings like:\n\nlibdm-stats.c:2183: warning: \"len\" may be used uninitialized in this\nfunction\nlibdm-stats.c:2177: warning: \"minwidth\" may be used uninitialized in\nthis function\n\nBoth of these variables are in fact assigned in all possible paths\nthrough the function and later compilers do not produce these\nwarnings.\n\nThere\u0027s no reason to not initialize these variables though and\nit makes the function slightly easier to follow.\n\nAlso fix one use of \u0027unsigned\u0027 for a nr_bins value.\n"
    },
    {
      "commit": "cebbb0feafb97516377388eb1747e3207c4f0596",
      "tree": "577c1e1e532d653816ad24991bf79028e9fc8f4d",
      "parents": [
        "6240a7639d1473f7e22c8a8099176bc1b444d4d3"
      ],
      "author": {
        "name": "Bryn M. Reeves",
        "email": "bmr@redhat.com",
        "time": "Thu Sep 03 23:00:44 2015 +0100"
      },
      "committer": {
        "name": "Bryn M. Reeves",
        "email": "bmr@redhat.com",
        "time": "Thu Sep 03 23:39:11 2015 +0100"
      },
      "message": "dmstats: replace histogram command with switch\n\nReplace the histogram stats subcommand with a --histogram switch\nto enable histogram related fields for both list and report output.\n\nTo avoid overloading the existing --histogram rename it to --bounds:\nthis is also a better description of the option.\n"
    },
    {
      "commit": "6240a7639d1473f7e22c8a8099176bc1b444d4d3",
      "tree": "36579148f9b649b60460eb7eb40a5b20b7e26581",
      "parents": [
        "9e8b3d4a9825ecca3dc7a71f6379b63a27d6fa8c"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Sep 03 16:42:19 2015 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Sep 03 16:47:54 2015 -0500"
      },
      "message": "lvmlockd: fixes for starting dlm global lockspace\n\nRemove the optimization/shortcut for starting the dlm global\nlockspace when it was already running.\n\nReenable automatically starting the dlm global lockspace\nwhen a command attempts to use it and it\u0027s not yet started.\nThis had become disabled at some point.\n"
    },
    {
      "commit": "9e8b3d4a9825ecca3dc7a71f6379b63a27d6fa8c",
      "tree": "a6389c75a22dd81bb5c0957997717ea4cedbc159",
      "parents": [
        "c27015368b590dc42f15ef8d55faa279e912666a"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Sep 03 13:47:54 2015 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Sep 03 16:47:54 2015 -0500"
      },
      "message": "lockd: check for unlock failure in all cases\n\nThis suppresses an unwanted error message.\n"
    },
    {
      "commit": "c27015368b590dc42f15ef8d55faa279e912666a",
      "tree": "47a50c43d056c66ff9f856ee55b90cae8080bb76",
      "parents": [
        "5da497d0a81e100d803a1384a9394b0b513f176b"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Sep 03 13:39:56 2015 -0500"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Sep 03 16:47:54 2015 -0500"
      },
      "message": "lvmlockd: improve log messages for adding dlm global lockspace\n"
    },
    {
      "commit": "5da497d0a81e100d803a1384a9394b0b513f176b",
      "tree": "8f4ad55b1e578ecb1d029f8679e68d85197a0475",
      "parents": [
        "dc261f17e96cb4012dd34329fd6ae9f766eb7c11"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 03 23:05:33 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 03 23:34:37 2015 +0200"
      },
      "message": "tests: update thin test\n\nUse slightly better values\n"
    },
    {
      "commit": "dc261f17e96cb4012dd34329fd6ae9f766eb7c11",
      "tree": "a72f8a07519443c30ca258b41f8b4ad4c5f2cff9",
      "parents": [
        "ee8200f1c6d8613ae1f55b41d5eb758b547c6a4b"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 03 23:04:15 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 03 23:34:37 2015 +0200"
      },
      "message": "tests: use conv\u003dfdatasync\n\nShould be slightly better to flushed before dd exits\ninstead of using direct IO.\n"
    },
    {
      "commit": "ee8200f1c6d8613ae1f55b41d5eb758b547c6a4b",
      "tree": "06b0689041e5375eed58fbe01ed53791a9dcafd4",
      "parents": [
        "0a389691dcf9a31bb0da26089febb0bdd93545d7"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Wed Sep 02 16:13:50 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 03 23:34:37 2015 +0200"
      },
      "message": "cleanup: use just 2 decimal digits\n"
    },
    {
      "commit": "0a389691dcf9a31bb0da26089febb0bdd93545d7",
      "tree": "5b22c80a11e1e4560f70c1dd6181dd310beda332",
      "parents": [
        "32d6ca9196591d7f4d820e373fd14fd0f2301914"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 03 22:51:15 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 03 23:34:37 2015 +0200"
      },
      "message": "cleanup: avoid printing -0.00\n\nNice trick to not print -0.00 for some percent values.\n"
    },
    {
      "commit": "32d6ca9196591d7f4d820e373fd14fd0f2301914",
      "tree": "f703cc2cf1ac900f5e365fa22a5693ecf31e167a",
      "parents": [
        "20e317cf92d0760c8e1052dc975a14645aecfd84"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Wed Aug 26 14:14:44 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 03 23:34:36 2015 +0200"
      },
      "message": "cleanup: show error message\n\nAdd error message on error path.\n"
    },
    {
      "commit": "20e317cf92d0760c8e1052dc975a14645aecfd84",
      "tree": "e089ec76199b9691cc61b36c4476899a99732380",
      "parents": [
        "2b9843c20b3ca26867228d89154b611c4464eff2"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Aug 27 17:19:09 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 03 23:34:36 2015 +0200"
      },
      "message": "lvcreate: restore missed --monitor\n\nFix regression from d13239b0547e09def4b58b0f49bd0252f459d431.\nThis patch reorganized whole command option parsing, however\nit has lost support to accept --monitor arg.\n"
    },
    {
      "commit": "2b9843c20b3ca26867228d89154b611c4464eff2",
      "tree": "f3b7335cc348216dc0e3384fe8c74c0672a16900",
      "parents": [
        "872ea3b98710c2a45c76dc22a606a40b13440d13"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 03 17:39:03 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 03 23:34:36 2015 +0200"
      },
      "message": "dmeventd: reorder mempool allocation\n\nSince lvm2_init() effectively detects memory leaks\nallocate mempool after this initialization\n(so it\u0027s not reported as leak).\n"
    },
    {
      "commit": "872ea3b98710c2a45c76dc22a606a40b13440d13",
      "tree": "d6fc78dd9ba214905006f75d416d27c20836de4b",
      "parents": [
        "df110bccbed2bc7f53355fcb16309eb2727ba483"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 03 22:57:50 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 03 23:34:36 2015 +0200"
      },
      "message": "thin: do not flush when quering for thin percent\n\nSince we may easily get blocked when checking for percentage\nof thin-pool - do not flush and just show current values.\nThis avoids holding VG locked when pool is overfilled.\n"
    },
    {
      "commit": "df110bccbed2bc7f53355fcb16309eb2727ba483",
      "tree": "8c6caf66bed2264512b7e2ad44bd602c8880a186",
      "parents": [
        "a01eb9c451b136ccb12f3baf6b487604a4f209dc"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 03 22:52:21 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 03 23:34:36 2015 +0200"
      },
      "message": "thin: validate mapped size of thin volume\n\nNever show we map more then 100% for a volume.\nBut show warning when there could be some consistency problems.\n"
    },
    {
      "commit": "a01eb9c451b136ccb12f3baf6b487604a4f209dc",
      "tree": "e06bfbb45db0bb953ef9108080bf3640e21ef934",
      "parents": [
        "81a9da8f6190b567bb26f28ff02be0e6b10cad9a"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Wed Sep 02 16:13:31 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 03 23:34:36 2015 +0200"
      },
      "message": "thin: detect unusable thins\n\nTry to detect thin-pool which my block lvm2 command from furher\nprocessing (i.e. lvextend).\n\nCheck if pool is read-only or out-of-space and in this case thins\nwill skipped from being scanned (so user may miss some PVs located\non thin volumes).\n"
    },
    {
      "commit": "81a9da8f6190b567bb26f28ff02be0e6b10cad9a",
      "tree": "68383f25566ffcc5fe5234b7c3165d7c941ae98a",
      "parents": [
        "a3c7e326c3e9950fe74e433c406d6e1b5a53bf25"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Wed Sep 02 16:08:30 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 03 23:34:36 2015 +0200"
      },
      "message": "filters: swap device_is_usable test\n\nFix regression introduced with commit:\n2fc126b00d83991c6a2f3ed9aa61457294a4c45e\n\nThis commit has moved  pv_min_size() test in front\nof device_is_usable(). However pv_min_size needs to open device,\nso it may have actually get blocked.\n\nSo restore the original order and first validate\ndm device to be usable for open.\n\nIt\u0027s worth to note that such check is not \u0027race-free\u0027,\nbut it usually eliminates 99.99% of problems ;).\n"
    },
    {
      "commit": "a3c7e326c3e9950fe74e433c406d6e1b5a53bf25",
      "tree": "456e45c5713af61cb9453e3dbd363d192fc02873",
      "parents": [
        "5ce334923f1f82e0ca5dcbd0f5e830109c1f9c0b"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Wed Sep 02 11:10:59 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 03 23:34:36 2015 +0200"
      },
      "message": "libdm: relocate parsing of thin-pool status\n\nUse single routine for parsing status.\n\nInternally we do not need to allocate pool memory for\npassed struct.\n"
    },
    {
      "commit": "5ce334923f1f82e0ca5dcbd0f5e830109c1f9c0b",
      "tree": "1c84a5815eab957c4a379aa3a5b386e63649e5dd",
      "parents": [
        "49b5022993cd57f7fda416bd62d182cdbe209fb8"
      ],
      "author": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 03 22:48:56 2015 +0200"
      },
      "committer": {
        "name": "Zdenek Kabelac",
        "email": "zkabelac@redhat.com",
        "time": "Thu Sep 03 23:34:36 2015 +0200"
      },
      "message": "configure: better parsing of cache_check version\n\nProperly read also version string like  0.5.5-1.fc24\nand read just first 3 digits split by \u0027.\u0027\n\nAlso remove one extra  $HAVE_REALTIME.\n"
    },
    {
      "commit": "49b5022993cd57f7fda416bd62d182cdbe209fb8",
      "tree": "cc1086365f58ff779b7d627e2a9cc65abb17bf1f",
      "parents": [
        "84d88cb2cf11ecb3c186477cd3c79cef0fa1c378"
      ],
      "author": {
        "name": "Bryn M. Reeves",
        "email": "bmr@redhat.com",
        "time": "Thu Sep 03 21:56:34 2015 +0100"
      },
      "committer": {
        "name": "Bryn M. Reeves",
        "email": "bmr@redhat.com",
        "time": "Thu Sep 03 22:04:11 2015 +0100"
      },
      "message": "dmstats: support --noheadings for histogram fields\n"
    },
    {
      "commit": "84d88cb2cf11ecb3c186477cd3c79cef0fa1c378",
      "tree": "9d2b31844b6c71e3c34a9ea871c6fe93865d4159",
      "parents": [
        "f09e4f7b10db5051b40fe50b5d6a99a171ce04ca"
      ],
      "author": {
        "name": "Bryn M. Reeves",
        "email": "bmr@redhat.com",
        "time": "Thu Sep 03 21:55:25 2015 +0100"
      },
      "committer": {
        "name": "Bryn M. Reeves",
        "email": "bmr@redhat.com",
        "time": "Thu Sep 03 22:04:10 2015 +0100"
      },
      "message": "dmstats: add --notimesuffix switch\n\nAdd a switch to disable the printing of time unit suffixes in\nhistogram bounds descriptions.\n"
    }
  ],
  "next": "f09e4f7b10db5051b40fe50b5d6a99a171ce04ca"
}
