)]}'
{
  "commit": "7d6fec45a5131918b51dcd76da52f2ec86a85be6",
  "tree": "82af862264cfa176a37c7d9f915806346c8df0bc",
  "parents": [
    "dabe0dc194d5d56d379a8994fff47392744b6491"
  ],
  "author": {
    "name": "Al Viro",
    "email": "viro@zeniv.linux.org.uk",
    "time": "Wed Nov 23 12:14:10 2011 -0500"
  },
  "committer": {
    "name": "Al Viro",
    "email": "viro@zeniv.linux.org.uk",
    "time": "Tue Jan 03 22:56:57 2012 -0500"
  },
  "message": "vfs: start hiding vfsmount guts series\n\nAlmost all fields of struct vfsmount are used only by core VFS (and\na fairly small part of it, at that).  The plan: embed struct vfsmount\ninto struct mount, making the latter visible only to core parts of VFS.\nThen move fields from vfsmount to mount, eventually leaving only\nmnt_root/mnt_sb/mnt_flags in struct vfsmount.  Filesystem code still\ngets pointers to struct vfsmount and remains unchanged; all such\npointers go to struct vfsmount embedded into the instances of struct\nmount allocated by fs/namespace.c.  When fs/namespace.c et.al. get\na pointer to vfsmount, they turn it into pointer to mount (using\ncontainer_of) and work with that.\n\nThis is the first part of series; struct mount is introduced,\nallocation switched to using it.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7890e49f74efae8e28bbfdc47439c249b43ba196",
      "old_mode": 33188,
      "old_path": "fs/mount.h",
      "new_id": "47da8163e1f49741fab681bd7e2d6e9b20eb9a44",
      "new_mode": 33188,
      "new_path": "fs/mount.h"
    },
    {
      "type": "modify",
      "old_id": "86b4f6406470f9b6eb6e09c9bfe077179edda24e",
      "old_mode": 33188,
      "old_path": "fs/namespace.c",
      "new_id": "dda47fee6fdf6b8f1dff58a5b535cec00bcd3ca8",
      "new_mode": 33188,
      "new_path": "fs/namespace.c"
    }
  ]
}
