)]}'
{
  "commit": "aadf7f88011370b5faf503bedaf85e00cfcbc07b",
  "tree": "165cdf070b3eefc56e48cf28c30b879a84802396",
  "parents": [
    "ba0fa1700de1094574b3e633be709f9f950feaba"
  ],
  "author": {
    "name": "David Howells",
    "email": "dhowells@redhat.com",
    "time": "Fri Sep 01 16:55:11 2017 +0100"
  },
  "committer": {
    "name": "David Howells",
    "email": "dhowells@redhat.com",
    "time": "Tue Sep 05 10:58:01 2017 +0100"
  },
  "message": "afs: Overhaul cell database management\n\nOverhaul the way that the in-kernel AFS client keeps track of cells in the\nfollowing manner:\n\n (1) Cells are now held in an rbtree to make walking them quicker and RCU\n     managed (though this is probably overkill).\n\n (2) Cells now have a manager work item that:\n\n     (A) Looks after fetching and refreshing the VL server list.\n\n     (B) Manages cell record lifetime, including initialising and\n     \t destruction.\n\n     (B) Manages cell record caching whereby threads are kept around for a\n     \t certain time after last use and then destroyed.\n\n     (C) Manages the FS-Cache index cookie for a cell.  It is not permitted\n     \t for a cookie to be in use twice, so we have to be careful to not\n     \t allow a new cell record to exist at the same time as an old record\n     \t of the same name.\n\n (3) Each AFS network namespace is given a manager work item that manages\n     the cells within it, maintaining a single timer to prod cells into\n     updating their DNS records.\n\n     This uses the reduce_timer() facility to make the timer expire at the\n     soonest timed event that needs happening.\n\n (4) When a module is being unloaded, cells and cell managers are now\n     counted out using dec_after_work() to make sure the module text is\n     pinned until after the data structures have been cleaned up.\n\n (5) Each cell\u0027s VL server list is now protected by a seqlock rather than a\n     semaphore.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d12dffb76b67f057eb215995e9777a88cfdca061",
      "old_mode": 33188,
      "old_path": "fs/afs/callback.c",
      "new_id": "bdccc4e72c0e230ecd4b0942a592b17a9fdbe141",
      "new_mode": 33188,
      "new_path": "fs/afs/callback.c"
    },
    {
      "type": "modify",
      "old_id": "6c49532a79decb75427eca3de4f39e9ec9c7a1ac",
      "old_mode": 33188,
      "old_path": "fs/afs/cell.c",
      "new_id": "ab042d87ca13fb83d841c69866bf247f879a9867",
      "new_mode": 33188,
      "new_path": "fs/afs/cell.c"
    },
    {
      "type": "modify",
      "old_id": "d9c0d7b294fa57c891ab2b280a47628ff9f9b92a",
      "old_mode": 33188,
      "old_path": "fs/afs/internal.h",
      "new_id": "9a7c1e95767d516ca2275392b420a5578edf1c35",
      "new_mode": 33188,
      "new_path": "fs/afs/internal.h"
    },
    {
      "type": "modify",
      "old_id": "87b1a9c8000d9644bc060fd4c6abbe8eb8287d3d",
      "old_mode": 33188,
      "old_path": "fs/afs/main.c",
      "new_id": "e0342e44509926c7e5866d341016c9901c248aff",
      "new_mode": 33188,
      "new_path": "fs/afs/main.c"
    },
    {
      "type": "modify",
      "old_id": "ee10f0089d874410d88dc9555df0a2b812e9a75e",
      "old_mode": 33188,
      "old_path": "fs/afs/proc.c",
      "new_id": "08565429615d1a6b518d4331138e32a8a59b3bb4",
      "new_mode": 33188,
      "new_path": "fs/afs/proc.c"
    },
    {
      "type": "modify",
      "old_id": "9b38f386a1423d98b3d84db190f8269a55cca466",
      "old_mode": 33188,
      "old_path": "fs/afs/server.c",
      "new_id": "57c2f605e11b1ed330cadc9f034ec5f965473c2c",
      "new_mode": 33188,
      "new_path": "fs/afs/server.c"
    },
    {
      "type": "modify",
      "old_id": "1bfc7b28700b916747d8eb60288d18a01dba5036",
      "old_mode": 33188,
      "old_path": "fs/afs/super.c",
      "new_id": "5113a48f907df7153722020a1d4583cfe91b9d8a",
      "new_mode": 33188,
      "new_path": "fs/afs/super.c"
    },
    {
      "type": "modify",
      "old_id": "4f8c15c09a6d7bcc32423450acea7ef71efaf2ce",
      "old_mode": 33188,
      "old_path": "fs/afs/vlocation.c",
      "new_id": "ec5ab8dc9bc8dd7ad3191cbc3fe1194caf5e541b",
      "new_mode": 33188,
      "new_path": "fs/afs/vlocation.c"
    },
    {
      "type": "modify",
      "old_id": "2830e4f48d85445b18f0cd6a39c3a22a35daac79",
      "old_mode": 33188,
      "old_path": "fs/afs/xattr.c",
      "new_id": "e58e00ee974708612252d350d815257cb79a5adb",
      "new_mode": 33188,
      "new_path": "fs/afs/xattr.c"
    }
  ]
}
