)]}'
{
  "log": [
    {
      "commit": "b2f37be7c25bc83b76f1b7063a4ef38b824dc4ef",
      "tree": "40c0bf77fe822e8e504d99f2ef90f3e3c5b58084",
      "parents": [
        "9b7d26a6a54f5f9e02b93a5d5ebf266fd748e06c"
      ],
      "author": {
        "name": "Nicolas Norvez",
        "email": "norvez@chromium.org",
        "time": "Tue Jan 14 15:06:22 2020 -0800"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Jan 14 23:40:39 2020 +0000"
      },
      "message": "rootdev: remove xiaochu@ from OWNERS\n\nHe\u0027s left the team.\n\nBUG\u003dchromium:995893\nTEST\u003dNone\n\nChange-Id: I2909e5ee4e4cf128c05659314d5c0ae7e0bb84a2\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/rootdev/+/2001410\nTested-by: Nicolas Norvez \u003cnorvez@chromium.org\u003e\nAuto-Submit: Nicolas Norvez \u003cnorvez@chromium.org\u003e\nReviewed-by: Benjamin Gordon \u003cbmgordon@chromium.org\u003e\nCommit-Queue: Nicolas Norvez \u003cnorvez@chromium.org\u003e\n"
    },
    {
      "commit": "9b7d26a6a54f5f9e02b93a5d5ebf266fd748e06c",
      "tree": "844cc95718aa0b93ed0201ed31fb992d8463fe70",
      "parents": [
        "8dc336a991e5494e6cc9a0094778fee67f22ed6c"
      ],
      "author": {
        "name": "Chris McDonald",
        "email": "cjmcdonald@chromium.org",
        "time": "Fri Jun 28 14:37:05 2019 -0600"
      },
      "committer": {
        "name": "Chris McDonald",
        "email": "cjmcdonald@chromium.org",
        "time": "Fri Jun 28 20:37:25 2019 +0000"
      },
      "message": "rootdev: Add OWNERS file\n\nThis CL is populating OWNERS file based on the candidates in the Chrome OS OWNERS status sheet.\n\nBUG\u003db:132095048\nTEST\u003dNone\n\nChange-Id: I91afc597bb60e32b008f13780868c4d9007bc058\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/rootdev/+/1682217\n"
    },
    {
      "commit": "8dc336a991e5494e6cc9a0094778fee67f22ed6c",
      "tree": "96689f9644457b68573b2c85022436b895f5b650",
      "parents": [
        "f68005cfbc3d5bcf7ec202f04ded9016f97bcdef"
      ],
      "author": {
        "name": "Yunlian Jiang",
        "email": "yunlian@google.com",
        "time": "Wed Jul 18 20:57:29 2018 -0700"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Fri Jul 20 05:31:38 2018 -0700"
      },
      "message": "rootdev: include missing header file.\n\nThis adds \u003csys/sysmacros.h\u003e because the\ninclusion of \u003csys/sysmacros.h\u003e by \u003csys/types.h\u003e is deprecated since\nglibc 2.25.\n\nBUG\u003dchromium:865304\nTEST\u003demerge-samus rootdev with glibc 2.27\n\nChange-Id: Ic54e089659d620a862720b9882235117eb8487b5\nReviewed-on: https://chromium-review.googlesource.com/1143004\nCommit-Ready: ChromeOS CL Exonerator Bot \u003cchromiumos-cl-exonerator@appspot.gserviceaccount.com\u003e\nTested-by: Yunlian Jiang \u003cyunlian@chromium.org\u003e\nReviewed-by: Manoj Gupta \u003cmanojgupta@chromium.org\u003e\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "f68005cfbc3d5bcf7ec202f04ded9016f97bcdef",
      "tree": "4cae4f3df99b2f8a5e93f1cf5154c57e0b819392",
      "parents": [
        "182cfd35498e929a913baf49768dfc6440301b15"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Jul 10 22:59:07 2018 -0400"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Wed Jul 11 12:13:04 2018 -0700"
      },
      "message": "inherit-review-settings-ok: punt old unused file\n\nBUG\u003dNone\nTEST\u003dprecq passes\n\nChange-Id: I8afc62db82905a7dcb6a07902061fa5832bd4adb\nReviewed-on: https://chromium-review.googlesource.com/1132697\nCommit-Ready: ChromeOS CL Exonerator Bot \u003cchromiumos-cl-exonerator@appspot.gserviceaccount.com\u003e\nTested-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nReviewed-by: Ben Chan \u003cbenchan@chromium.org\u003e\n"
    },
    {
      "commit": "182cfd35498e929a913baf49768dfc6440301b15",
      "tree": "ec8d36aafe029de750503637612eede08d2f086c",
      "parents": [
        "fc570685c1ca4acb871c706a66d0493b5e92c7c9"
      ],
      "author": {
        "name": "Yunlian Jiang",
        "email": "yunlian@google.com",
        "time": "Mon Jul 02 10:47:09 2018 -0700"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Fri Jul 06 18:48:46 2018 -0700"
      },
      "message": "rootdev: remove deprecated readdir_r\n\nglibc 2.27 has removed deprecated readdir_r, and we need to\nuse readdir to replace it.\n\nBUG\u003dchromium:859593\nTEST\u003dFEATURES\u003d\"test\" USE\u003d\"asan\" emerge-samus rootdev\n\nChange-Id: I52da7a24a077fe06a68c7092039e6c3b9ca361ae\nReviewed-on: https://chromium-review.googlesource.com/1123022\nCommit-Ready: Yunlian Jiang \u003cyunlian@chromium.org\u003e\nTested-by: Yunlian Jiang \u003cyunlian@chromium.org\u003e\nReviewed-by: Manoj Gupta \u003cmanojgupta@chromium.org\u003e\nReviewed-by: Caroline Tice \u003ccmtice@chromium.org\u003e\n"
    },
    {
      "commit": "fc570685c1ca4acb871c706a66d0493b5e92c7c9",
      "tree": "21174b0ac7e05d74185c20bc2b6bbe321bcd64cb",
      "parents": [
        "b9b8f1de0ab9d4b0e1739d7c0dc4ec232b85a5c3"
      ],
      "author": {
        "name": "Benjamin Gordon",
        "email": "bmgordon@chromium.org",
        "time": "Tue Jul 25 14:15:43 2017 -0600"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Fri Jul 28 15:04:27 2017 -0700"
      },
      "message": "rootdev: Strip partitions less aggressively\n\nIn device names like dm-N or loopN, the N is not a partition number and\nshould not be stripped off.  These can arise for example if run inside a\nchroot mounted on a loopback device.\n\nBUG\u003dchromium:748665, chromium:730144\nTEST\u003dNew unit tests.\n\nChange-Id: If7ecacbfcf00690376cb4ffc75baa45422579085\nReviewed-on: https://chromium-review.googlesource.com/585652\nCommit-Ready: Benjamin Gordon \u003cbmgordon@chromium.org\u003e\nTested-by: Benjamin Gordon \u003cbmgordon@chromium.org\u003e\nReviewed-by: Simon Glass \u003csjg@chromium.org\u003e\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "b9b8f1de0ab9d4b0e1739d7c0dc4ec232b85a5c3",
      "tree": "ed7bd798f46748b912df5aa7fb7dc8364d3d9048",
      "parents": [
        "5d7d7ff513315abd103d0c95e92ae646c1a7688c"
      ],
      "author": {
        "name": "Xiaochu Liu",
        "email": "xiaochu@chromium.org",
        "time": "Mon Apr 24 13:32:06 2017 -0700"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Tue Apr 25 18:40:04 2017 -0700"
      },
      "message": "third_party/rootdev: support btrfs using ioctl\n\nrootdev assumes only one device exist for an FS (which is true for ext2/squashfs). FS like\nbtrfs supports multiple devices and uses an anonymous namespace for each device number. Thus sys\ncall \u0027stat\u0027 no longer works for btrfs. This change adds a function rootdev_wrapper_btrfs in\nwhich we use ioctl to read the ioctl dev info from device directly. Then in main.c and rootdev\nlibrary call, we predicate on FS type to decide whether call rootdev_wrapper or\nrootdev_wrapper_btrfs.\n\nBUG\u003dchromium:702400, chromium:698296\nTEST\u003dmanual\n\nChange-Id: I4a388192026ec36dd02c810cf5f31d02f5a87988\nReviewed-on: https://chromium-review.googlesource.com/486263\nCommit-Ready: Xiaochu Liu \u003cxiaochu@chromium.org\u003e\nTested-by: Xiaochu Liu \u003cxiaochu@chromium.org\u003e\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "5d7d7ff513315abd103d0c95e92ae646c1a7688c",
      "tree": "d6401b998ddef44214ac0add61a1e14a5845a95e",
      "parents": [
        "a4507857e42fcbb5211bc1e02213b6a87b8086a2"
      ],
      "author": {
        "name": "Dan Ehrenberg",
        "email": "dehrenberg@chromium.org",
        "time": "Wed Mar 04 16:00:24 2015 -0800"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Sat Mar 14 08:23:43 2015 +0000"
      },
      "message": "rootdev: Use large file support (LFS)\n\nWithout LFS, stat fails with -EOVERFLOW on devices with major:minor\nnumbers that don\u0027t fit within 8 bits on 32-bit architecutres. This\npatch turns on LFS to allow that, fixing a bringup but on a new\nplatform.\n\nBUG\u003dchromium:464024\nTEST\u003dBooted onto a machine and successfully ran rootdev with a large\nmajor:minor number.\n\nChange-Id: I3dfe698e65366f4608705f56894988d2643e375f\nSigned-off-by: Dan Ehrenberg \u003cdehrenberg@chromium.org\u003e\nReviewed-on: https://chromium-review.googlesource.com/258550\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nCommit-Queue: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "a4507857e42fcbb5211bc1e02213b6a87b8086a2",
      "tree": "3ce43aa5a517868c9c6bceae8c0783a3e0a00db8",
      "parents": [
        "32979f65d3e98094cb9e4d3c787eb87f40277e97"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Thu Dec 11 23:01:13 2014 -0500"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Dec 12 18:09:45 2014 +0000"
      },
      "message": "tests: make it more flexible for the ebuild\n\nThe current code requires rootdev to be in $PWD which fails when we\nbuild out of tree (like the ebuild).\n\nBUG\u003dchromium:441571\nTEST\u003d`FEATURES\u003dtest emerge-link rootdev` passes\n\nChange-Id: I99173ceb557099c20b43f5a31b87107a144efa20\nReviewed-on: https://chromium-review.googlesource.com/234921\nTrybot-Ready: Mike Frysinger \u003cvapier@chromium.org\u003e\nReviewed-by: Yunlian Jiang \u003cyunlian@chromium.org\u003e\nCommit-Queue: Mike Frysinger \u003cvapier@chromium.org\u003e\nTested-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "32979f65d3e98094cb9e4d3c787eb87f40277e97",
      "tree": "3985a1f14ff56eb269057237cbccf2740b9e3337",
      "parents": [
        "7d9288a0745aa50dbcb0bb692241f0eee679254b"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Thu Dec 11 23:00:55 2014 -0500"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Dec 12 18:09:07 2014 +0000"
      },
      "message": "fix --block handling with invalid paths\n\nThe rootdev program was printing the path buffer even when the library\ncall failed.  In that case, the buffer most likely is uninitialized.\nMake sure we seed it with a NUL byte so it\u0027s always valid.\n\nBUG\u003dchromium:441571\nTEST\u003d`FEATURES\u003dtest emerge-link rootdev` passes\n\nChange-Id: I00d334376de9bedee0a3fac3b1a74e48237c06b7\nReviewed-on: https://chromium-review.googlesource.com/234920\nTrybot-Ready: Mike Frysinger \u003cvapier@chromium.org\u003e\nReviewed-by: Yunlian Jiang \u003cyunlian@chromium.org\u003e\nCommit-Queue: Mike Frysinger \u003cvapier@chromium.org\u003e\nTested-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "7d9288a0745aa50dbcb0bb692241f0eee679254b",
      "tree": "82eb157a8b0c1194363d30a8d746f1b68edafda6",
      "parents": [
        "515197db4f204bf942b4d4f57bd994cc2e7e9c0c"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Tue Apr 01 02:17:20 2014 -0400"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Tue Apr 01 23:21:47 2014 +0000"
      },
      "message": "fix building w/ABIs that have broken stat structures\n\nIf the system\u0027s stat buffer is broken and doesn\u0027t declare st_dev as a\ndev_t, we hit a build failure when we try to pass it into a func that\nexpects a dev_t.\n\nAdd some checks to handle this case.  It produces the same code on sane\nABIs, so other than ugliness, it should be fine.\n\nBUG\u003dchromium:358419\nTEST\u003d`emerge-link rootdev` produces same code\nTEST\u003d`emerge-daisy rootdev` produces same code\nTEST\u003d`emerge-mipsel-o32-generic rootdev` now works\n\nChange-Id: I956436e0c40318c8f2ac61b2e202ec739132c245\nReviewed-on: https://chromium-review.googlesource.com/192550\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nCommit-Queue: Mike Frysinger \u003cvapier@chromium.org\u003e\nTested-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "515197db4f204bf942b4d4f57bd994cc2e7e9c0c",
      "tree": "fb4c6d4af205006a2b4b7ce0ab3e923eca534b25",
      "parents": [
        "cc7424d39234cd5312b09ad2caf73e3dbfa24ef1"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Fri Nov 01 17:32:42 2013 -0400"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Nov 06 20:27:54 2013 +0000"
      },
      "message": "fix flag handling\n\nMake sure we respect CPPFLAGS and don\u0027t hardcode\n\nBUG\u003dNone\nTEST\u003d`emerge-x86-alex rootdev` uses right flags\n\nChange-Id: I668af9e02b842ddc54f60e07d313a564cc927413\nReviewed-on: https://chromium-review.googlesource.com/175522\nReviewed-by: Liam McLoughlin \u003clmcloughlin@chromium.org\u003e\nCommit-Queue: Mike Frysinger \u003cvapier@chromium.org\u003e\nTested-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "cc7424d39234cd5312b09ad2caf73e3dbfa24ef1",
      "tree": "32a3b3743060358cc667402d47b87924787ffecd",
      "parents": [
        "7642f775897f84110d7d3982a8a990b678783064"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Fri Nov 01 17:35:24 2013 -0400"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Nov 06 20:27:51 2013 +0000"
      },
      "message": "rootdev: link against librootdev\n\nWe create a lib out of rootdev.c, so have our main program use it rather\nthan duplicate the code in the main program.\n\nBUG\u003dNone\nTEST\u003d`emerge-x86-alex rootdev` still works and rootdev is linked against the prog (and works)\n\nChange-Id: If649007ddb9499f2217ad0af3f1d30115587dd3d\nReviewed-on: https://chromium-review.googlesource.com/175521\nReviewed-by: Liam McLoughlin \u003clmcloughlin@chromium.org\u003e\nCommit-Queue: Mike Frysinger \u003cvapier@chromium.org\u003e\nTested-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "7642f775897f84110d7d3982a8a990b678783064",
      "tree": "df8e853118208f8078fe48fa79b95b8a7fed36e7",
      "parents": [
        "15141a9e18d299ca1f13f5dd414b78499b59407b"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Fri Nov 01 17:31:58 2013 -0400"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Nov 06 20:27:47 2013 +0000"
      },
      "message": "support out-of-tree builds\n\nThis will allow us to avoid doing a git clone.\n\nBUG\u003dNone\nTEST\u003d`emerge-x86-alex rootdev` still works\n\nChange-Id: I2515981c5aa426eebecc6333d8ae7b50276ae577\nReviewed-on: https://chromium-review.googlesource.com/175520\nReviewed-by: Liam McLoughlin \u003clmcloughlin@chromium.org\u003e\nCommit-Queue: Mike Frysinger \u003cvapier@chromium.org\u003e\nTested-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "15141a9e18d299ca1f13f5dd414b78499b59407b",
      "tree": "7944ea7cf7fc0cb49ffe1633c9ad4331fd76989d",
      "parents": [
        "d4c5b8be615a84dae6ced41747246d7a038b7b88"
      ],
      "author": {
        "name": "Chris Masone",
        "email": "cmasone@chromium.org",
        "time": "Mon Aug 19 18:52:52 2013 -0700"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Tue Aug 20 16:47:45 2013 -0700"
      },
      "message": "Avoid some identifier confusion\n\nSome toolchains are confused by have a local variable with the same\nname as a function. FIXIT!\n\nBUG\u003dNone\nTEST\u003dcompilashunz\n\nChange-Id: Id7befbcfc9c2cbcd14f4a229cbc8687e1f7ad72c\nReviewed-on: https://gerrit.chromium.org/gerrit/66294\nReviewed-by: Chris Masone \u003ccmasone@chromium.org\u003e\nTested-by: Chris Masone \u003ccmasone@chromium.org\u003e\nCommit-Queue: Chris Masone \u003ccmasone@chromium.org\u003e\n"
    },
    {
      "commit": "d4c5b8be615a84dae6ced41747246d7a038b7b88",
      "tree": "f2db697b6a8ad8ed1edae077ad556cbee81b07f8",
      "parents": [
        "c9880282b115a0127c948d16f4ab3c6cadcbfcd2"
      ],
      "author": {
        "name": "Paul Taysom",
        "email": "taysom@chromium.org",
        "time": "Fri Jul 12 13:03:57 2013 -0700"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Fri Jul 12 15:52:31 2013 -0700"
      },
      "message": "Fixed reference to overlapping (the same) string.\n\nThe intent of the rootdev_get_device_slave is to allow the slave and\nthe device to be the same string but it is not required. Added a\ntest for the case where they are the same string to not do the\nstrncpy.\n\nLinux has vixed the problem of a limited number of stacked devices,\nso I fixed the comment that referred to it.\n\nBUG\u003dchromium:259893\nTEST\u003drootdev -s\n\nChange-Id: I04d84799e77c678f1330e1bcf72cddaf9ac68c4c\nReviewed-on: https://gerrit.chromium.org/gerrit/61707\nTested-by: Paul Taysom \u003ctaysom@chromium.org\u003e\nReviewed-by: Yunlian Jiang \u003cyunlian@chromium.org\u003e\nCommit-Queue: Paul Taysom \u003ctaysom@chromium.org\u003e\n"
    },
    {
      "commit": "c9880282b115a0127c948d16f4ab3c6cadcbfcd2",
      "tree": "8ec533cfbe40ad80859408561a3623f8b24b909b",
      "parents": [
        "f8e5f9f2ed1a383d5726d4e55a40c7e6f9bc9744"
      ],
      "author": {
        "name": "Paul Taysom",
        "email": "taysom@chromium.org",
        "time": "Thu Aug 30 08:33:32 2012 -0700"
      },
      "committer": {
        "name": "Gerrit",
        "email": "chrome-bot@google.com",
        "time": "Tue Sep 25 17:08:28 2012 -0700"
      },
      "message": "Modified rootdev to handle stacked device mappers\n\nRootdev only went down one level when traversing the device tree.\nWith the addition of the bootcache device mapper, we need to\ngo multiple levels for the -s option for rootdev.\n\nBUG\u003dchromium-os:25441\nTEST\u003dused it with bootcache to find boot device.\n\nChange-Id: Ica82dc150e403d0e49e4d8074c0b920b20e4cccc\nReviewed-on: https://gerrit.chromium.org/gerrit/31851\nCommit-Ready: Paul Taysom \u003ctaysom@chromium.org\u003e\nReviewed-by: Paul Taysom \u003ctaysom@chromium.org\u003e\nTested-by: Paul Taysom \u003ctaysom@chromium.org\u003e\n"
    },
    {
      "commit": "f8e5f9f2ed1a383d5726d4e55a40c7e6f9bc9744",
      "tree": "7e83ab1405cac6b14d5cd4a91f122fa32e18776d",
      "parents": [
        "80fbc6c5d03ba9c192f0e406ee0b6ec60711d603"
      ],
      "author": {
        "name": "Bryan Freed",
        "email": "bfreed@chromium.org",
        "time": "Fri Nov 11 13:05:30 2011 -0800"
      },
      "committer": {
        "name": "Bryan Freed",
        "email": "bfreed@chromium.org",
        "time": "Mon Nov 14 11:19:52 2011 -0800"
      },
      "message": "rootdev: Prevent infinite recursion when parsing /sys/block.\n\nThe mmcblk driver of the 3.0.8 kernel adds mmcblk0boot0 and mmcblk0boot1\ndirectories under /sys/block or /sys/block/mmcblk0.  I have seen it both ways.\nThe device symlink in those directories points to \"../../mmcblk0\" which\npoints to the grandparent directory.\n\nWhen rootdev scans /sys/block looking for a device that matches \"/\", it\ncan fall into this loop and recurse until failure.\n\nWhile a proper fix would detect loops to prevent recursion, that adds\nconsiderable complexity to the directory scan.\nThis relatively simple solution limits recursion depth to 5 to prevent\ninfinitely looping.  It will fail to find device matches beyond 5 levels\nof directories, but we are nowhere near that in today\u0027s systems.  We find\nmatches at level 3 as best I can tell.\n\nBUG\u003dchromium-os:22855\nTEST\u003dRun rootdev and check for failures.\n\nChange-Id: I9ef3aa0a6d6f8143dd0b9e012ba4bb4adfa0c73b\nReviewed-on: https://gerrit.chromium.org/gerrit/11575\nReviewed-by: Will Drewry \u003cwad@chromium.org\u003e\nCommit-Ready: Bryan Freed \u003cbfreed@chromium.org\u003e\nTested-by: Bryan Freed \u003cbfreed@chromium.org\u003e\n"
    },
    {
      "commit": "80fbc6c5d03ba9c192f0e406ee0b6ec60711d603",
      "tree": "2ba6c6d83c444fd6149f084dc05cb9e2d4c3d5e3",
      "parents": [
        "afb2fb552003fe76fd084916166dfa64d7ee9ed6"
      ],
      "author": {
        "name": "Will Drewry",
        "email": "wad@chromium.org",
        "time": "Mon Aug 30 10:13:34 2010 -0500"
      },
      "committer": {
        "name": "Will Drewry",
        "email": "wad@chromium.org",
        "time": "Mon Aug 30 10:13:34 2010 -0500"
      },
      "message": "rootdev: fix -d, add -c and -r. ifdefs for so use\n\nMultiple changes:\n- Ensure the -d flag trims off all of the partition info and only if there is a partition\n- Add -c, device node creation for platform-agnostic /dev/ROOT, /dev/ROOT0 and /dev/ROOT1\n- Add -r, resolve the first slave if the device is a device-mapper device\n- Add -s, create a symlink from the found device to /dev/ACTIVE_ROOT\n- Adds short-circuiting if /dev/ACTIVE_ROOT exists to both dm resolution and\n  normal lookups\n- Add support for building a library with a reusable header and interfaces\n\nI\u0027ll follow this up with a change to install \u003crootdev/rootdev.h\u003e and the .so in\nthe ebuild if the interface is at all interesting.  If prefered, I can just add:\nrootdev -s -r to chromeos_startup, then AU can just rely on readlink(/dev/ACTIVE_ROOT).\n\nBUG\u003dchromium-os:5988\nTEST\u003dbuilt for x86-generic testing with vroot: -r, -s, -c, -d and combos\n     switching to non-vroot to test now\n     can someone test arm for me?\n\nChange-Id: Ibab8072afb012ea77d457517f1849e0917d02892\n\nReview URL: http://codereview.chromium.org/3141038\n"
    },
    {
      "commit": "afb2fb552003fe76fd084916166dfa64d7ee9ed6",
      "tree": "2308dd2fbe40254f7be238833e01c17024b4cac0",
      "parents": [
        "cc97f1875c66a6fbe65772e8c09526a0e785fd0c"
      ],
      "author": {
        "name": "Kobi Cohen-Arazi",
        "email": "kobic@codeaurora.org",
        "time": "Mon Jul 26 12:48:36 2010 -0600"
      },
      "committer": {
        "name": "Brian Daugherty",
        "email": "bdaugher@codeaurora.org",
        "time": "Mon Jul 26 12:48:36 2010 -0600"
      },
      "message": "rootdev.c: Added -d option to strip trailing partition number\n\nChange-Id: I2afbb0a8546f48224292433e2efcf0a868c7a1c6\n\nReview URL: http://codereview.chromium.org/2814040\nPatch from Kobi Cohen-Arazi \u003ckobic@codeaurora.org\u003e.\n"
    },
    {
      "commit": "cc97f1875c66a6fbe65772e8c09526a0e785fd0c",
      "tree": "2353351963394cfa23c90c30651346ea84b23074",
      "parents": [
        "67fabaaaa7a10b2109c0c133df28f67113b68030"
      ],
      "author": {
        "name": "Zdenek Behan",
        "email": "zbehan@chromium.org",
        "time": "Tue Jun 15 14:59:48 2010 -0700"
      },
      "committer": {
        "name": "Zdenek Behan",
        "email": "zbehan@chromium.org",
        "time": "Tue Jun 15 14:59:48 2010 -0700"
      },
      "message": "rootdev: cleanup, remove files symlink\n\n\tdeleted:    files\n\nReview URL: http://codereview.chromium.org/2815007\n"
    },
    {
      "commit": "67fabaaaa7a10b2109c0c133df28f67113b68030",
      "tree": "d38c3fed0a6b8a86df0fbfd78dd3292ce7f4a29a",
      "parents": [
        "c57ca55b7111d1cbb6f862f086327e74be14ff3f"
      ],
      "author": {
        "name": "Zdenek Behan",
        "email": "zbehan@chromium.org",
        "time": "Tue Jun 15 14:05:10 2010 -0700"
      },
      "committer": {
        "name": "Zdenek Behan",
        "email": "zbehan@chromium.org",
        "time": "Tue Jun 15 14:05:10 2010 -0700"
      },
      "message": "rootdev: fix review inheritance for rootdev repo\n\n\tnew file:   inherit-review-settings-ok\n\nReview URL: http://codereview.chromium.org/2816005\n"
    },
    {
      "commit": "c57ca55b7111d1cbb6f862f086327e74be14ff3f",
      "tree": "c86ee1e6da2f59183768f252f146394dbcfd2d5c",
      "parents": [
        "75fcf626c6e950c72eca97070a956602dbef963e"
      ],
      "author": {
        "name": "Zdenek Behan",
        "email": "zbehan@chromium.org",
        "time": "Tue Jun 15 11:26:35 2010 -0700"
      },
      "committer": {
        "name": "Zdenek Behan",
        "email": "zbehan@chromium.org",
        "time": "Tue Jun 15 11:26:35 2010 -0700"
      },
      "message": "rootdev: rework the repo into a \"new eclass\"-friendly layout\n\n* Move all files from files/ to .\n* Fix LICENCE symlink\n* Create files -\u003e . symlink to remain backwards compatible\n\nReview URL: http://codereview.chromium.org/2847007\n"
    },
    {
      "commit": "75fcf626c6e950c72eca97070a956602dbef963e",
      "tree": "f2ed8a2274ef20b280306b8b9d83e60f01afae81",
      "parents": [],
      "author": {
        "name": "Bill Richardson",
        "email": "wfrichar@chromium.org",
        "time": "Tue Mar 16 13:05:12 2010 -0700"
      },
      "committer": {
        "name": "Bill Richardson",
        "email": "wfrichar@chromium.org",
        "time": "Tue Mar 16 13:05:12 2010 -0700"
      },
      "message": "Adding source for rootdev utility.\n"
    }
  ]
}
