)]}'
{
  "log": [
    {
      "commit": "ebfd32bba9b518d684009d9d21a56742337ca1b3",
      "tree": "317e2c6b14657d7d7c792daf149377ca83afb444",
      "parents": [
        "55f67f2dedec1e3049abc30b6d82b999a14cafb7"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Tue Feb 16 18:42:53 2010 +0000"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Tue Feb 16 18:42:53 2010 +0000"
      },
      "message": "dm log: userspace fix overhead_size calcuations\n\nThis patch fixes two bugs that revolve around the miscalculation and\nmisuse of the variable \u0027overhead_size\u0027.  \u0027overhead_size\u0027 is the size of\nthe various header structures used during communication.\n\nThe first bug is the use of \u0027sizeof\u0027 with the pointer of a structure\ninstead of the structure itself - resulting in the wrong size being\ncomputed.  This is then used in a check to see if the payload\n(data_size) would be to large for the preallocated structure.  Since the\nbug produces a smaller value for the overhead, it was possible for the\nstructure to be breached.  (Although the current users of the code do\nnot currently send enough data to trigger this bug.)\n\nThe second bug is that the \u0027overhead_size\u0027 value is used to compute how\nmuch of the preallocated space should be cleared before populating it\nwith fresh data.  This should have simply been \u0027sizeof(struct cn_msg)\u0027\nnot overhead_size.  The fact that \u0027overhead_size\u0027 was computed\nincorrectly made this problem \"less bad\" - leaving only a pointer\u0027s\nworth of space at the end uncleared.  Thus, this bug was never producing\na bad result, but still needs to be fixed - especially now that the\nvalue is computed correctly.\n\nCc: stable@kernel.org\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "24836479a126e02be691e073c2b6cad7e7ab836a",
      "tree": "103d866a64b43f21bcf05baec542bac0aa6a221e",
      "parents": [
        "f1489cfb173509a3c13444b46b6c989bad4f5b16"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Oct 02 02:40:08 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 02 10:54:10 2009 -0700"
      },
      "message": "dm/connector: Only process connector packages from privileged processes\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "18366b05a00349c1606269ba7422bf9b3a357ff2",
      "tree": "e6576e41d6812696e65c492ff512def54583de76",
      "parents": [
        "7069331dbe7155f23966f5944109f909fea0c7e4"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Oct 02 02:40:06 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 02 10:54:04 2009 -0700"
      },
      "message": "connector/dm: Fixed a compilation warning\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nAcked-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nAcked-by: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7069331dbe7155f23966f5944109f909fea0c7e4",
      "tree": "5ea80628d1bf5e776a540ee84814f085c9adff04",
      "parents": [
        "293500a23f4b0698cb04abfecfc9a954d8ab2742"
      ],
      "author": {
        "name": "Philipp Reisner",
        "email": "philipp.reisner@linbit.com",
        "time": "Fri Oct 02 02:40:05 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 02 10:54:01 2009 -0700"
      },
      "message": "connector: Provide the sender\u0027s credentials to the callback\n\nSigned-off-by: Philipp Reisner \u003cphilipp.reisner@linbit.com\u003e\nAcked-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nAcked-by: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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": "894ef820b10d77e2d6d717342fc408bdd9825139",
      "tree": "4d79204fdee6bc23a555503fc224f7e13a10e304",
      "parents": [
        "b2add73dbf93fd50f00564d7abc3e2b9aa9dd20c"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sun Aug 16 07:33:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Aug 16 08:35:58 2009 -0700"
      },
      "message": "dm-log-userspace: fix printk format warning\n\ndrivers/md/dm-log-userspace-transfer.c:110: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 4 has type \u0027size_t\u0027\n\nPreviously posted and acked, but apparently lost.\nhttp://lkml.indiana.edu/hypermail/linux/kernel/0906.2/02074.html\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: dm-devel@redhat.com\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\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"
    }
  ]
}
