)]}'
{
  "commit": "c100021c20394c8f59634df76ec7a679ab08e594",
  "tree": "343542db372ac22d4c0cfd1526209f9486dbdc54",
  "parents": [
    "cee40cdca905a1284f3a9c50af25afd50c379371"
  ],
  "author": {
    "name": "David Howells",
    "email": "dhowells@redhat.com",
    "time": "Wed Oct 11 00:16:11 2017 +0100"
  },
  "committer": {
    "name": "David Howells",
    "email": "dhowells@redhat.com",
    "time": "Wed Oct 11 10:07:21 2017 +0100"
  },
  "message": "afs: Make use of the YFS service upgrade to fully support IPv6\n\nYFS VL servers offer an upgraded Volume Location service that can return\nIPv6 addresses to fileservers and volume servers in addition to IPv4\naddresses using the YFSVL.GetEndpoints operation which we should use if\nit\u0027s available.\n\nTo this end:\n\n (1) Make rxrpc_kernel_recv_data() return the call\u0027s current service ID so\n     that the caller can detect service upgrade and see what the service\n     was upgraded to.\n\n (2) When we see a VL server address we haven\u0027t seen before, send a\n     VL.GetCapabilities operation to it with the service upgrade bit set.\n\n     If we get an upgrade to the YFS VL service, change the service ID in\n     the address list for that address to use the upgraded service and set\n     a flag to note that this appears to be a YFS-compatible server.\n\n (3) If, when a server\u0027s addresses are being looked up, we note that we\n     previously detected a YFS-compatible server, then send the\n     YFSVL.GetEndpoints operation rather than VL.GetAddrsU.\n\n (4) Build a fileserver address list from the reply of YFSVL.GetEndpoints,\n     including both IPv4 and IPv6 addresses.  Volume server addresses are\n     discarded.\n\n (5) The address list is sorted by address and port now, instead of just\n     address.  This allows multiple servers on the same host sitting on\n     different ports.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "aa76b9eec792f3b95df670c1105cfa705b89f7e6",
      "old_mode": 33188,
      "old_path": "fs/afs/addr_list.c",
      "new_id": "d9bd07699a6057958eb260f64c17fc2826f0d87c",
      "new_mode": 33188,
      "new_path": "fs/afs/addr_list.c"
    },
    {
      "type": "modify",
      "old_id": "6350b417aee93ecbe0e849d9ed43c3d28ca32fa0",
      "old_mode": 33188,
      "old_path": "fs/afs/afs_vl.h",
      "new_id": "e3c4688f573bceae235c965fb1b7c3597dcd8b85",
      "new_mode": 33188,
      "new_path": "fs/afs/afs_vl.h"
    },
    {
      "type": "modify",
      "old_id": "a49d31ce82f39d36f4e4d53e14455c6d487eb107",
      "old_mode": 33188,
      "old_path": "fs/afs/internal.h",
      "new_id": "3e351e1b169087703f6f224fcf3cff471267b4a6",
      "new_mode": 33188,
      "new_path": "fs/afs/internal.h"
    },
    {
      "type": "modify",
      "old_id": "77c33e9131e59cce5e50b02f15aacd4fe7e98069",
      "old_mode": 33188,
      "old_path": "fs/afs/rxrpc.c",
      "new_id": "247ef842a06664913292aeee454a70bc9591afd8",
      "new_mode": 33188,
      "new_path": "fs/afs/rxrpc.c"
    },
    {
      "type": "modify",
      "old_id": "3226becf8a0bf094790da9ab2295c0d599dafba7",
      "old_mode": 33188,
      "old_path": "fs/afs/server.c",
      "new_id": "5610295963ed94580050470242b1b16ae505ec45",
      "new_mode": 33188,
      "new_path": "fs/afs/server.c"
    },
    {
      "type": "modify",
      "old_id": "578778078d41263a039c35b98e2c6bc8ed55eed2",
      "old_mode": 33188,
      "old_path": "fs/afs/vlclient.c",
      "new_id": "9d82eede90171109b2094fafa2c6bab87e9ff10d",
      "new_mode": 33188,
      "new_path": "fs/afs/vlclient.c"
    },
    {
      "type": "modify",
      "old_id": "018bd04ae0e19ad02f3d8b14dc2a92686bd36f72",
      "old_mode": 33188,
      "old_path": "fs/afs/volume.c",
      "new_id": "2f27d40f8b6b923de83ded3764f25146731c6994",
      "new_mode": 33188,
      "new_path": "fs/afs/volume.c"
    },
    {
      "type": "modify",
      "old_id": "3ac79150291f288351f38ba22cfb85013375ae69",
      "old_mode": 33188,
      "old_path": "include/net/af_rxrpc.h",
      "new_id": "820dd365a08e5185b958516c3e67e1519a6dc790",
      "new_mode": 33188,
      "new_path": "include/net/af_rxrpc.h"
    },
    {
      "type": "modify",
      "old_id": "fb17552fd292ef5a67bff1c0da2a19e4ef06c6b8",
      "old_mode": 33188,
      "old_path": "net/rxrpc/af_rxrpc.c",
      "new_id": "481f7dc90ba24db0ba4b1d1c149ab1af7ac6a390",
      "new_mode": 33188,
      "new_path": "net/rxrpc/af_rxrpc.c"
    },
    {
      "type": "modify",
      "old_id": "bdece21f313de7d2a0d3bdf3dd1933c8d7a7d0b2",
      "old_mode": 33188,
      "old_path": "net/rxrpc/recvmsg.c",
      "new_id": "e4937b3f36858b34cf06df4c88ca8cafe3a64ec7",
      "new_mode": 33188,
      "new_path": "net/rxrpc/recvmsg.c"
    }
  ]
}
