)]}'
{
  "log": [
    {
      "commit": "acb80838d972107ad36755aa98ccca152b0686cf",
      "tree": "428277ffa98cd109b7d94dded1cbc4d835b5cfc9",
      "parents": [
        "aaaa57f32a605e4ebd2e4230fe036afc009ae0a0"
      ],
      "author": {
        "name": "Carlos Maiolino",
        "email": "cem@kernel.org",
        "time": "Thu Dec 15 06:51:07 2022 +0100"
      },
      "committer": {
        "name": "Carlos Maiolino",
        "email": "cem@kernel.org",
        "time": "Thu Dec 15 06:51:07 2022 +0100"
      },
      "message": "xfsdump: Release 3.1.12\n\nUptade all the necessary files for a 3.1.12 release.\n\nSigned-off-by: Carlos Maiolino \u003ccem@kernel.org\u003e\n"
    },
    {
      "commit": "aaaa57f32a605e4ebd2e4230fe036afc009ae0a0",
      "tree": "ece5bce4d0ab4dcf6fa16c1e318448f9948f9511",
      "parents": [
        "7b843fdbbe47ed36117fc0e1fb95e4288f3a9c83"
      ],
      "author": {
        "name": "Donald Douwsma",
        "email": "ddouwsma@redhat.com",
        "time": "Fri Oct 14 18:58:47 2022 +1100"
      },
      "committer": {
        "name": "Carlos Maiolino",
        "email": "cem@kernel.org",
        "time": "Mon Oct 24 10:31:28 2022 +0200"
      },
      "message": "xfsrestore: untangle inventory unpacking logic\n\nstobj_unpack_sessinfo returns bool_t, fix logic in pi_addfile so errors\ncan be properly reported.\n\nSigned-off-by: Donald Douwsma \u003cddouwsma@redhat.com\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Carlos Maiolino \u003ccem@kernel.org\u003e\n"
    },
    {
      "commit": "7b843fdbbe47ed36117fc0e1fb95e4288f3a9c83",
      "tree": "e3f243a8049cd5b8395c8793d60029ab616e9f0e",
      "parents": [
        "65034077ef03c434c09c88d38c4c58ec442cf3c1"
      ],
      "author": {
        "name": "Donald Douwsma",
        "email": "ddouwsma@redhat.com",
        "time": "Fri Oct 14 18:58:46 2022 +1100"
      },
      "committer": {
        "name": "Carlos Maiolino",
        "email": "cem@kernel.org",
        "time": "Mon Oct 24 10:31:28 2022 +0200"
      },
      "message": "xfsdump: fix on-media inventory stream packing\n\nWith the on-media inventory now being restored for multiple streams we\ncan see that the restored streams both claim to be for /dev/nst0.\n\n[root@rhel8 xfsdump-dev]# xfsdump -L \"Test\" -f /dev/nst0 -M tape1 -f /dev/nst1 -M tape2 /boot\n...\n[root@rhel8 ~]# rm -rf /var/lib/xfsdump/inventory\n[root@rhel8 xfsdump-dev]# restore/xfsrestore -L Test -f /dev/nst0 -f /dev/nst1 /tmp/test\nrestore/xfsrestore: using scsi tape (drive_scsitape) strategy\nrestore/xfsrestore: using scsi tape (drive_scsitape) strategy\nrestore/xfsrestore: version 3.1.10 (dump format 3.0) - type ^C for status and control\n...\nrestore/xfsrestore: Restore Summary:\nrestore/xfsrestore:   stream 0 /dev/nst0 OK (success)\nrestore/xfsrestore:   stream 1 /dev/nst1 ALREADY_DONE (another stream completed the operation)\nrestore/xfsrestore: Restore Status: SUCCESS\n[root@rhel8 xfsdump-dev]# xfsdump -I\nfile system 0:\n\tfs id:\t\t26dd5aa0-b901-4cf5-9b68-0c5753cb3ab8\n\tsession 0:\n\t\tmount point:\trhel8:/boot\n\t\tdevice:\t\trhel8:/dev/sda1\n\t\ttime:\t\tFri Oct 14 18:31:40 2022\n\t\tsession label:\t\"Test\"\n\t\tsession id:\t96538a3d-2af8-4a79-8865-afec6e3e55f4\n\t\tlevel:\t\t0\n\t\tresumed:\tNO\n\t\tsubtree:\tNO\n\t\tstreams:\t2\n\t\tstream 0:\n\t\t\tpathname:\t/dev/nst0\n\t\t\tstart:\t\tino 133 offset 0\n\t\t\tend:\t\tino 28839 offset 0\n\t\t\tinterrupted:\tYES\n\t\t\tmedia files:\t1\n\t\t\tmedia file 0:\n\t\t\t\tmfile index:\t0\n\t\t\t\tmfile type:\tdata\n\t\t\t\tmfile size:\t165675008\n\t\t\t\tmfile start:\tino 133 offset 0\n\t\t\t\tmfile end:\tino 28839 offset 0\n\t\t\t\tmedia label:\t\"tape1\"\n\t\t\t\tmedia id:\t8a9d0ced-61f6-4332-a0c1-f1e38641c4e6\n\t\tstream 1:\n\t\t\tpathname:\t/dev/nst0\n\t\t\tstart:\t\tino 133 offset 0\n\t\t\tend:\t\tino 28839 offset 0\n\t\t\tinterrupted:\tYES\n\t\t\tmedia files:\t1\n\t\t\tmedia file 0:\n\t\t\t\tmfile index:\t0\n\t\t\t\tmfile type:\tdata\n\t\t\t\tmfile size:\t166723584\n\t\t\t\tmfile start:\tino 28839 offset 0\n\t\t\t\tmfile end:\tino 1572997 offset 0\n\t\t\t\tmedia label:\t\"tape2\"\n\t\t\t\tmedia id:\t7d569377-6bfb-4c02-b299-4dbe753bb048\nxfsdump: Dump Status: SUCCESS\n[root@rhel8 xfsdump-dev]#\n\nFix this by indexing the stream being packed for the on-media inventory.\n\nSigned-off-by: Donald Douwsma \u003cddouwsma@redhat.com\u003e\nSuggested-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Carlos Maiolino \u003ccem@kernel.org\u003e\n"
    },
    {
      "commit": "65034077ef03c434c09c88d38c4c58ec442cf3c1",
      "tree": "1c7ab58e57b5a31f8b5a64db2e56e0ce191f1eed",
      "parents": [
        "06dd184d3a689dcb33a50b6e3576e48055e48133"
      ],
      "author": {
        "name": "Donald Douwsma",
        "email": "ddouwsma@redhat.com",
        "time": "Fri Oct 14 18:58:45 2022 +1100"
      },
      "committer": {
        "name": "Carlos Maiolino",
        "email": "cem@kernel.org",
        "time": "Mon Oct 24 10:31:28 2022 +0200"
      },
      "message": "xfsrestore: fix on-media inventory stream unpacking\n\nxfsdump can create multiple streams, when restoring the online inventory\nwith multiple streams we fail to process these and assert when the\ninventory buffer is not fully decoded.\n\n[root@rhel8 ~]# xfsdump -L \"Test1\" -f /dev/nst0 -M tape1 -f /dev/nst1 -M tape2 /boot\nxfsdump: using scsi tape (drive_scsitape) strategy\nxfsdump: using scsi tape (drive_scsitape) strategy\nxfsdump: version 3.1.8 (dump format 3.0) - type ^C for status and control\nxfsdump: level 0 dump of rhel8:/boot\nxfsdump: dump date: Thu Oct  6 13:50:45 2022\nxfsdump: session id: aa25fa48-4493-45c7-9027-61e53e486445\nxfsdump: session label: \"Test1\"\nxfsdump: ino map phase 1: constructing initial dump list\nxfsdump: ino map phase 2: skipping (no pruning necessary)\nxfsdump: ino map phase 3: identifying stream starting points\nxfsdump: stream 0: ino 133 offset 0 to ino 28839 offset 0\nxfsdump: stream 1: ino 28839 offset 0 to end\nxfsdump: ino map construction complete\nxfsdump: estimated dump size: 328720704 bytes\nxfsdump: estimated dump size per stream: 164375728 bytes\nxfsdump: /var/lib/xfsdump/inventory created\nxfsdump: drive 0: preparing drive\nxfsdump: drive 1: preparing drive\nxfsdump: drive 1: creating dump session media file 0 (media 0, file 0)\nxfsdump: drive 1: dumping ino map\nxfsdump: drive 1: dumping non-directory files\nxfsdump: drive 0: creating dump session media file 0 (media 0, file 0)\nxfsdump: drive 0: dumping ino map\nxfsdump: drive 0: dumping directories\nxfsdump: drive 0: dumping non-directory files\nxfsdump: drive 1: ending media file\nxfsdump: drive 1: media file size 166723584 bytes\nxfsdump: drive 1: waiting for synchronized session inventory dump\nxfsdump: drive 0: ending media file\nxfsdump: drive 0: media file size 165675008 bytes\nxfsdump: drive 0: waiting for synchronized session inventory dump\nxfsdump: drive 0: dumping session inventory\nxfsdump: drive 0: beginning inventory media file\nxfsdump: drive 0: media file 1 (media 0, file 1)\nxfsdump: drive 0: ending inventory media file\nxfsdump: drive 0: inventory media file size 2097152 bytes\nxfsdump: drive 0: writing stream terminator\nxfsdump: drive 0: beginning media stream terminator\nxfsdump: drive 0: media file 2 (media 0, file 2)\nxfsdump: drive 0: ending media stream terminator\nxfsdump: drive 0: media stream terminator size 1048576 bytes\nxfsdump: drive 1: dumping session inventory\nxfsdump: drive 1: beginning inventory media file\nxfsdump: drive 1: media file 1 (media 0, file 1)\nxfsdump: drive 1: ending inventory media file\nxfsdump: drive 1: inventory media file size 2097152 bytes\nxfsdump: drive 1: writing stream terminator\nxfsdump: drive 1: beginning media stream terminator\nxfsdump: drive 1: media file 2 (media 0, file 2)\nxfsdump: drive 1: ending media stream terminator\nxfsdump: drive 1: media stream terminator size 1048576 bytes\nxfsdump: dump size (non-dir files) : 328189016 bytes\nxfsdump: dump complete: 4 seconds elapsed\nxfsdump: Dump Summary:\nxfsdump:   stream 0 /dev/nst0 OK (success)\nxfsdump:   stream 1 /dev/nst1 OK (success)\nxfsdump: Dump Status: SUCCESS\n[root@rhel8 ~]# xfsdump -I\nfile system 0:\n\tfs id:\t\t26dd5aa0-b901-4cf5-9b68-0c5753cb3ab8\n\tsession 0:\n\t\tmount point:\trhel8:/boot\n\t\tdevice:\t\trhel8:/dev/sda1\n\t\ttime:\t\tThu Oct  6 13:50:45 2022\n\t\tsession label:\t\"Test1\"\n\t\tsession id:\taa25fa48-4493-45c7-9027-61e53e486445\n\t\tlevel:\t\t0\n\t\tresumed:\tNO\n\t\tsubtree:\tNO\n\t\tstreams:\t2\n\t\tstream 0:\n\t\t\tpathname:\t/dev/nst0\n\t\t\tstart:\t\tino 133 offset 0\n\t\t\tend:\t\tino 28839 offset 0\n\t\t\tinterrupted:\tNO\n\t\t\tmedia files:\t2\n\t\t\tmedia file 0:\n\t\t\t\tmfile index:\t0\n\t\t\t\tmfile type:\tdata\n\t\t\t\tmfile size:\t165675008\n\t\t\t\tmfile start:\tino 133 offset 0\n\t\t\t\tmfile end:\tino 28839 offset 0\n\t\t\t\tmedia label:\t\"tape1\"\n\t\t\t\tmedia id:\tadb31f2a-f026-4597-a20a-326f28ecbaf1\n\t\t\tmedia file 1:\n\t\t\t\tmfile index:\t1\n\t\t\t\tmfile type:\tinventory\n\t\t\t\tmfile size:\t2097152\n\t\t\t\tmedia label:\t\"tape1\"\n\t\t\t\tmedia id:\tadb31f2a-f026-4597-a20a-326f28ecbaf1\n\t\tstream 1:\n\t\t\tpathname:\t/dev/nst1\n\t\t\tstart:\t\tino 28839 offset 0\n\t\t\tend:\t\tino 1572997 offset 0\n\t\t\tinterrupted:\tNO\n\t\t\tmedia files:\t2\n\t\t\tmedia file 0:\n\t\t\t\tmfile index:\t0\n\t\t\t\tmfile type:\tdata\n\t\t\t\tmfile size:\t166723584\n\t\t\t\tmfile start:\tino 28839 offset 0\n\t\t\t\tmfile end:\tino 1572997 offset 0\n\t\t\t\tmedia label:\t\"tape2\"\n\t\t\t\tmedia id:\t22224f02-b6c7-47d5-ad61-a61ba071c8a8\n\t\t\tmedia file 1:\n\t\t\t\tmfile index:\t1\n\t\t\t\tmfile type:\tinventory\n\t\t\t\tmfile size:\t2097152\n\t\t\t\tmedia label:\t\"tape2\"\n\t\t\t\tmedia id:\t22224f02-b6c7-47d5-ad61-a61ba071c8a8\nxfsdump: Dump Status: SUCCESS\n[root@rhel8 ~]# mv /var/lib/xfsdump/inventory /var/lib/xfsdump/inventory_two_sessions\n[root@rhel8 ~]# xfsdump -I\nxfsdump: Dump Status: SUCCESS\n\n[root@rhel8 ~]# xfsrestore -L Test1 -f /dev/nst0 /tmp/test1/\nxfsrestore: using scsi tape (drive_scsitape) strategy\nxfsrestore: version 3.1.8 (dump format 3.0) - type ^C for status and control\nxfsrestore: searching media for dump\nxfsrestore: preparing drive\nxfsrestore: examining media file 2\nxfsrestore: found dump matching specified label:\nxfsrestore: hostname: rhel8\nxfsrestore: mount point: /boot\nxfsrestore: volume: /dev/sda1\nxfsrestore: session time: Thu Oct  6 13:50:45 2022\nxfsrestore: level: 0\nxfsrestore: session label: \"Test1\"\nxfsrestore: media label: \"tape1\"\nxfsrestore: file system id: 26dd5aa0-b901-4cf5-9b68-0c5753cb3ab8\nxfsrestore: session id: aa25fa48-4493-45c7-9027-61e53e486445\nxfsrestore: media id: adb31f2a-f026-4597-a20a-326f28ecbaf1\nxfsrestore: searching media for directory dump\nxfsrestore: rewinding\nxfsrestore: examining media file 0\nxfsrestore: reading directories\nxfsrestore: 9 directories and 320 entries processed\nxfsrestore: directory post-processing\nxfsrestore: restoring non-directory files\nxfsrestore: examining media file 1\nxfsrestore: inv_stobj.c:1119: stobj_unpack_sessinfo: Assertion `(size_t) ( p - (char *) bufp ) \u003d\u003d bufsz\u0027 failed.\nAborted (core dumped)\n\nMake sure we unpack multiple streams when restoring the online\ninventory from media.\n\nSigned-off-by: Donald Douwsma \u003cddouwsma@redhat.com\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Carlos Maiolino \u003ccem@kernel.org\u003e\n"
    },
    {
      "commit": "06dd184d3a689dcb33a50b6e3576e48055e48133",
      "tree": "73b4152c3f149174acce702c60b3454bc5e30b92",
      "parents": [
        "8b6bbcfdb705d8f10cfdd1a7e9485861b44e79f9"
      ],
      "author": {
        "name": "Donald Douwsma",
        "email": "ddouwsma@redhat.com",
        "time": "Fri Oct 14 18:58:44 2022 +1100"
      },
      "committer": {
        "name": "Carlos Maiolino",
        "email": "cem@kernel.org",
        "time": "Mon Oct 24 10:31:28 2022 +0200"
      },
      "message": "xfsrestore: fix on-media inventory media unpacking\n\nWhen xfsrestore reads the inventory from tape media it fails to convert\nmedia file records from bigendian. If the xfsdump inventory is not\navailable xfsrestore will write this invalid record to the on-line\ninventory.\n\n[root@rhel8 ~]# xfsdump -L Test1 -M \"\" -f /dev/st0 /boot \u003e /dev/null\n[root@rhel8 ~]# xfsdump -L Test2 -M \"\" -f /dev/st0 /boot \u003e /dev/null\n[root@rhel8 ~]# rm -rf /var/lib/xfsdump/inventory/\n[root@rhel8 ~]# mt -f /dev/nst0 asf 2\n[root@rhel8 ~]# xfsrestore -f /dev/nst0 -L Test2 /tmp/test2\nxfsrestore: using scsi tape (drive_scsitape) strategy\nxfsrestore: version 3.1.8 (dump format 3.0) - type ^C for status and control\nxfsrestore: searching media for dump\nxfsrestore: preparing drive\nxfsrestore: examining media file 3\nxfsrestore: found dump matching specified label:\nxfsrestore: hostname: rhel8\nxfsrestore: mount point: /boot\nxfsrestore: volume: /dev/sda1\nxfsrestore: session time: Tue Sep 27 16:05:28 2022\nxfsrestore: level: 0\nxfsrestore: session label: \"Test2\"\nxfsrestore: media label: \"\"\nxfsrestore: file system id: 26dd5aa0-b901-4cf5-9b68-0c5753cb3ab8\nxfsrestore: session id: 62402423-7ae0-49ed-8ecb-9e5bc7642b91\nxfsrestore: media id: 47ba45ca-3417-4006-ab10-3dc6419b83e2\nxfsrestore: incorporating on-media session inventory into online inventory\nxfsrestore: /var/lib/xfsdump/inventory created\nxfsrestore: using on-media session inventory\nxfsrestore: searching media for directory dump\nxfsrestore: rewinding\nxfsrestore: examining media file 0\nxfsrestore: inventory session uuid (62402423-7ae0-49ed-8ecb-9e5bc7642b91) does not match the media header\u0027s session uuid (1771d9e8-a1ba-4e87-a61e-f6be97e41b45)\nxfsrestore: examining media file 1\nxfsrestore: inventory session uuid (62402423-7ae0-49ed-8ecb-9e5bc7642b91) does not match the media header\u0027s session uuid (1771d9e8-a1ba-4e87-a61e-f6be97e41b45)\nxfsrestore: examining media file 2\nxfsrestore: reading directories\nxfsrestore: 9 directories and 320 entries processed\nxfsrestore: directory post-processing\nxfsrestore: restore complete: 0 seconds elapsed\nxfsrestore: Restore Summary:\nxfsrestore:   stream 0 /dev/nst0 OK (success)\nxfsrestore: Restore Status: SUCCESS\n[root@rhel8 ~]# xfsdump -I\nfile system 0:\n        fs id:          26dd5aa0-b901-4cf5-9b68-0c5753cb3ab8\n        session 0:\n                mount point:    rhel8:/boot\n                device:         rhel8:/dev/sda1\n                time:           Tue Sep 27 16:05:28 2022\n                session label:  \"Test2\"\n                session id:     62402423-7ae0-49ed-8ecb-9e5bc7642b91\n                level:          0\n                resumed:        NO\n                subtree:        NO\n                streams:        1\n                stream 0:\n                        pathname:       /dev/st0\n                        start:          ino 133 offset 0\n                        end:            ino 1572997 offset 0\n                        interrupted:    YES\n                        media files:    1\n                        media file 0:\n                                mfile index:    33554432\n                                mfile type:     data\n                                mfile size:     211187836911616\n                                mfile start:    ino 9583660007044415488 offset 0\n                                mfile end:      ino 9583686395323482112 offset 0\n                                media label:    \"\"\n                                media id:       47ba45ca-3417-4006-ab10-3dc6419b83e2\nxfsdump: Dump Status: SUCCESS\n[root@rhel8 ~]#\n[root@rhel8 ~]# ls /tmp/test2\nefi  grub2  loader\n\nThe invalid start and end inode information cause xfsrestore to consider\nthat non-directory files do not reside in the current media and will\nfail to restore them.\n\nThe behaviour of an initial restore may succeed if the position of the\ntape is such that the data file is encountered before the inventory\nfile, or if there is only one dump session on tape, xfsrestore is\nsomewhat inconsistent in this regard. Subsequent restores will use the\ninvalid on-line inventory and fail to restore files.\n\nFix this by correctly unpacking the inventory data.\n\nSigned-off-by: Donald Douwsma \u003cddouwsma@redhat.com\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Carlos Maiolino \u003ccem@kernel.org\u003e\n"
    },
    {
      "commit": "8b6bbcfdb705d8f10cfdd1a7e9485861b44e79f9",
      "tree": "6fdbcbfb2bbffaaa65da508337e42f8bcf26e919",
      "parents": [
        "e8a2ce17e0c4816cbc84e8b3e8d30170d3a294cf"
      ],
      "author": {
        "name": "Carlos Maiolino",
        "email": "cem@kernel.org",
        "time": "Thu Aug 25 10:46:38 2022 +0200"
      },
      "committer": {
        "name": "Carlos Maiolino",
        "email": "cem@kernel.org",
        "time": "Fri Aug 26 18:05:39 2022 +0200"
      },
      "message": "xfsdump: Release 3.1.11\n\nUpdate all the necessary files for a 3.1.11 release\n\nSigned-off-by: Carlos Maiolino \u003ccem@kernel.org\u003e\n"
    },
    {
      "commit": "e8a2ce17e0c4816cbc84e8b3e8d30170d3a294cf",
      "tree": "72c45b977c2162f26c55589401b87d808bc34775",
      "parents": [
        "520b9f5d99fe3469a26a0ee451137c6cca7e703b"
      ],
      "author": {
        "name": "Carlos Maiolino",
        "email": "cmaiolino@redhat.com",
        "time": "Fri Aug 12 11:13:43 2022 +0200"
      },
      "committer": {
        "name": "Carlos Maiolino",
        "email": "cem@kernel.org",
        "time": "Thu Aug 25 10:39:35 2022 +0200"
      },
      "message": "Rename worker threads from xfsdump\u0027s documentation\n\nWhile we\u0027ve already removed the word \u0027slave\u0027 from the code, the\ndocumentation should still be updated.\n\nSigned-off-by: Carlos Maiolino \u003ccmaiolino@redhat.com\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Carlos Maiolino \u003ccem@kernel.org\u003e\n"
    },
    {
      "commit": "520b9f5d99fe3469a26a0ee451137c6cca7e703b",
      "tree": "abbfd2a500a74a1eac563da2c116532cda781ebd",
      "parents": [
        "2875b05cb643afc7bef3cc7522b250045eb24bab"
      ],
      "author": {
        "name": "Carlos Maiolino",
        "email": "cmaiolino@redhat.com",
        "time": "Fri Aug 12 11:13:35 2022 +0200"
      },
      "committer": {
        "name": "Carlos Maiolino",
        "email": "cem@kernel.org",
        "time": "Thu Aug 25 10:39:35 2022 +0200"
      },
      "message": "Remove trailing white spaces from xfsdump.html\n\nCleanup xfsdump.html and remove all trailing white spaces from it.\n\nSigned-off-by: Carlos Maiolino \u003ccmaiolino@redhat.com\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Carlos Maiolino \u003ccem@kernel.org\u003e\n"
    },
    {
      "commit": "2875b05cb643afc7bef3cc7522b250045eb24bab",
      "tree": "992aa24e5aaea7ff19d0025e905e2596f3f3fb00",
      "parents": [
        "16cb2e65dd316351795ebdccb585ef96527c6f39"
      ],
      "author": {
        "name": "Carlos Maiolino",
        "email": "cmaiolino@redhat.com",
        "time": "Tue Aug 16 10:45:50 2022 +0200"
      },
      "committer": {
        "name": "Carlos Maiolino",
        "email": "cem@kernel.org",
        "time": "Thu Aug 25 10:38:45 2022 +0200"
      },
      "message": "xfsdump: Initialize getbmap structure in quantity2offset\n\nPrevent uninitialized data in the stack by initializing getbmap structure\nto zero.\n\nSigned-off-by: Carlos Maiolino \u003ccmaiolino@redhat.com\u003e\nReviewed-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Carlos Maiolino \u003ccem@kernel.org\u003e\n"
    },
    {
      "commit": "16cb2e65dd316351795ebdccb585ef96527c6f39",
      "tree": "5552dcca44c75d51299471dd9a2db73f670d3367",
      "parents": [
        "20e7474d0c4be648b80dedd51eaf871ab2e57d16"
      ],
      "author": {
        "name": "Anthony Iliopoulos",
        "email": "ailiop@suse.com",
        "time": "Wed Mar 31 18:26:17 2021 +0200"
      },
      "committer": {
        "name": "Carlos Maiolino",
        "email": "cem@kernel.org",
        "time": "Thu Aug 25 10:38:43 2022 +0200"
      },
      "message": "xfsdump: remove BMV_IF_NO_DMAPI_READ flag\n\nUse of the flag has had no effect since kernel commit 288699fecaff\n(\"xfs: drop dmapi hooks\") which removed all dmapi related code, so we\ncan remove it.\n\nGiven that there are no other flags that need to be specified for the\nbmap call, convert once instance of it from getbmapx to plain getbmap.\n\nSigned-off-by: Anthony Iliopoulos \u003cailiop@suse.com\u003e\nReviewed-by: Carlos Maiolino \u003ccmaiolino@redhat.com\u003e\nSigned-off-by: Carlos Maiolino \u003ccem@kernel.org\u003e\n"
    },
    {
      "commit": "20e7474d0c4be648b80dedd51eaf871ab2e57d16",
      "tree": "6edd8ecd7b733e81274217378c99c2febc1e2c15",
      "parents": [
        "3607469d0a8ca3513bfb6093a0da9932dddc8979"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Thu Feb 03 09:45:40 2022 -0800"
      },
      "committer": {
        "name": "Carlos Maiolino",
        "email": "cem@kernel.org",
        "time": "Thu Aug 25 10:37:22 2022 +0200"
      },
      "message": "xfs_restore: remove DMAPI support\n\nThe last of the DMAPI stubs were removed from Linux 5.17, so drop this\nfunctionality altogether.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Carlos Maiolino \u003ccmaiolino@redhat.com\u003e\nTested-by: Carlos Maiolino \u003ccmaiolino@redhat.com\u003e\nSigned-off-by: Carlos Maiolino \u003ccem@kernel.org\u003e\n"
    },
    {
      "commit": "3607469d0a8ca3513bfb6093a0da9932dddc8979",
      "tree": "b97eb1d5fbf2fc78b850a28bf5d41fc79b254a0d",
      "parents": [
        "0717c1cdfeaedc98df8af97b5ab110830e176a5b"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Fri Feb 11 13:22:24 2022 -0500"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Fri Feb 11 13:22:24 2022 -0500"
      },
      "message": "xfsdump: Release 3.1.10\n    \nUpdate all the necessary files for a 3.1.10 release.\n    \nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "0717c1cdfeaedc98df8af97b5ab110830e176a5b",
      "tree": "088e88ed3fcf5fa04d6e2b097edf74a9e0c7d9ff",
      "parents": [
        "3b71c7f1f5a1dd45712d7de1139290d0a8cf03c4"
      ],
      "author": {
        "name": "Gao Xiang",
        "email": "hsiangkao@redhat.com",
        "time": "Thu Feb 03 12:42:30 2022 -0500"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Feb 03 12:42:30 2022 -0500"
      },
      "message": "xfsdump: intercept bind mount targets\n\nIt\u0027s a bit strange pointing at some non-root bind mount target and\nthen actually dumping from the actual root dir instead.\n\nTherefore, instead of searching for the root dir of the filesystem,\njust intercept all bind mount targets by checking whose ino # of\n\"..\" is itself with getdents.\n\nFixes: 25195ebf107d (\"xfsdump: handle bind mount targets\")\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Gao Xiang \u003chsiangkao@redhat.com\u003e\n[sandeen: add explanatory comment to new function]\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "3b71c7f1f5a1dd45712d7de1139290d0a8cf03c4",
      "tree": "4d00844f699f797930c8286c1969ffcba4e0e54b",
      "parents": [
        "f8c9cdc4017d4281eaab8930b9144e88d1bf8cc7"
      ],
      "author": {
        "name": "Gao Xiang",
        "email": "hsiangkao@redhat.com",
        "time": "Thu Feb 03 12:42:30 2022 -0500"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Feb 03 12:42:30 2022 -0500"
      },
      "message": "xfsdump: Revert \"xfsdump: handle bind mount targets\"\n\nBind mount mntpnts will be forbided in the next commits\ninstead since it\u0027s not the real rootdir.\n\nThis cannot be reverted cleanly due to several cleanup\npatches, but the logic is reverted equivalently.\n\nThis reverts commit 25195ebf107dc81b1b7cea1476764950e1d6cc9d.\n\nFixes: 25195ebf107d (\"xfsdump: handle bind mount targets\")\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Gao Xiang \u003chsiangkao@redhat.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "f8c9cdc4017d4281eaab8930b9144e88d1bf8cc7",
      "tree": "f275fb121a7055da8fc95889f19a8f2bfb6420e4",
      "parents": [
        "15689d8ce87875fbee2b46c899f8fb9f21b0b669"
      ],
      "author": {
        "name": "Anthony Iliopoulos",
        "email": "ailiop@suse.com",
        "time": "Thu Feb 03 12:42:30 2022 -0500"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Feb 03 12:42:30 2022 -0500"
      },
      "message": "xfsdump: remove obsolete code for handling xenix named pipes\n\nWe can safely drop support for XENIX named pipes (S_IFNAM) at this\npoint, since this was never implemented in Linux.\n\nSigned-off-by: Anthony Iliopoulos \u003cailiop@suse.com\u003e\nReviewed-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "15689d8ce87875fbee2b46c899f8fb9f21b0b669",
      "tree": "41a998d6db2097046ca7d7f25f19a2369001ff41",
      "parents": [
        "25b42fbfd5edb2db1da225991c2a64d5a6a99689"
      ],
      "author": {
        "name": "Anthony Iliopoulos",
        "email": "ailiop@suse.com",
        "time": "Thu Feb 03 12:42:30 2022 -0500"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Feb 03 12:42:30 2022 -0500"
      },
      "message": "xfsdump: remove obsolete code for handling mountpoint inodes\n\nThe S_IFMNT file type was never supported in Linux, remove the last\nvestiges.\n\nSigned-off-by: Anthony Iliopoulos \u003cailiop@suse.com\u003e\nReviewed-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "25b42fbfd5edb2db1da225991c2a64d5a6a99689",
      "tree": "92357342d32403d36623b63fc199182370aa0792",
      "parents": [
        "5f9f0ca9cf08362835da8c98742bef2f7b1c3379"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Feb 03 12:41:32 2022 -0500"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Feb 03 12:41:32 2022 -0500"
      },
      "message": "xfsdump: don\u0027t try to generate .ltdep in inventory/\n\n.ltdep gets generated from CFILES, and there are none in inventory/\nso trying to generate it in that dir leads to a non-fatal error:\n\nBuilding inventory\n    [LTDEP]\ngcc: fatal error: no input files\ncompilation terminated.\n\ninventory/ - like common/ - has files that get linked into other dirs,\nand .ltdep is generated there.  So, simply remove the .ltdep generation\nfrom the inventory/ dir.\n\nReported-by: Thomas Deutschmann \u003cwhissi@gentoo.org\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nReviewed-by: Bill O\u0027Donnell \u003cbillodo@redhat.com\u003e\nReviewed-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "5f9f0ca9cf08362835da8c98742bef2f7b1c3379",
      "tree": "35ac6df1231f360b705b8187619bb56002dbba47",
      "parents": [
        "8fe534e70c3dc34362ab9877a6cb7b3efe9e124c"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Dec 16 16:41:18 2020 -0500"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Wed Dec 16 16:41:18 2020 -0500"
      },
      "message": "xfsdump: rename worker threads\n\nxfsdump\u0027s use of \"slave,\" while largely understood in technical circles,\nposes a barrier for inclusion to some potential members of the development\nand user community, due to the historical context of masters and slaves,\nparticularly in the United States.\n\nAs these entities are already controlled by \"managers\" in the code,\nsimply rename them to \"workers,\" which is a more natural fit in any\ncase.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nReviewed-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Pavel Reichl \u003cpreichl@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "8fe534e70c3dc34362ab9877a6cb7b3efe9e124c",
      "tree": "b9eca92e22abc03e9cc44df83054580771f8a815",
      "parents": [
        "5058a6b51ba434b3261736a562a602750e7f2cdf"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Fri Jan 31 11:32:25 2020 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Jan 31 11:32:25 2020 -0600"
      },
      "message": "xfsdump: Release v3.1.9\n\nUpdate all the necessary files for a 3.1.9 release.\n    \nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "5058a6b51ba434b3261736a562a602750e7f2cdf",
      "tree": "4282f7d963c6fe762dd0fe4f29f2570b913fcdb2",
      "parents": [
        "1b1ecdaa215bbd44b21947ad4f12a2f4d3e0c975"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Fri Jan 31 11:28:01 2020 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Jan 31 11:28:01 2020 -0600"
      },
      "message": "common: remove old ioctl typedef usage\n\nConvert old xfs_foo_t typedef usage to struct xfs_foo to prepare for the\nremoval of old ioctl typedefs.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\n[sandeen: minor whitespace tweaks]\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "1b1ecdaa215bbd44b21947ad4f12a2f4d3e0c975",
      "tree": "2252b94dcc3c93809f4c7f757ebf59d41c1e349a",
      "parents": [
        "6a896508ce5e9341d1d440a46b34ed9572b19dd0"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon May 20 16:55:36 2019 -0500"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon May 20 16:55:36 2019 -0500"
      },
      "message": "xfs_restore: support fallocate when reserving space for a file\n\nUpdate the file creation helper to try fallocate when restoring a\nfilesystem before it tries RESVSP.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Allison Collins \u003callison.henderson@oracle.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "6a896508ce5e9341d1d440a46b34ed9572b19dd0",
      "tree": "df7269fd8d1a90b3a75904b5241602c9705c31ed",
      "parents": [
        "f2f90c645ea9c9467632837ba547f1e58ffe4e16"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon May 20 16:55:35 2019 -0500"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon May 20 16:55:35 2019 -0500"
      },
      "message": "xfs_restore: fix unsupported ioctl detection\n\nLinux ioctls can return ENOTTY or EOPNOTSUPP, so filter both of them\nwhen logging reservation failure.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Allison Collins \u003callison.henderson@oracle.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "f2f90c645ea9c9467632837ba547f1e58ffe4e16",
      "tree": "4082c7c57cdc254a982a32b03fc69fd76c6ad767",
      "parents": [
        "36b5cf95733df250fc4401b6a336b7ffc7567b94"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon May 20 16:55:34 2019 -0500"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon May 20 16:55:34 2019 -0500"
      },
      "message": "xfs_restore: check return value\n\nCheck the return value of the unlink call when creating a new file.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Allison Collins \u003callison.henderson@oracle.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "36b5cf95733df250fc4401b6a336b7ffc7567b94",
      "tree": "09793a154f43407411a3a49b06af28d496ad714e",
      "parents": [
        "46a0d933e1b26e4742ce6bd73b385cf26cbc7def"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon May 20 16:55:33 2019 -0500"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon May 20 16:55:33 2019 -0500"
      },
      "message": "xfs_restore: refactor open-coded file creation code\n\nCreate a helper to unlink, recreate, and reserve space in a file so that\nwe don\u0027t have two open-coded versions.  We lose the broken ALLOCSP code\nsince it never worked anyway.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "46a0d933e1b26e4742ce6bd73b385cf26cbc7def",
      "tree": "c0382238bad473c1d3efcc360eaaee9812d7bb34",
      "parents": [
        "ef3a1e27f8473d1d0fd013d4d98fe3e852e20dd3"
      ],
      "author": {
        "name": "Jan Tulak",
        "email": "jtulak@redhat.com",
        "time": "Mon May 20 15:11:14 2019 -0500"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon May 20 15:11:14 2019 -0500"
      },
      "message": "xfsdump: add a space after commas and semicolons where was none\n\nA simple change: x,y -\u003e x, y\n\nManual changes were for re-alignment, because expressions length\nchanged, and when a few lines got over 80 chars. Created by script:\n\nfind . -name \u0027*.[ch]\u0027 ! -type d -exec gawk -i inplace \u0027{\n    $0 \u003d gensub(/^([^\"]*)([,;])([-.*_\u0026a-zA-Z0-9])/, \"\\\\1\\\\2 \\\\3\", \"g\")\n    $0 \u003d gensub(/([,;])([-.*_\u0026a-zA-Z0-9])([^\"]*)$/, \"\\\\1 \\\\2\\\\3\", \"g\")\n}; {print }\u0027 {} \\;\n\nAs in the previous patches, do not touch strings. And this time the\npatch is smaller, just 68 lines changed. There are some macros whose\ndefinition was modified with a space, but there is no new warning in\ngcc, so I\u0027m including them.\n\nSigned-off-by: Jan Tulak \u003cjtulak@redhat.com\u003e\n[sandeen: omit a couple changes where broken rules led to clarity]\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "ef3a1e27f8473d1d0fd013d4d98fe3e852e20dd3",
      "tree": "100b40161f1563e39c93a11fac597ffca4f89e99",
      "parents": [
        "cbe6e3075a822594e10597971a2863322ae4067f"
      ],
      "author": {
        "name": "Jan Tulak",
        "email": "jtulak@redhat.com",
        "time": "Wed May 15 15:48:03 2019 -0500"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed May 15 15:48:03 2019 -0500"
      },
      "message": "xfsdump: (style) remove spaces for pointers and negations\n\nAnother case of different xfsdump style, spaces around * and !\noperators. This style was used a lot through xfsdump:\n(* foo_t)xxx\n  ^ space\nWhile the rest of XFS omits the space. Same for negations:\nif (! foo)\n\nThis patch changes all occurrences to comply with the rest of xfs/kernel\ncoding style by removing the space. Unlike the previous patches, this\none is not fully replicable by a script - I had to manually correct many\ncases of overzealous replacements in comments or strings.\n(Regular expressions are a too weak tool for these context-sensitive\nchanges.)\n\nStill, the script that did most of the job is here:\n\nfind . -name \u0027*.[ch]\u0027 ! -type d -exec gawk -i inplace \u0027{\n    $0 \u003d gensub(/^([^\"]*)\\(\\* /, \"\\\\1(*\", \"g\") # foo(* bar\n    $0 \u003d gensub(/\\(\\* ([^\"]*)$/, \"(*\\\\1\", \"g\") #\n    $0 \u003d gensub(/^([^ *#]{2}[^\"]*)! /, \"\\\\1!\", \"g\") # space after \u0027!\u0027\n}; {print }\u0027 {} \\;\n\nSigned-off-by: Jan Tulak \u003cjtulak@redhat.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "cbe6e3075a822594e10597971a2863322ae4067f",
      "tree": "bfa568106196cda8126f9e3486de781371efb178",
      "parents": [
        "dae8f551f7ed0211230b464861eee073245dd6ef"
      ],
      "author": {
        "name": "Jan Tulak",
        "email": "jtulak@redhat.com",
        "time": "Wed May 15 15:40:57 2019 -0500"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed May 15 15:40:57 2019 -0500"
      },
      "message": "xfsdump: (style) remove spaces in front of commas/semicolons\n\nTurn all the \"x , y , z\" into \"x, y, z\" and \"for (moo ; foo ; bar)\"\nto \"for (moo; foo; bar)\". The only exception is a double semicolon\nsurrounded by some other commands, e.g. for(bar ; ; baz), for\nincreased readability.\n\nCreated by this script:\n*****\n#!/usr/bin/env bash\nset -euo pipefail\n# remove the space before , and ;\n\n# regex explanation:\n# We are avoiding strings - replacing only those spaces that are not\n# surrounded by \". At the same time, we want to ignore also those cases,\n# where there are only whitespace in front of the commas/semicolons,\n# as those are likely aligned. At the end, return a space between two\n# semicolons in cases like for (foo ; ; bar), where the spaces are\n# important for readability.\n\nfind . -name \u0027*.[ch]\u0027 ! -type d -exec gawk -i inplace \u0027{\n    $0 \u003d gensub(/^([^\"]*[^[:space:]\"][^\"]*) ,/, \"\\\\1,\", \"g\")\n    $0 \u003d gensub(/^([^\"]*[^[:space:]\"][^\"]*) ;/, \"\\\\1;\", \"g\")\n    $0 \u003d gensub(/^(.*[^[:space:]\"].*) ,([^\"]*)$/, \"\\\\1,\\\\2\", \"g\")\n    $0 \u003d gensub(/^(.*[^[:space:]\"].*) ;([^\"]*)$/, \"\\\\1;\\\\2\", \"g\")\n    $0 \u003d gensub(/([^([:space:]]);;([^\\n])/, \"\\\\1 ; ;\\\\2\", \"g\")\n}; {print }\u0027 {} \\;\n*****\n\nSigned-off-by: Jan Tulak \u003cjtulak@redhat.com\u003e\nReviewed-by: Brian Foster \u003cbfoster@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "dae8f551f7ed0211230b464861eee073245dd6ef",
      "tree": "7d3d2fa8b8306b762d0971ac7f1c62dc60ef087c",
      "parents": [
        "db93af5e3efe35e7da6208f2817ad598a75f7166"
      ],
      "author": {
        "name": "Jan Tulak",
        "email": "jtulak@redhat.com",
        "time": "Wed Feb 20 12:41:31 2019 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Feb 20 12:41:31 2019 -0600"
      },
      "message": "xfsdump: (style) remove spaces from parentheses\n\nTransform \"( x, y )\" to \"(x, y)\", and the same for [].\n\nCreated by this script:\n*****\n#!/usr/bin/env bash\n# transform \u0027foo( x, y )\u0027 -\u003e \u0027foo(x, y)\u0027\nset -euo pipefail\n\n# regexps in order:\n# - remove spaces after opening parentheses (\n# - remove spaces after opening brackets [\n# - remove spaces before closing parentheses )\n# - remove spaces before closing brackets ]\n#\n# Run multiple iterations to get all overlapping matches.\n\nfor i in {1..8}; do\n    echo \"iteration $i\"\n    find . -name \u0027*.[ch]\u0027 ! -type d -exec gawk -i inplace \u0027{\n        $0 \u003d gensub(/^([^\"]*)\\(\\s+/, \"\\\\1(\", \"g\")\n        $0 \u003d gensub(/^([^\"]*)\\[\\s+/, \"\\\\1[\", \"g\")\n        $0 \u003d gensub(/(\\S)\\s+\\)([^\"]*)$/, \"\\\\1)\\\\2\", \"g\")\n        $0 \u003d gensub(/(\\S)\\s+\\]([^\"]*)$/, \"\\\\1]\\\\2\", \"g\")\n    }; {print }\u0027 {} \\;\ndone\n\n\n# Revert changes in defines that would cause redefinition error\nsed -i \\\n    -e \u0027s/^#define sizeofmember.*$/#define sizeofmember( t, m )\\tsizeof( ( ( t * )0 )-\u003em )/\u0027 \\\n    -e \u0027s/^#define offsetofmember.*$/#define offsetofmember( t, m )\\t( ( size_t )( char * )\\\u0026( ( ( t * )0 )-\u003em ) )/\u0027 \\\n    common/types.h\n\n*****\n\nSigned-off-by: Jan Tulak \u003cjtulak@redhat.com\u003e\n[sandeen: combine 13 patches into 1 commit]\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "db93af5e3efe35e7da6208f2817ad598a75f7166",
      "tree": "784100fa1da00ffe9cb0fe5199edb0ded7448e8b",
      "parents": [
        "8866703074d4c01831a254c42c645afef8075b23"
      ],
      "author": {
        "name": "Jan Tulak",
        "email": "jtulak@redhat.com",
        "time": "Fri Jan 11 17:29:38 2019 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Jan 11 17:29:38 2019 -0600"
      },
      "message": "xfsdump: don\u0027t fail installation if /sbin is symlink of  /usr/sbin\n\nSome distributions, like Fedora, have /bin and /sbin as symlinks\npointing to /usr/* and this patch adds compatibility for these cases.\n\nSigned-off-by: Jan Tulak \u003cjtulak@redhat.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "8866703074d4c01831a254c42c645afef8075b23",
      "tree": "55925c6aed578349d3c7aacd129620bd289bbdfd",
      "parents": [
        "6ff49bf7951e5951bd8f938fc3662c896a1bf9e8"
      ],
      "author": {
        "name": "Jan Tulak",
        "email": "jtulak@redhat.com",
        "time": "Thu Dec 06 17:10:21 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Dec 06 17:10:21 2018 -0600"
      },
      "message": "common/drive.c: include stdlib.h\n\nWe are using calloc() inside of this file, but it is not included in any\nway (resultin in \"implicit declaration\" warnings from the compiler). So,\nadd the include.\n\nSigned-off-by: Jan Tulak \u003cjtulak@redhat.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "6ff49bf7951e5951bd8f938fc3662c896a1bf9e8",
      "tree": "bcc8826b785fd36fc0e3d55cdc1ce3e082c50b8e",
      "parents": [
        "fc342f7803580ff0c63c30129d2283991d186ba3"
      ],
      "author": {
        "name": "Jan Tulak",
        "email": "jtulak@redhat.com",
        "time": "Thu Dec 06 17:10:00 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Dec 06 17:10:00 2018 -0600"
      },
      "message": "common/types.h: Wrap #define UUID_STR_LEN 36 in #ifndef\n\nCurrent Fedora 28 has the constant it in uuid/uuid.h where it belongs (per\ncomment next to the define), so we should treat the define as a\nbackward-compatibility workaround, rather than enforcing it for all.\n\nSigned-off-by: Jan Tulak \u003cjtulak@redhat.com\u003e\n[sandeen: tweak comment to match]\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "fc342f7803580ff0c63c30129d2283991d186ba3",
      "tree": "3393183c0984c8c25dfe575c0c84f70bc35a3845",
      "parents": [
        "354d07dd9b88c83cfbe285add796edfa1d3352a2"
      ],
      "author": {
        "name": "Jan Tulak",
        "email": "jtulak@redhat.com",
        "time": "Thu Dec 06 17:10:00 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Dec 06 17:10:00 2018 -0600"
      },
      "message": "xfsdump: do not split function call with ifdef\n\nIn two files in xfsdump, a function call is split in half by an ifdef\nmacro to conditionally pick an argument at compile time. This causes the\ncode to be a bit less obvious and some analysis tools have trouble with\nunderstanding it.\n\nSo, instead of splitting the function in half, move the whole function\ncall into each of the ifdef macros.\n\nSigned-off-by: Jan Tulak \u003cjtulak@redhat.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "354d07dd9b88c83cfbe285add796edfa1d3352a2",
      "tree": "7341aca39aeb37bc01708323b88d66b4073cae65",
      "parents": [
        "9a066b85cdbf9fd4d504db5c93b2db4b4bbc6c1e"
      ],
      "author": {
        "name": "Jan Tulak",
        "email": "jtulak@redhat.com",
        "time": "Thu Dec 06 17:09:55 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Dec 06 17:09:55 2018 -0600"
      },
      "message": "xsfsdump: (style) remove trailing whitespaces\n\nThere were many trailing whitespaces through the whole code. As the rate\nof changes in xfsdump is low, it should not cause trouble if we fix it\nin all files at once and avoid issues (unintended changes) with sensibly\nconfigured editors that automatically remove these on a file save.\n\nCreated by this script:\n\n#!/usr/bin/env bash\n# remove trailing whitespaces\n\nfind . -name \u0027*.[ch]\u0027 ! -type d -exec bash -c \u0027\nsed -i \\\n    -e \"s/\\s*$//\" \\\n    $0\n\u0027 {} \\;\n\nSigned-off-by: Jan Tulak \u003cjtulak@redhat.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "9a066b85cdbf9fd4d504db5c93b2db4b4bbc6c1e",
      "tree": "34517ff2bbd80dfa68efea67c3940595ede402ff",
      "parents": [
        "ce8b0060d8d95cf6a63dc7600b7c19a806320380"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Sep 21 16:15:05 2017 -0500"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Sep 21 16:15:05 2017 -0500"
      },
      "message": "xfsdump: Release v3.1.8\n    \nUpdate all the necessary files for a 3.1.8 release.\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "ce8b0060d8d95cf6a63dc7600b7c19a806320380",
      "tree": "1762c78de5e989b8c68559c2405c417a025f7224",
      "parents": [
        "55b0f0ec7cd8d00931abcfe6c32585f355a26f45"
      ],
      "author": {
        "name": "Felix Janda",
        "email": "felix.janda@posteo.de",
        "time": "Thu Sep 14 21:51:29 2017 -0500"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Sep 14 21:51:29 2017 -0500"
      },
      "message": "common/main.c: Include \u003clocale.h\u003e\n\nThis fixes a compilation error with musl libc, and is required\naccording to POSIX to expose LC_ALL and getlocale().\n\nSigned-off-by: Felix Janda \u003cfelix.janda@posteo.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "55b0f0ec7cd8d00931abcfe6c32585f355a26f45",
      "tree": "68ed62c1871dea8b3f854f90d2584d30bb471da2",
      "parents": [
        "dd47bfa714ba8c16ef09091fb081e6bda7d91aa8"
      ],
      "author": {
        "name": "Felix Janda",
        "email": "felix.janda@posteo.de",
        "time": "Thu Sep 14 21:51:23 2017 -0500"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Sep 14 21:51:23 2017 -0500"
      },
      "message": "common/types.h: explicitly define NBBY (bits per byte)\n\nThis avoids a compilation failure with musl libc, which requires an\nexplicit \u003csys/param.h\u003e include to expose NBBY. Inline the declaration\nsince common/types.h is included in many places, and only one constant\nfrom \u003csys/param.h\u003e is needed.\n\nSigned-off-by: Felix Janda \u003cfelix.janda@posteo.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\n[sandeen: guard with #ifndef to be sure]\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "dd47bfa714ba8c16ef09091fb081e6bda7d91aa8",
      "tree": "eca585a452dd9517aecbe9121bdf3086f4bbe5d2",
      "parents": [
        "cb66b83f4a78ee7b7925a27dd4ab51aea574e0c3"
      ],
      "author": {
        "name": "Felix Janda",
        "email": "felix.janda@posteo.de",
        "time": "Thu Sep 14 21:51:19 2017 -0500"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Sep 14 21:51:19 2017 -0500"
      },
      "message": "cleanup: Kill __[u]int*_t types\n\nReplace them by the stdint [u]int*_t types.\n[sandeen: fixes build with musl libc]\n\nSigned-off-by: Felix Janda \u003cfelix.janda@posteo.de\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "cb66b83f4a78ee7b7925a27dd4ab51aea574e0c3",
      "tree": "a482c0e974a754ed7f526b3d296385da8b396543",
      "parents": [
        "7a0a8e7dfd68a11523bc7f044625e9e4d8ad7f98"
      ],
      "author": {
        "name": "Felix Janda",
        "email": "felix.janda@posteo.de",
        "time": "Thu Sep 14 21:51:15 2017 -0500"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Sep 14 21:51:15 2017 -0500"
      },
      "message": "dump/var.c: Include \u003climits.h\u003e for PATH_MAX\n\n[sandeen: fixes build with musl libc]\n\nSigned-off-by: Felix Janda \u003cfelix.janda@posteo.de\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "7a0a8e7dfd68a11523bc7f044625e9e4d8ad7f98",
      "tree": "13005d1c47d67d3fa1a7b3dd4a15992d4234132b",
      "parents": [
        "a03055f03f0c3a6b39c8989c560fb50fe93bf6ad"
      ],
      "author": {
        "name": "Felix Janda",
        "email": "felix.janda@posteo.de",
        "time": "Thu Sep 14 21:51:10 2017 -0500"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Sep 14 21:51:10 2017 -0500"
      },
      "message": "librmt/rmtopen: Prefer \u003csignal.h\u003e over \u003csys/signal.h\u003e\n\n[sandeen: fixes build with musl libc]\n\nSigned-off-by: Felix Janda \u003cfelix.janda@posteo.de\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "a03055f03f0c3a6b39c8989c560fb50fe93bf6ad",
      "tree": "a4fa1e98ffe5a7a5f110d0b4ce033eb7551c10d3",
      "parents": [
        "b848d35f148111ee35ba1815012920e42b07c18c"
      ],
      "author": {
        "name": "Felix Janda",
        "email": "felix.janda@posteo.de",
        "time": "Thu Sep 14 21:51:06 2017 -0500"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Sep 14 21:51:06 2017 -0500"
      },
      "message": "common/main.c: Replace nonstandard SIGCLD by SIGCHLD\n\n[sandeen: fixed build with musl libc]\n\nSigned-off-by: Felix Janda \u003cfelix.janda@posteo.de\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "b848d35f148111ee35ba1815012920e42b07c18c",
      "tree": "d41e302e01acd8219d1155814acf71dc636a13ff",
      "parents": [
        "663f517aef79673cfeea3f3b07327a1ca9bf4887"
      ],
      "author": {
        "name": "Felix Janda",
        "email": "felix.janda@posteo.de",
        "time": "Thu Sep 14 21:51:01 2017 -0500"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Sep 14 21:51:01 2017 -0500"
      },
      "message": "dump/content.c: Include \u003clinux/limits.h\u003e for XATTR_LIST_MAX\n\n[sandeen: fixed build with musl libc]\n\nSigned-off-by: Felix Janda \u003cfelix.janda@posteo.de\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "663f517aef79673cfeea3f3b07327a1ca9bf4887",
      "tree": "c37678154f4bc1c2bdd51a03998abd4f65ae7da8",
      "parents": [
        "9fdb6dfa5fdefc195b649ab9ae1895d02c3ae406"
      ],
      "author": {
        "name": "Felix Janda",
        "email": "felix.janda@posteo.de",
        "time": "Thu Sep 14 21:50:57 2017 -0500"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Sep 14 21:50:57 2017 -0500"
      },
      "message": "invutil/invidx: include \u003cfcntl.h\u003e for O_CREAT\n\n[sandeen: fixed build with musl libc]\n\nSigned-off-by: Felix Janda \u003cfelix.janda@posteo.de\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "9fdb6dfa5fdefc195b649ab9ae1895d02c3ae406",
      "tree": "9d47a2a9958eb3cc3e774a0ab19064ae3d713f5f",
      "parents": [
        "acd0dda671871389091773c244419a0e6d83916c"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Aug 18 18:00:23 2017 -0500"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Aug 18 18:00:23 2017 -0500"
      },
      "message": "xfsdump: Release v3.1.7\n    \nUpdate all the necessary files for a 3.1.7 release.\n    \nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "acd0dda671871389091773c244419a0e6d83916c",
      "tree": "c900444c740bd9a55ef9d51440bf8a345814ade5",
      "parents": [
        "5903b44cf93ac9b85498c93abb77947e1291e2eb"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Jul 13 15:17:53 2017 -0500"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Jul 13 15:17:53 2017 -0500"
      },
      "message": "xfsdump: Release v3.1.7-rc1\n    \nUpdate all the necessary files for a 3.1.7-rc1 release.\n    \nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "5903b44cf93ac9b85498c93abb77947e1291e2eb",
      "tree": "2dcb4f8e70553d496bd225bbaa2a04339a1c75a9",
      "parents": [
        "7f4227430ac7634a0f6334a3b10484dced0680f7"
      ],
      "author": {
        "name": "Eryu Guan",
        "email": "eguan@redhat.com",
        "time": "Thu Jul 13 14:44:34 2017 -0500"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Jul 13 14:44:34 2017 -0500"
      },
      "message": "xfsdump: fix race condition between lseek() and read()/write()\n\nThere\u0027s a race condition in the [get|put]_invtrecord() routines, because\na lseek() followed by a read()/write() is not atmoic, the file offset\nmight be changed before read()/write().\n\nxfs/302 catches this failure as:\nxfsdump: drive 1: INV : Unknown version 0 - Expected version 1\nxfsdump: inv_core.c:66: get_counters: Assertion `((invt_counter_t *)(*cntpp))-\u003eic_vernum \u003d\u003d (inv_version_t) 1\u0027 failed.\n\nAnd it can be reproduced by running multi-stream dump in a tight loop\n  mount /dev/\u003cdev\u003e /mnt/xfs\n  mkdir /mnt/xfs/dumpdir\n  # populate dumpdir here\n  while xfsdump -M l1 -M l2 -f d1 -f d2 -L ses /mnt/xfs -s dumpdir; do\n  \t:\n  done\n\nFix it by replacing the \"lseek(); read()/write()\" sequence by\npread()/pwrite(), which make the seek and I/O an atomic operation.\n\nAlso convert all *_SEEKCUR routines to \"SEEK_SET\" variants and\nremove the *_SEEKCUR macros, because they depend on the maintenance\nof current file offset, but pread()/pwrite() don\u0027t change file\noffset.\n\nAnd in inventory/testmain.c, get|put_invtrecord() are called\ndirectly, not from the GET|PUT_REC_* macros, so maintain the offset\nexplicitly there.\n\nSigned-off-by: Eryu Guan \u003ceguan@redhat.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "7f4227430ac7634a0f6334a3b10484dced0680f7",
      "tree": "45ac704c3d2a22de4e2d946cbfed0a70a1e9a1ba",
      "parents": [
        "71860dc900fe92c1cdf08febb40c551dc10371a3"
      ],
      "author": {
        "name": "Paulo Cezar A Junior",
        "email": "pcacjr@gmail.com",
        "time": "Thu Jul 13 14:44:32 2017 -0500"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Jul 13 14:44:32 2017 -0500"
      },
      "message": "xfsdump: Fix memory leak\n\nThis patch fixes the following memory leak reported by valgrind:\n\n\u003d\u003d9198\u003d\u003d\n\u003d\u003d9198\u003d\u003d HEAP SUMMARY:\n\u003d\u003d9198\u003d\u003d     in use at exit: 272,248 bytes in 13 blocks\n\u003d\u003d9198\u003d\u003d   total heap usage: 629 allocs, 616 frees, 354,203 bytes\nallocated\n\u003d\u003d9198\u003d\u003d\n\u003d\u003d9198\u003d\u003d 4,096 bytes in 1 blocks are definitely lost in loss record 12\nof 13\n\u003d\u003d9198\u003d\u003d    at 0x4C2FA50: calloc (vg_replace_malloc.c:711)\n\u003d\u003d9198\u003d\u003d    by 0x415801: global_hdr_alloc (global.c:80)\n\u003d\u003d9198\u003d\u003d    by 0x403D12: main (main.c:494)\n\u003d\u003d9198\u003d\u003d\n\u003d\u003d9198\u003d\u003d LEAK SUMMARY:\n\u003d\u003d9198\u003d\u003d    definitely lost: 4,096 bytes in 1 blocks\n\u003d\u003d9198\u003d\u003d    indirectly lost: 0 bytes in 0 blocks\n\u003d\u003d9198\u003d\u003d      possibly lost: 0 bytes in 0 blocks\n\u003d\u003d9198\u003d\u003d    still reachable: 268,152 bytes in 12 blocks\n\u003d\u003d9198\u003d\u003d         suppressed: 0 bytes in 0 blocks\n\u003d\u003d9198\u003d\u003d Reachable blocks (those to which a pointer was found) are not\nshown.\n\u003d\u003d9198\u003d\u003d To see them, rerun with: --leak-check\u003dfull\n--show-leak-kinds\u003dall\n\u003d\u003d9198\u003d\u003d\n\u003d\u003d9198\u003d\u003d For counts of detected and suppressed errors, rerun with: -v\n\u003d\u003d9198\u003d\u003d ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)\n\nCommand was:\n    # xfsdump -f /dev/vdb\n\nSigned-off-by: Paulo Alcantara \u003cpcacjr@gmail.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "71860dc900fe92c1cdf08febb40c551dc10371a3",
      "tree": "ebfffc292d9cbff71cb7413af971d29fb2fab151",
      "parents": [
        "25195ebf107dc81b1b7cea1476764950e1d6cc9d"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Jul 13 14:44:28 2017 -0500"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Jul 13 14:44:28 2017 -0500"
      },
      "message": "fix build on 32-bit platforms\n\nNow that xfsprogs requires anyone using the headers to\nproperly define 64-bit file access, xfsdump has stopped\nbuilding on 32-bit platforms.\n\nI think this is all it needs; works for me here.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "25195ebf107dc81b1b7cea1476764950e1d6cc9d",
      "tree": "95d17feaf3afdeec88b4377ec4ba569b4f963526",
      "parents": [
        "f2a518ac4d4d5c904d50b8cf89a6e709721a7e4f"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Feb 08 13:44:38 2017 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Feb 08 13:44:38 2017 -0600"
      },
      "message": "xfsdump: handle bind mount targets\n\nToday, xfsdump looks at the mount point it was handed, gets\nthe inode of that directory, and assumes that it is the\nfilesystem\u0027s root inode.\n\nThis doesn\u0027t work if we have bind-mounted a subdirectory\nsomewhere, and point xfsdump at that.  The inode number retrieved\nis not the filesystem\u0027s root inode number, and because this\ngoes into the dump header and gets checked on restore, things\ngo badly when the root inode found in the dump does not match\nthe root inode in the dump header:\n\n# mkfs.xfs -dfile,name\u003dfsfile,size\u003d16g\n# mkdir mnt\n# mount -o loop fsfile mnt\n# mkdir -p mnt/dir\n# mkdir -p mnt2/dir\n# mount -o bind mnt/dir mnt2/dir\n# xfsdump -v trace -J -F -l 0 -  `pwd`/mnt2/dir | xfsdump/restore/xfsrestore -v trace -t - \n...\nxfsrestore: tree.c:759: tree_begindir: Assertion `ino !\u003d persp-\u003ep_rootino || hardh \u003d\u003d persp-\u003ep_rooth\u0027 failed.\n#\n\nFix this by using bulkstat to get the first valid inode in the filesystem.\nCompare this to the inode number of the mounted directory, and if they\ndiffer, issue a notice that this may be a bind mount (which means that\nmore than just the tree under the mount will be dumped; the whole\nfilesystem is dumped by default).\n\nReported-by: Jason L Tibbitts III \u003ctibbs@math.uh.edu\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nReviewed-by: Brian Foster \u003cbfoster@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "f2a518ac4d4d5c904d50b8cf89a6e709721a7e4f",
      "tree": "47e16cf8d54d810bbf8e82da914247c5f48993a0",
      "parents": [
        "65c91e1ccc3f9b3d1d358adc1341d5884d929e92"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Nov 10 16:18:32 2015 +1100"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Nov 10 16:18:32 2015 +1100"
      },
      "message": "xfsdump: Release v3.1.6\n\nUpdate all the relevant files for a v3.1.6 release.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "65c91e1ccc3f9b3d1d358adc1341d5884d929e92",
      "tree": "2f1af2ad4242a3b97a4dbfd4a14cb0525679be3c",
      "parents": [
        "2f529f04e5a5949b2e89b7302105ade55694f549"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Nov 10 16:16:48 2015 +1100"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Nov 10 16:16:48 2015 +1100"
      },
      "message": "cleanup: Kill unnecessary xfs includes\n\nRemove all the unneccessary xfsprogs header includes by replacing\nthem with explicit includes and platform specific definitions in\nconfig.h.in.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\n"
    },
    {
      "commit": "2f529f04e5a5949b2e89b7302105ade55694f549",
      "tree": "0455c5ba4e9a8d4f54af7aa9929a35279d136251",
      "parents": [
        "6fad1f8f8b3c016a4466c7d1af05884532ac789f"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Fri Oct 16 11:42:43 2015 +1100"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Fri Oct 16 11:42:43 2015 +1100"
      },
      "message": "cleanup: move fold_t out of util.h\n\nMany files just want the fold_t type, but pulling in util.h requires\nall the XFS and JDM headers to be pulled in, too. Move fold_t to\nmlog.[ch] as it tends to be common with log output. Similarly, move\nthe PREEMPT_* definitions to common/types.h to remove that\ndependency on util.h as well.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\n"
    },
    {
      "commit": "6fad1f8f8b3c016a4466c7d1af05884532ac789f",
      "tree": "7419f95c6a12765eed5d305fb77bf5dc112b7098",
      "parents": [
        "86252eb374ec64e88b747da7a756528ab7328d4d"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Fri Oct 16 11:31:55 2015 +1100"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Fri Oct 16 11:31:55 2015 +1100"
      },
      "message": "cleanup: use system uuid.h headers\n\nAnother bunch of support pulled in from the xfs headers, but would\nnever have worked correctly on any platform other than Linux as dump\ndoe snot use the abstractions that xfsprogs wraps around the uuid\ninterfaces. Hence just make it work on Linux for now, as it\u0027s\nalready relying on native support.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\n"
    },
    {
      "commit": "86252eb374ec64e88b747da7a756528ab7328d4d",
      "tree": "8d0eba21386fde6e9d8d4c497b40daa3bb08616f",
      "parents": [
        "508ae3569b922b480cd40d20986fd3799f19cef5"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Fri Oct 16 11:30:18 2015 +1100"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Fri Oct 16 11:30:18 2015 +1100"
      },
      "message": "cleanup: define a local xfs_ino_t\n\nThe xfs inode number size is never going to change - it\u0027s a\nuint64_t. We currently inherit this from xfsprogs headers, but it\ngoes away in xfsprogs v4.2.0 as it\u0027s part of the platform\ndefinitions. Add our own local definition for this type.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\n"
    },
    {
      "commit": "508ae3569b922b480cd40d20986fd3799f19cef5",
      "tree": "495a5894a7ac36faa07f5806f751e66a09ad4aa8",
      "parents": [
        "35184750133f4ecdc028a05f9d46930288f7eb04"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Fri Oct 16 11:30:12 2015 +1100"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Fri Oct 16 11:30:12 2015 +1100"
      },
      "message": "cleanup: kill u_int*_t types\n\nThey are the same as uint*_t type defined in \u003cstdint.h\u003e, so seek and\ndestroy these to reduce the type proliferation issues that this code\nhas.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\n\n"
    },
    {
      "commit": "35184750133f4ecdc028a05f9d46930288f7eb04",
      "tree": "6c1762a51bae56091709badab061bbf576dae74d",
      "parents": [
        "ff46015d155e51b9b9f3e1a4ade337de86db7271"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Fri Oct 16 11:29:19 2015 +1100"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Fri Oct 16 11:29:19 2015 +1100"
      },
      "message": "cleanup: kill intgen_t\n\nintgen_t is for jdm (libhandle) interfaces, not as a random\nsubstitute for \"int\". Do a global s/intgen_t/int across the codebase\nwith sed to remove this stupidity so that we don\u0027t have to include\nxfs/jdm.h across almost the entire code base.\n\nAfter a manual pass back over the callers of the jdm API, there are\nno places where the return value needs to be an intgen_t. Indeed,\njdm_open passes back a file descriptor, so intgen_t by definition\ncannot be anything other than an int.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\n"
    },
    {
      "commit": "ff46015d155e51b9b9f3e1a4ade337de86db7271",
      "tree": "82fbfbe5ff326768ecd84bfeab0e3302dd91aa49",
      "parents": [
        "9d8bde8f671e3a3279eb165697a48445140eb75b"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Fri Oct 16 11:27:37 2015 +1100"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Fri Oct 16 11:27:37 2015 +1100"
      },
      "message": "build: don\u0027t rely on xfs/xfs.h to include necessary headers\n\nFrom xfsprogs 4.2.0, the xfs headers no long include lots of\nxfsprogs specific build information. xfsdump hasbeen implicitly\nrelying on those header for a clean build, rather than having it\u0027s\nown definitions. Hence we need to add the missing bits to\nconfig.h.in and include it in all the files that require the\nspecific help that the xfs headers used to provide.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\n"
    },
    {
      "commit": "9d8bde8f671e3a3279eb165697a48445140eb75b",
      "tree": "f973b64b8e9e0e8ab3f7d128a581414b8ac688da",
      "parents": [
        "60e04eede614e603ff15dd2bc442b4b0c1a65124"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Fri Oct 16 11:26:36 2015 +1100"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Fri Oct 16 11:26:36 2015 +1100"
      },
      "message": "cleanup: get rid of ASSERT\n\nASSERT comes from the xfs/xfs.h include, and we don\u0027t ever define\nDEBUG so we never get asserts built in. We want asserts built in for\ntesting, but not for distro packages. The debian package already\ntries to do this by using \"export DEBUG\u003d-DNDEBUG\" for the build\ncontext, but seeing as we pull in #define ASSERT(ex) (0) from the\nXFS headers it\u0027s a no-op.\n\nConvert all the ASSERT calls to assert to remove this conflict with\nthe xfsprogs headers and so local developer builds are built with\nasserts enabled. \n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\n"
    },
    {
      "commit": "60e04eede614e603ff15dd2bc442b4b0c1a65124",
      "tree": "60523642a873edd4bb5e1837a81fd089ff9e8264",
      "parents": [
        "5ce9dae1a5c8aa02f23174ef3521d0732c548928"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Wed Oct 14 12:53:57 2015 +1100"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Wed Oct 14 12:53:57 2015 +1100"
      },
      "message": "xfsdump: Release v3.1.5\n\nUpdate all the relevant files for a v3.1.5 release.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "5ce9dae1a5c8aa02f23174ef3521d0732c548928",
      "tree": "cde102b455c4865cd6d1606e22a87855816ab69c",
      "parents": [
        "87d192ce12176e196353a680be8ae0b3a3297aec"
      ],
      "author": {
        "name": "Nathan Scott",
        "email": "nathans@debian.org",
        "time": "Wed Oct 14 11:51:37 2015 +1100"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Wed Oct 14 11:51:37 2015 +1100"
      },
      "message": "xfsdump: remove use of __psint_t, it is no longer available\n\nCommit ee6cd73ed1e in xfsprogs switched __psint_t to the standards\nconforming intptr_t type - we need to make the same change here in\nxfsdump for builds using the latest xfsprogs headers.\n\nSigned-off-by: Nathan Scott \u003cnathans@debian.org\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n\n"
    },
    {
      "commit": "87d192ce12176e196353a680be8ae0b3a3297aec",
      "tree": "db5b12da2d96e08abba127ca9eedb95e445c26a3",
      "parents": [
        "be93e5205b4d2d4a40cc2aaeb192412f1f6871de"
      ],
      "author": {
        "name": "Rich Johnston",
        "email": "rjohnston@sgi.com",
        "time": "Wed Oct 14 11:50:54 2015 +1100"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Wed Oct 14 11:50:54 2015 +1100"
      },
      "message": "xfsrestore: fix 2GB directory dump limitation for multi-stream\n\nThe drive_simple restore path has a 2GB directory limit. Instead of\nASSERTing if nreadneeded64 is greater than INTGENMAX (2GB), add a loop\nto handle it.\n\nSigned-off-by: Rich Johnston \u003crjohnston@sgi.com\u003e\nReviewed-by: Brian Foster \u003cbfoster@redhat.com\u003e\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n\n"
    },
    {
      "commit": "be93e5205b4d2d4a40cc2aaeb192412f1f6871de",
      "tree": "5689fa198f12d889d80cd6f51b0a8b78ae5b712a",
      "parents": [
        "33ff057dedd266c2d02a23b1dda979e7c8bacdcc"
      ],
      "author": {
        "name": "Rich Johnston",
        "email": "rjohnston@sgi.com",
        "time": "Wed Oct 14 11:50:23 2015 +1100"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Wed Oct 14 11:50:23 2015 +1100"
      },
      "message": "xfsrestore: fix fs uuid order check for incremental restores\n\nRestoring an incremental level 1 dump will fail with the following error\nif the fs uuid of the most recent level 0 dump in the inventory does not\nmatch level 1 dump we are restoring.\n\n  xfsrestore: ERROR: selected dump not based on previously applied dump\n\nThis can happen when you have multiple filesystems and you are restoring\na level 1 or greater dump of filesystem FS1 but the most recent level 0\ndump in the inventory was filesystem FS2\n\nThe fix is to ensure the fs uuid of the inventory entry and the dump to\nbe restored match.\n\nSigned-off-by: Rich Johnston \u003crjohnston@sgi.com\u003e\nReviewed-by: Brian Foster \u003cbfoster@redhat.com\u003e\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n\n"
    },
    {
      "commit": "33ff057dedd266c2d02a23b1dda979e7c8bacdcc",
      "tree": "14ae182f901216c230418eefef8a07ae1e2680ef",
      "parents": [
        "fcbf44cb1c896b55eaa65ec0d8519191f9237306"
      ],
      "author": {
        "name": "rjohnston@sgi.com",
        "email": "rjohnston@sgi.com",
        "time": "Wed Oct 14 11:49:45 2015 +1100"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Wed Oct 14 11:49:45 2015 +1100"
      },
      "message": "xfsdump: prevent segfault in cb_add_inogrp\n\nThe call to memset will segfault because the offset for the first\nparameter is done twice. We are using pointer math to do the\ncalculation.\n\nThe first time is when calculating oldsize, the size of i2gseg_t\nis accounted for.\n\toldsize \u003d (numsegs - SEGPERHNK) * sizeof(i2gseg_t);\nThen in the call to memset, oldsize is again multiplied by the size\nof i2gmap_t.\n\tmemset(inomap.i2gmap + oldsize, ...)\n\ni2gmap holds the used inodes in each chunk. When there are 2^31 chunk\nentries, it could describe 2^31 (1 inode/chunk)- 2^40 (64 inodes/chunk).\n\nWith 100s of millions of inodes there are enough entries to wrap the\n32 bit variable oldsize.\n\nAdding a bounds check (numsegs \u003c 0) and switching to use array\nindex notation instead of calculating the pointer address twice\nwould resolve this issue. The unneeded local variable oldsize\ncan be removed as well.\n\nSigned-off-by: Rich Johnston \u003crjohnston@sgi.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n\n"
    },
    {
      "commit": "fcbf44cb1c896b55eaa65ec0d8519191f9237306",
      "tree": "67c2ee5fc82c314afd09cea4d5fbf868afbec7e5",
      "parents": [
        "7cdc26b45207d5ab60d627f832d1d8f724a99fa5"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Fri Jul 18 08:04:31 2014 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Fri Jul 18 08:04:31 2014 +1000"
      },
      "message": "xfsdump: v3.1.4 Release\n\nUpdate all the files for a v3.1.4 release.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n\n"
    },
    {
      "commit": "7cdc26b45207d5ab60d627f832d1d8f724a99fa5",
      "tree": "0ab880805c3fb6b8722d2ab0d9698c58d20eb2c2",
      "parents": [
        "b97deed5d6849261b20bb3dcae84e1905482f234"
      ],
      "author": {
        "name": "Jakub Bogusz",
        "email": "qboosh@pld-linux.org",
        "time": "Fri Jul 18 08:02:50 2014 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Fri Jul 18 08:02:50 2014 +1000"
      },
      "message": "dump: updated Polish translation\n\nUpdated Polish translation file.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "b97deed5d6849261b20bb3dcae84e1905482f234",
      "tree": "857effa5f4ee73794e103b8670c2412ba3781a85",
      "parents": [
        "5a2985233c390d59d2a9757b119cb0e001c87a96"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Fri Jul 18 08:02:49 2014 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Fri Jul 18 08:02:49 2014 +1000"
      },
      "message": "dump: fix translation build errors\n\nThe translations fail to build because of duplicate message strings.\nRemove the duplicate.\n\nAlso, fix the missing \"language\" tag from the german translation.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n\n"
    },
    {
      "commit": "5a2985233c390d59d2a9757b119cb0e001c87a96",
      "tree": "d6462b52218ee66652ff66adbb8beafcbdfe9a93",
      "parents": [
        "8c01c0c2193a91d218b3f64005702383db71f0f4"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Fri Jul 18 08:02:26 2014 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Fri Jul 18 08:02:26 2014 +1000"
      },
      "message": "dump: don\u0027t redefine min() or max()\n\nThey are included from other header files.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n\n"
    },
    {
      "commit": "8c01c0c2193a91d218b3f64005702383db71f0f4",
      "tree": "1d4cea9950d49438eed2cef8131bde705541af2b",
      "parents": [
        "96be05e971e1e23c252f5432fe430cd724a52910"
      ],
      "author": {
        "name": "Iustin Pop",
        "email": "iusty@k1024.org",
        "time": "Wed Jul 16 13:30:12 2014 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Wed Jul 16 13:30:12 2014 +1000"
      },
      "message": "Fix trivial typo in xfsrestore warning message\n\nAlso modify the po/ files.\n\nSigned-off-by: Iustin Pop \u003ciusty@k1024.org\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "96be05e971e1e23c252f5432fe430cd724a52910",
      "tree": "1a1e0e9ac7d32f1d4aaee3a8bc1ca39c979debd8",
      "parents": [
        "f33aa73b89624feaeb94f4d48b88f2d480798420"
      ],
      "author": {
        "name": "Nathan Scott",
        "email": "nathans@debian.org",
        "time": "Wed Jul 16 13:29:12 2014 +1000"
      },
      "committer": {
        "name": "Nathan Scott",
        "email": "nathans@debian.org",
        "time": "Wed Jul 16 13:29:12 2014 +1000"
      },
      "message": "xfsdump: update debian packaging for next release\n\nMake a note of each of the Debian bugs resolved in this release,\nso that they\u0027ll be automatically closed during next upload.\n\nSigned-off-by: Nathan Scott \u003cnathans@debian.org\u003e\n"
    },
    {
      "commit": "f33aa73b89624feaeb94f4d48b88f2d480798420",
      "tree": "c43a963345ed10cea78418b860f746adffe1c1b2",
      "parents": [
        "fae9bcf317ce3a0d919ebdc6fd667993a4dbd484"
      ],
      "author": {
        "name": "Nathan Scott",
        "email": "nathans@debian.org",
        "time": "Wed Jul 16 13:25:36 2014 +1000"
      },
      "committer": {
        "name": "Nathan Scott",
        "email": "nathans@debian.org",
        "time": "Wed Jul 16 13:25:36 2014 +1000"
      },
      "message": "xfsdump: add a watch file into the debian packaging\n\nApparently it can improve some Debian tools that check it (e.g. UDD).\nResolves Debian bug #748482.\n\nSigned-off-by: Nathan Scott \u003cnathans@debian.org\u003e\n"
    },
    {
      "commit": "fae9bcf317ce3a0d919ebdc6fd667993a4dbd484",
      "tree": "bebdc50960dcf9d767be70a2dd6834dcf3be6ce6",
      "parents": [
        "b1d6979f1fae82acc79d27cf0add4d55da6d83cc"
      ],
      "author": {
        "name": "Nathan Scott",
        "email": "nathans@debian.org",
        "time": "Wed Jul 16 13:21:27 2014 +1000"
      },
      "committer": {
        "name": "Nathan Scott",
        "email": "nathans@debian.org",
        "time": "Wed Jul 16 13:21:27 2014 +1000"
      },
      "message": "xfsdump: rebuild configure files during deb package builds\n\nUse the same technique applied to xfsprogs recently to tackle\nout-of-date config.{sub,guess} files in the build.\n\nResolves Debian bug #746531.\n\nSigned-off-by: Nathan Scott \u003cnathans@debian.org\u003e\n"
    },
    {
      "commit": "b1d6979f1fae82acc79d27cf0add4d55da6d83cc",
      "tree": "de870c9802d304a09ac08cf1ed53d375496ddf9a",
      "parents": [
        "9ed517b63df35876681e8883388fbf154afda0c1"
      ],
      "author": {
        "name": "Kyle McMartin",
        "email": "kmcmarti@redhat.com",
        "time": "Tue Apr 08 10:35:34 2014 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Apr 08 10:35:34 2014 +1000"
      },
      "message": "remove ancient sys_getdents code paths\n\nEverything since 2.4.1 has supported getdents64... so let\u0027s remove all\nthe legacy code paths to handle it and just rely on getdents64 existing\neverywhere. Also re-indent the function to not look entirely awful.\n\nSigned-off-by: Kyle McMartin \u003ckmcmarti@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n\n"
    },
    {
      "commit": "9ed517b63df35876681e8883388fbf154afda0c1",
      "tree": "03e6e2652181facd880b2f72127501b8ef17878a",
      "parents": [
        "c3a4db1604bde2028e2572075181ad9d49def582"
      ],
      "author": {
        "name": "Kyle McMartin",
        "email": "kmcmarti@redhat.com",
        "time": "Tue Apr 08 10:33:57 2014 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Apr 08 10:33:57 2014 +1000"
      },
      "message": "xfsdump: getdents.c: clean up ifdef-hell around sys_getdents\n\nRemove the ifdef-hell imported from glibc around getdents64. Everything\nsince 2.4.1 supports things properly and this seems like a sensible\nclean up, so lets just assume it exists and handle it by falling back\nif not.\n\nAdditionally, if the old getdents syscall doesn\u0027t exist, just stub out\nthe actual syscall and return ENOSYS.\n\nSigned-off-by: Kyle McMartin \u003ckmcmarti@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n\n"
    },
    {
      "commit": "c3a4db1604bde2028e2572075181ad9d49def582",
      "tree": "2e91cc17fb790181c6a98c5f91a25974f6748800",
      "parents": [
        "a88c49071dde2539cce6d502effc27501416983a"
      ],
      "author": {
        "name": "Boris Ranto",
        "email": "ranto.boris@gmail.com",
        "time": "Tue Apr 08 10:22:17 2014 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Apr 08 10:22:17 2014 +1000"
      },
      "message": "xfsdump: Fix memory and fd leak in invutil/stobj.c\n\nThe function open_stobj duplicates its argument, upon successful\nduplication, the fstat is called. If the fstat command fails then\nthe memory for the duplicated string is leaked. Fix this by moving\nthe string duplication after the fstat call. This is ok because\nthe fstat call does not use the duplicated string.\n\nBrian Foster noticed that the function also leaks a file descriptor\nin case the file cannot be fstated. Fixing that, too.\n\nSigned-off-by: Boris Ranto \u003cranto.boris@gmail.com\u003e\nReviewed-by: Brian Foster \u003cbfoster@redhat.com\u003e\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "a88c49071dde2539cce6d502effc27501416983a",
      "tree": "728645ca8dce707271a8b5e9e5c4f2a6b23e65c1",
      "parents": [
        "0ece1a1c5bd9224a158138ea79bdffdcb7feda68"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Thu Feb 06 16:48:39 2014 +1100"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Feb 06 16:48:39 2014 +1100"
      },
      "message": "restore: don\u0027t trash file capabilities\n\nxfsrestore fails to restore file capabilities correctly because it\nsets the owner on the file after it has restored the capability\nattributes. This results in the kernel stripping the capabilities\nwhen changing the owner of the file and hence the restored file is\nnot complete.\n\nFix this by changing the owner of the file when it is created rather\nthan after it has been fully restored. This ensures we don\u0027t kill\nthe caps as they are restored after the owner it appropriately set.\nThis fixes the xfs/296 failure.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Brian Foster \u003cbfoster@redhat.com\u003e\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "0ece1a1c5bd9224a158138ea79bdffdcb7feda68",
      "tree": "b9e0e3781a61168095fc08337f9c58740655cd92",
      "parents": [
        "151858e9fdab6ebae490b05becc95f06aac2335c"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Wed Oct 02 18:41:09 2013 +0000"
      },
      "committer": {
        "name": "Rich Johnston",
        "email": "rjohnston@sgi.com",
        "time": "Fri Oct 18 17:00:09 2013 -0500"
      },
      "message": "xfsdump: handle large, wholly-sparse files\n\nIn restore_extent_group(), we loop over all extent headers for an inode\nin the stream, and add up the cumulatively restored size, accounting\nfor both HOLE and DATA records and advancing restoredsz as we go.\n\nBut for a wholly-sparse file, we have no HOLE header, only\na LAST header, and restoredsz remains at 0.\n\nThis makes it look like it\u0027s a partially-restored file, split\nacross streams because the final restoredsz for this stream is\nless than the file size, and we go to partial_reg(), which\nallocates one slot in persp-\u003ea.parrest[] for this inode.  But\nwe\u0027ve also called partial_reg() with offset/sz of 0/0, which is\nless than the file size so this inode never looks \"done.\"\n\nNormally partial_check2() would clear the persp-\u003ea.parrest[]\nslot in the array when the file is fully restored, but in\nthis case, that is never satisfied.  So all stream slots\nget filled as we encounter more inodes like this, and we\neventually get:\n\n\"partial_reg: Out of records. Extend attrs applied early.\"\n\nFix this by recognizing that if we hit a LAST header with\nno restoredsz set (i.e. the LAST header is the only header),\nset restoredsz to EOF (bstatp-\u003ebs_size) to indicate that\nrestoration of this file is complete, skip the call to\npartial_reg(), and all is well.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nReviewed-by: Rich Johnston \u003crjohnston@sgi.com\u003e\nSigned-off-by: Rich Johnston \u003crjohnston@sgi.com\u003e\n\n"
    },
    {
      "commit": "151858e9fdab6ebae490b05becc95f06aac2335c",
      "tree": "b076c2fa2c718f97c37c779b5f46b586c8b554b5",
      "parents": [
        "1162bdbcff77ed2341f0a9294db76df80f2f36a3"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Tue Oct 08 22:31:41 2013 +0000"
      },
      "committer": {
        "name": "Rich Johnston",
        "email": "rjohnston@sgi.com",
        "time": "Fri Oct 18 16:23:06 2013 -0500"
      },
      "message": "xfsdump: fix DEBUGPARTIALS build\n\nThe DEBUGPARTIALS debug code might have been helpful\nin this saga, so get it building again.\n\nThe primary build failure is that STREAM_MAX isn\u0027t\ndefined for the num_partials[STREAM_MAX] array;\nthe loop which uses that array iterates \"drivecnt\"\ntimes, so just allocate an array of that size.\n\nFix a few printf format warnings while we\u0027re at it.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nReviewed-by: Carlos Maiolino \u003ccmaiolino@redhat.com\u003e\nSigned-off-by: Rich Johnston \u003crjohnston@sgi.com\u003e\n\n"
    },
    {
      "commit": "1162bdbcff77ed2341f0a9294db76df80f2f36a3",
      "tree": "f449b84ca9fe2b0d411c28540dda93c772118e72",
      "parents": [
        "2f3ad0ee7b7f35e93b1e692b2e603a18ae30f8d9"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Tue Oct 08 22:05:54 2013 +0000"
      },
      "committer": {
        "name": "Rich Johnston",
        "email": "rjohnston@sgi.com",
        "time": "Fri Oct 18 16:22:06 2013 -0500"
      },
      "message": "xfsdump: avoid segfault in partial_reg() in error case\n\nIf we go down the \"/* Should never get here. */\" path\nin partial_reg(), we issue a warning but then continue\nwith the function.  This calls pi_unlock() twice,\nbut worse, uses a null isptr:\n\n        if ( ! isptr ) {\n... isptr is never set if we get to ...\n                /* Should never get here. */\n                pi_unlock();\n...\n        }\n...\n        /* Update this drive\u0027s entry */\n        bsptr \u003d \u0026isptr-\u003eis_bs[d_index];\n        if (bsptr-\u003eendoffset \u003d\u003d 0) {\n\n\u003eFrom all appearances, because we unlock on that \"never get\nhere\" path, it should just be returning after printing the\nwarning.  So add that, and we avoid the segfault.\n\nThe previous fix to partial_reg() should prevent us from\nhitting this in the first place.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nReviewed-by: Carlos Maiolino \u003ccmaiolino@redhat.com\u003e\nSigned-off-by: Rich Johnston \u003crjohnston@sgi.com\u003e\n\n"
    },
    {
      "commit": "2f3ad0ee7b7f35e93b1e692b2e603a18ae30f8d9",
      "tree": "c50cfdbf6ebc0c78b7bf2afdcb7e6901ee820af2",
      "parents": [
        "a55108557d5a3783c70df9e654797faadcf75dfa"
      ],
      "author": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Wed May 08 13:23:53 2013 -0500"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Wed May 08 13:23:53 2013 -0500"
      },
      "message": "3.1.3 release\n\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\n"
    },
    {
      "commit": "a55108557d5a3783c70df9e654797faadcf75dfa",
      "tree": "bca867e267f946746f50cdf02abae4b1f09b6764",
      "parents": [
        "71f940f36b24c4f3e080488080d0372adfcd718c"
      ],
      "author": {
        "name": "Rich Johnston",
        "email": "rjohnston@sgi.com",
        "time": "Wed May 08 12:46:07 2013 -0500"
      },
      "committer": {
        "name": "Rich Johnston",
        "email": "rjohnston@sgi.com",
        "time": "Wed May 08 12:46:07 2013 -0500"
      },
      "message": "xfsdump: Update version numbers and changelog.\n\n"
    },
    {
      "commit": "71f940f36b24c4f3e080488080d0372adfcd718c",
      "tree": "14427e50e0f9ebd6aa508907d70532c825abeb26",
      "parents": [
        "ef0b99a1b4ad1ddc01136cdf1b77db67ac83659f"
      ],
      "author": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Thu Feb 14 11:31:20 2013 -0600"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Tue Feb 19 14:29:41 2013 -0600"
      },
      "message": "xfsdump: update \u0027make deb\u0027 to use tarball archive\n\nThis patch changes the build process so that \u0027make deb\u0027 uses the same\nprocess of creating a source tree as the release script.\n\n* Add a list of files which go in the release tarball in .gitcensus\n  This is needed so that you can create a tarball in a bare release\n  tree, when .git is not available.\n\n* Modify the SRCTAR target to include files from .gitcensus and use tar\n  instead of git archive.\n\n* Modify the SRCTARINC files to include .gitcensus, and include\n  .gitcensus in the \u0027make realclean\u0027 target.\n\n* remove the \u0027make source-link\u0027 target.\n\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\nReviewed-by: Nathan Scott \u003cnathans@debian.org\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\n\n"
    },
    {
      "commit": "ef0b99a1b4ad1ddc01136cdf1b77db67ac83659f",
      "tree": "d88ca375f128627c9376264fbf310d145ccd8afb",
      "parents": [
        "eebd31aa94ea30cecb87036879f207a5e22f2885"
      ],
      "author": {
        "name": "Andrew Dahl",
        "email": "adahl@sgi.com",
        "time": "Mon Jan 14 12:16:39 2013 -0600"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Fri Feb 01 10:56:40 2013 -0600"
      },
      "message": "xfsdump: Refactor release scripts to conform to using git archive\n\nRefactored release scripts to conform to using git archive\n\nWhen generating a release, there is a risk of some files being\nstale, such as configure and the m4/autotools temp files. This\nis fixed with a clean at the beginning of the release generation.\nIn addition, there is no uniformity in the current method of\nsource tar generation between xfs utilities. Using git archive\nsolves this issue accross all utilities.\n\nSigned-off-by: Andrew Dahl \u003cadahl@sgi.com\u003e\nReviewed-by: Ben Myers \u003cbpm@sgi.com\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\n\n"
    },
    {
      "commit": "eebd31aa94ea30cecb87036879f207a5e22f2885",
      "tree": "2fb821a5e114aa1f17ea4a024ec96da252c8855f",
      "parents": [
        "59ad060e8f8c39406838c37360efb5f6c09a9041"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Jan 31 15:43:22 2013 -0600"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Thu Jan 31 15:43:22 2013 -0600"
      },
      "message": "xfsdump: zero bs_forkoff, don\u0027t fill in the value\n\nIn xfsdump 3.1.2 I explicitly added the bs_forkoff member\nto this structure; I tried to be good and explicitly fill\nin a value.  However, previously it was initialized to\nzero, (by virtue of being missing) and now we\u0027re giving it\na value (which is ignored by restore, other than to checksum\nit).\n\nBy putting in a non-zero value, I broke checksumming\nwhen an xfsdump with a non-zero forkoff was restored\nby an older xfsrestore that doesn\u0027t know about the field.\nFill in 0 to fix backwards compatibility.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nReported-by: Fugazzi99 \u003cfugazzi99@gmail.com\u003e\nReviewed-by: Ben Myers \u003cbpm@sgi.com\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\n\n"
    },
    {
      "commit": "59ad060e8f8c39406838c37360efb5f6c09a9041",
      "tree": "3a16b41336dbc3bc9b18cde958994282827d17c8",
      "parents": [
        "877559d1bca3a4b649cec0b44beb7a972efae123"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Thu Dec 27 08:10:14 2012 -0600"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Fri Jan 04 16:04:04 2013 -0600"
      },
      "message": "xfsdump: fix format string in restore_spec()\n\nNigel Tamplin reported getting a seg fault in xfsrestore when a path\nname was too long.  He correctly diagnosed that the problem was due\nto an extra \"%s\" format specifier in the format value passed to a\ncall to mlog().  This patch corrects that.\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReported-by: Nigel Tamplin \u003cntamplin@codefaber.co.uk\u003e\nTested-by: Nigel Tamplin \u003cntamplin@codefaber.co.uk\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\n\n"
    },
    {
      "commit": "877559d1bca3a4b649cec0b44beb7a972efae123",
      "tree": "144a54c1181cc6fb9ed9e7ebaaf405d63422b734",
      "parents": [
        "b7af332bfdd208a563186f847dfce2eeb1e75669"
      ],
      "author": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Thu Dec 13 14:58:42 2012 -0600"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Thu Dec 13 15:46:49 2012 -0600"
      },
      "message": "xfsdump: update version to 3.1.2\n\nUpdate version to 3.1.2 and change the release script to\ncreate a source tarball by default and sign it.\n\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\n\n"
    },
    {
      "commit": "b7af332bfdd208a563186f847dfce2eeb1e75669",
      "tree": "9ad03bc3ffb5d123371efd87571781bbd93a6268",
      "parents": [
        "e431c649e5d0824b1776fbe3acfaa923f5c5ac43"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Oct 18 23:02:05 2012 -0500"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Fri Nov 02 12:21:17 2012 -0500"
      },
      "message": "xfsdump: fill in bs_forkoff\n\nUpstream, the structure containing bs_forkoff is actually zeroed\nprior to these functions, but when pulling the patch back to an\nolder xfsdump, we got checksum errors due to an uninitialized\nbs_forkoff not matching in dump vs. restore.\n\nSo even though forkoff won\u0027t be explicitly restored from\na dump, do explicitly set it in these routines to keep checksums\nhappy.\n\nThis fixes \u0027bad header checksum\u0027 errors in xfsrestore, which were\nintroduced by commit 1e309da7.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\n"
    },
    {
      "commit": "e431c649e5d0824b1776fbe3acfaa923f5c5ac43",
      "tree": "53cdae2f095b0ce30327fcb5097eb8a44f6d734b",
      "parents": [
        "ba2fc483287a409146c7d060267013934e2b55b7"
      ],
      "author": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Wed Oct 31 14:25:24 2012 -0500"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Wed Oct 31 20:10:31 2012 -0500"
      },
      "message": "xfsdump: update version and changelog\n\nUpdate the version and changelogs for xfsdump.\n\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\nReviewed-by: Rich Johnston \u003crjohnston@sgi.com\u003e\nReviewed-by: Nathan Scott \u003cnathans@debian.org\u003e\n\n"
    },
    {
      "commit": "ba2fc483287a409146c7d060267013934e2b55b7",
      "tree": "f71592acb0e8b286510d3e3aa6dc2ccd5579225c",
      "parents": [
        "d051fe685c2aaa37186b3b980f1bee7f0d59fab1"
      ],
      "author": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Wed Oct 31 17:15:14 2012 -0500"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Wed Oct 31 20:10:02 2012 -0500"
      },
      "message": "xfsdump: enable gettext\n\nENABLE_GETTEXT was not being defined when --enable-gettext\nwas specified as a config option, neither the German or\nPolish translations were working.  Add this define to\nbuilddefs.in\n\nSee commit e84ec15d in xfsprogs.\n\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\nReviewed-by: Phil White \u003cpwhite@sgi.com\u003e\n"
    },
    {
      "commit": "d051fe685c2aaa37186b3b980f1bee7f0d59fab1",
      "tree": "280ba3513d2a237f10ef37805d5f1a19c8d08afe",
      "parents": [
        "0849972a6c1130064a796c1cafd60fe14f8c63f7"
      ],
      "author": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Tue Oct 30 16:31:52 2012 -0500"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Wed Oct 31 11:58:52 2012 -0500"
      },
      "message": "xfsdump: Update .gitignore\n\nRoot entries to where they only can occur.\n\nReported-by: Jan Engelhardt \u003cjengelh@inai.de\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\n\n"
    },
    {
      "commit": "0849972a6c1130064a796c1cafd60fe14f8c63f7",
      "tree": "3c18774ae0ad15a2a1e2643ebf0ec83cb5918c54",
      "parents": [
        "748ec518028bdbd78d5bf28b24473113168019f3"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@inai.de",
        "time": "Tue Oct 30 16:31:51 2012 -0500"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Wed Oct 31 11:11:40 2012 -0500"
      },
      "message": "xfsdump: build: use new autoconf constructs\n\nLooks like AC_CONFIG_FILES existed since 2.14 already.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@inai.de\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\n\n"
    },
    {
      "commit": "748ec518028bdbd78d5bf28b24473113168019f3",
      "tree": "e378ee0116421ebe22c8aea168cb196ec7d7c97a",
      "parents": [
        "174a578d99d7d98ff41907d0c299776597d0df39"
      ],
      "author": {
        "name": "Jakub Bogusz",
        "email": "qboosh@pld-linux.org",
        "time": "Fri Oct 26 17:25:15 2012 -0500"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Wed Oct 31 11:10:35 2012 -0500"
      },
      "message": "xfsdump: Polish translation\n\nAn initial Polish translation for xfsdump (3.1.0), from Jakub Bogusz.\n\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\nReviewed-by: Phil White \u003cpwhite@sgi.com\u003e\n\n"
    },
    {
      "commit": "174a578d99d7d98ff41907d0c299776597d0df39",
      "tree": "0b422a84251d67b5c7f1ac839b598b9e302680c9",
      "parents": [
        "6fba80c4f94bd12ba209f8dbf4243a05c8a2ee13"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Oct 22 15:24:16 2012 -0500"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Fri Oct 26 14:44:29 2012 -0500"
      },
      "message": "xfsdump: Revert dump version bump for 32bit projid fix\n\ncommit 1e309da7a4f7e2a2f456bf6b7cea4c5f1181cd36 fixed xfsdump to\nproperly save \u0026 restore the top 16 bits of a 32-bit projid, which\notherwise was being dropped (and restored as 0) in older xfsdump.\n\nThe original thought was to bump the dump version, so that we know\nwhether the dump (may) have the top 16 bits filled in.  In practice\nthis would prevent older restores from restoring newer dumps, and\nlosing the top 16 bits contained in these newer dumps.\n\nHowever, in hindsight this appears to be of limited value.  I\npropose that the dump version change is unuseful/unwanted for a\ncouple reasons:\n\n* There is no actual dump *format* change; the structure size\n  is the same, and the top 16 bits were properly zeroed before; old\n  restores will read these fixed dumps without problems and without\n  restoring garbage.  IOW, they will behave exactly as buggily as\n  they did before.  And worst case, if a dump containing the top 16\n  bits is mangled by an old restore, this can be easily remedied by\n  simply re-restoring with updated userspace.\n\n* We have no reliable method to know whether 32 bit project IDs are\n  in use; the feature flag was not added to the GEOM call at the time\n  of implementation.  Therefore we cannot reliably bump to V4 only\n  for projid32bit filesystems, and we cannot restrict V4 restores\n  only to projid32bit filesystems.  So the dump version is not\n  useful for feature cross-checking purposes.\n\nI spoke with wkendall via email, and although he may not have given\nit the most scrutiny (having moved on from xfsdump-land), he also\nfelt that a version dump may not be warranted.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nReviewed-by: Ben Myers \u003cbpm@sgi.com\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\n\n"
    },
    {
      "commit": "6fba80c4f94bd12ba209f8dbf4243a05c8a2ee13",
      "tree": "6766a458f814d275340851d0db3b25794129caee",
      "parents": [
        "4d24630983e9dcce028ead54e064b9bb8e17d534"
      ],
      "author": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Thu Oct 25 11:53:02 2012 -0500"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Thu Oct 25 14:28:45 2012 -0500"
      },
      "message": "xfsdump: rename configure.in to configure.ac\n\nconfigure.in has been renamed to configure.ac.  Update the Makefile.\n\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\nReviewed-by: Mark Tinguely \u003ctinguely@sgi.com\u003e\n"
    },
    {
      "commit": "4d24630983e9dcce028ead54e064b9bb8e17d534",
      "tree": "a21f130ddacf16bdebff4af27eabf769fd502945",
      "parents": [
        "1d5a48cc3379b5a1f4a9f2dc5873de6b9c4a81af"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Sep 24 19:39:38 2012 -0400"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Wed Oct 24 16:42:13 2012 -0500"
      },
      "message": "xfsdump: install shared libs with +x bits\n\nThese are shared libs w/executable code, so make sure they have +x bits\nset on them.  Some kernels will proactively disallow executable mmaps if\nthe files lack +x bits.  It\u0027s also the right thing to do.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nReviewed-by: Ben Myers \u003cbpm@sgi.com\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\n"
    },
    {
      "commit": "1d5a48cc3379b5a1f4a9f2dc5873de6b9c4a81af",
      "tree": "412ef196ff445fa3d24721838852c346ce14860a",
      "parents": [
        "87834dea012ec009b4239daa3c13d65623038c8f"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Sep 24 19:39:37 2012 -0400"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Wed Oct 24 16:39:09 2012 -0500"
      },
      "message": "xfsdump: respect DESTDIR when installing\n\nThis makes the `make install DESTDIR\u003d...` form work.  It keeps support\nfor all previous forms too (like DIST_ROOT).\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nReviewed-by: Ben Myers \u003cbpm@sgi.com\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\n"
    },
    {
      "commit": "87834dea012ec009b4239daa3c13d65623038c8f",
      "tree": "f5a18c651ef05cefa1b94ab4793dea79e9a48951",
      "parents": [
        "9735358300ebb5f520c52a22d54347470b3c600c"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Mon Sep 24 19:39:36 2012 -0400"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Wed Oct 24 16:37:44 2012 -0500"
      },
      "message": "xfsdump: rename configure.in to configure.ac\n\nNewer autotools warn and start to error with the older name.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nReviewed-by: Ben Myers \u003cbpm@sgi.com\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\n"
    },
    {
      "commit": "9735358300ebb5f520c52a22d54347470b3c600c",
      "tree": "31aaaae6399bdab1baf66e0bc102f8294aca4b82",
      "parents": [
        "a22c7eef068bd393deb1de9c31544b805bc46091"
      ],
      "author": {
        "name": "Stefan Ring",
        "email": "stefanrin@gmail.com",
        "time": "Tue Aug 28 11:10:21 2012 +0200"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Wed Sep 19 10:46:01 2012 -0500"
      },
      "message": "xfsdump: followup to German translation\n\nA few fixups to the German translation for xfsdump from Stefan Ring.\n\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\n"
    },
    {
      "commit": "a22c7eef068bd393deb1de9c31544b805bc46091",
      "tree": "f397994a81359afe3b89854e04d099aca1f9d947",
      "parents": [
        "1e309da7a4f7e2a2f456bf6b7cea4c5f1181cd36"
      ],
      "author": {
        "name": "Nathan Scott",
        "email": "nathans@debian.org",
        "time": "Wed Aug 01 10:31:22 2012 +1000"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Wed Sep 19 10:45:16 2012 -0500"
      },
      "message": "xfsdump: German translation\n\nThanks to Chris Leick \u003cc.leick@vollbio.de\u003e, reported via Debian BTS as\nbug #576257.\n\nSigned-off-by: Nathan Scott \u003cnathans@debian.org\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\n"
    },
    {
      "commit": "1e309da7a4f7e2a2f456bf6b7cea4c5f1181cd36",
      "tree": "42afbfa37522925c241fd8efc2897e73fd6ecdf7",
      "parents": [
        "ea1708b1fffd6881af839d7b0092ec9961764ea0"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Sep 18 15:35:58 2012 -0500"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Tue Sep 18 15:35:58 2012 -0500"
      },
      "message": "xfsdump: save \u0026 restore 32-bit projids\n\nCurrent xfsdump/xfsrestore only recognize the lower 16 bits of the projid.\nWith this patch, the full 32 bits are dumped \u0026 restored.\n\nReported-by: Boris Ranto \u003cbranto@redhat.com\u003e\nCc: Arkadiusz Mi?kiewicz \u003carekm@maven.pl\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\n"
    },
    {
      "commit": "ea1708b1fffd6881af839d7b0092ec9961764ea0",
      "tree": "ac3d57b602258769388a86271a201fddf304b8e1",
      "parents": [
        "adb4c4391ddfde941149db8a95fcbaa808ca1da4"
      ],
      "author": {
        "name": "Rich Johnston",
        "email": "rjohnston@sgi.com",
        "time": "Tue Aug 28 17:26:10 2012 +0000"
      },
      "committer": {
        "name": "Rich Johnston",
        "email": "rjohnston@sgi.com",
        "time": "Thu Sep 06 13:14:35 2012 -0500"
      },
      "message": "xfsdump: Use installed libraries only\n\nIf a local library was found and not installed, libtool will create a wrapper\nscript to call the binary from the .libs directory.  This patch will remove\nsearching for local libraries so that the installed libraries are always used.\n\nSigned-off-by: Rich Johnston \u003crjohnston@sgi.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Ben Myer \u003cbpm@sgi.com\u003e\n\n"
    },
    {
      "commit": "adb4c4391ddfde941149db8a95fcbaa808ca1da4",
      "tree": "30dfebdd3bacfa0ef09c49a8043c00b0b85d7bd4",
      "parents": [
        "a28d718346fd07f8953f5485836b14b87548726e"
      ],
      "author": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Thu Mar 22 11:15:06 2012 -0500"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Thu Mar 22 11:15:06 2012 -0500"
      },
      "message": "3.1.0 release\n\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\n"
    }
  ],
  "next": "a28d718346fd07f8953f5485836b14b87548726e"
}
