)]}'
{
  "commit": "48bd2bff821ae70e85c82d7f6c6c6bcf2ee23dae",
  "tree": "29a8fd649d99bbc442bb5a70e46622cac35d5211",
  "parents": [
    "651e14e79683be0cab30b91858018c19159968c1"
  ],
  "author": {
    "name": "Christopher Haster",
    "email": "chaster@utexas.edu",
    "time": "Tue Apr 09 18:56:53 2019 -0500"
  },
  "committer": {
    "name": "Christopher Haster",
    "email": "chaster@utexas.edu",
    "time": "Wed Apr 10 11:27:53 2019 -0500"
  },
  "message": "Artificially limited number of file ids per metadata block\n\nThis is an expirement to determine which field in the tag structure is\nthe most critical: tag id or tag size.\n\nThis came from looking at NAND storage and discussions around behaviour of\nlarge prog_sizes. Initial exploration indicates that prog_sizes around\n2KiB are not _that_ uncommon, and the 1KiB limitation is surprising.\n\nIt\u0027s possible to increase the lfs_tag size to 12-bits (4096), but at the\ncost of only 8-bit ids (256).\n\n  [----            32             ----]\na [1|-3-|-- 8 --|--  10  --|--  10  --]\nb [1|-3-|-- 8 --|-- 8 --|--   12    --]\n\nThis requires more investigation, but in order to allow us to change\nthe tag sizes with minimal impact I\u0027ve artificially limited the number\nof file ids to 0xfe (255) different file ids per metadata pair. If\n12-bit lengths turn out to be a bad idea, we can remove the artificial\nlimit without backwards incompatible changes.\n\nTo avoid breaking users already on v2-alpha, this change will refuse\n_creating_ file ids \u003e 255, but should read file ids \u003e 255 without\nissues.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "96a78693901502dc6e97d6538ba7827c9289971a",
      "old_mode": 33188,
      "old_path": "lfs.c",
      "new_id": "25c88c60ee0d49ff69996aa9938ce44e33d5f964",
      "new_mode": 33188,
      "new_path": "lfs.c"
    }
  ]
}
