)]}'
{
  "log": [
    {
      "commit": "5a25f0eb707bbb4a5aaaf19c933605a6dbaf77a5",
      "tree": "62f9af5013d252b0fdff5449b3adcaeadfff31aa",
      "parents": [
        "b89544575d0096735edc9b0ad187e635487905ad"
      ],
      "author": {
        "name": "Jonathan E Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Mon Oct 31 20:21:24 2011 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Mon Oct 31 20:21:24 2011 +0000"
      },
      "message": "dm log userspace: add log device dependency\n\nAllow userspace dm log implementations to register their log device so it\nis no longer missing from the list of device dependencies.\n\nWhen device mapper targets use a device they normally call dm_get_device\nwhich includes it in the device list returned to userspace applications\nsuch as LVM through the DM_TABLE_DEPS ioctl.  Userspace log devices\ndon\u0027t use dm_get_device as userspace opens them so they are missing from\nthe list of dependencies.\n\nThis patch extends the DM_ULOG_CTR operation to allow userspace to\nrespond with the name of the log device (if appropriate) to be\nregistered via \u0027dm_get_device\u0027.  DM_ULOG_REQUEST_VERSION is incremented.\n\nThis is backwards compatible.  If the kernel and userspace log server\nhave both been updated, the new information will be passed down to the\nkernel and the device will be registered.  If the kernel is new, but\nthe log server is old, the log server will not pass down any device\ninformation and the kernel will simply bypass the device registration\nas before.  If the kernel is old but the log server is new, the log\nserver will see the old version number and not pass the device info.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "86a54a4802df10d23ccd655e2083e812fe990243",
      "tree": "168ccb5f1824e16fb55ac64e2d4754775aeaa958",
      "parents": [
        "085ae0651b2791f3a430ddb76da92925b9952e13"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Thu Jan 13 19:59:52 2011 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Thu Jan 13 19:59:52 2011 +0000"
      },
      "message": "dm log userspace: add version number to comms\n\nThis patch adds a \u0027version\u0027 field to the \u0027dm_ulog_request\u0027\nstructure.\n\nThe \u0027version\u0027 field is taken from a portion of the unused\n\u0027padding\u0027 field in the \u0027dm_ulog_request\u0027 structure.  This\nwas done to avoid changing the size of the structure and\npossibly disrupting backwards compatibility.\n\nThe version number will help notify user-space daemons\nwhen a change has been made to the kernel/userspace\nlog API.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "21ae2956ce289f61f11863cc67080f9a28101ae0",
      "tree": "c6f66176b5f151a1326879de334a94201eeb0f26",
      "parents": [
        "0e6779bbcb78b434efdc84fff1809e342684d6b3"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Wed Oct 07 15:21:09 2009 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Nov 09 09:40:57 2009 +0100"
      },
      "message": "tree-wide: fix typos \"aquire\" -\u003e \"acquire\", \"cumsumed\" -\u003e \"consumed\"\n\nThis patch was generated by\n\n\tgit grep -E -i -l \u0027[Aa]quire\u0027 | xargs -r perl -p -i -e \u0027s/([Aa])quire/$1cquire/\u0027\n\nand the cumsumed was found by checking the diff for aquire.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "7ec23d50949d5062b5b749638dd9380ed75e58e5",
      "tree": "28183b6468683cf28abd63b9c322b9f31bcddc5e",
      "parents": [
        "d2b698644c97cb033261536a4f2010924a00eac9"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Fri Sep 04 20:40:34 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Sep 04 20:40:34 2009 +0100"
      },
      "message": "dm log: userspace add luid to distinguish between concurrent log instances\n\nDevice-mapper userspace logs (like the clustered log) are\nidentified by a universally unique identifier (UUID).  This\nidentifier is used to associate requests from the kernel to\na specific log in userspace.  The UUID must be unique everywhere,\nsince multiple machines may use this identifier when communicating\nabout a particular log, as is the case for cluster logs.\n\nSometimes, device-mapper/LVM may re-use a UUID.  This is the\ncase during pvmoves, when moving from one segment of an LV\nto another, or when resizing a mirror, etc.  In these cases,\na new log is created with the same UUID and loaded in the\n\"inactive\" slot.  When a device-mapper \"resume\" is issued,\nthe \"live\" table is deactivated and the new \"inactive\" table\nbecomes \"live\".  (The \"inactive\" table can also be removed\nvia a device-mapper \u0027clear\u0027 command.)\n\nThe above two issues were colliding.  More than one log was being\ncreated with the same UUID, and there was no way to distinguish\nbetween them.  So, sometimes the wrong log would be swapped\nout during the exchange.\n\nThe solution is to create a locally unique identifier,\n\u0027luid\u0027, to go along with the UUID.  This new identifier is used\nto determine exactly which log is being referenced by the kernel\nwhen the log exchange is made.  The identifier is not\nuniversally safe, but it does not need to be, since\ncreate/destroy/suspend/resume operations are bound to a specific\nmachine; and these are the operations that make up the exchange.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "f5db4af466e2dca0fe822019812d586ca910b00c",
      "tree": "1bbaaa36509df9f7eecc19ccffa434048cf4b555",
      "parents": [
        "754c5fc7ebb417b23601a6222a6005cc2e7f2913"
      ],
      "author": {
        "name": "Jonthan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Mon Jun 22 10:12:35 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Mon Jun 22 10:12:35 2009 +0100"
      },
      "message": "dm raid1: add userspace log\n\nThis patch contains a device-mapper mirror log module that forwards\nrequests to userspace for processing.\n\nThe structures used for communication between kernel and userspace are\nlocated in include/linux/dm-log-userspace.h.  Due to the frequency,\ndiversity, and 2-way communication nature of the exchanges between\nkernel and userspace, \u0027connector\u0027 was chosen as the interface for\ncommunication.\n\nThe first log implementations written in userspace - \"clustered-disk\"\nand \"clustered-core\" - support clustered shared storage.   A userspace\ndaemon (in the LVM2 source code repository) uses openAIS/corosync to\nprocess requests in an ordered fashion with the rest of the nodes in the\ncluster so as to prevent log state corruption.  Other implementations\nwith no association to LVM or openAIS/corosync, are certainly possible.\n\n(Imagine if two machines are writing to the same region of a mirror.\nThey would both mark the region dirty, but you need a cluster-aware\nentity that can handle properly marking the region clean when they are\ndone.  Otherwise, you might clear the region when the first machine is\ndone, not the second.)\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nCc: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    }
  ]
}
