)]}'
{
  "commit": "efac52762b1e3fe3035d29e82d8ee1aebc45e4a7",
  "tree": "3979958b12d4a3b326b657f52f960f013c6cb560",
  "parents": [
    "1e356f9cdfa885c78791d5d6e5d2baef22f01853"
  ],
  "author": {
    "name": "Rumen G. Bogdanovski",
    "email": "rumen@voicecho.com",
    "time": "Wed Nov 07 02:36:55 2007 -0800"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@sunset.davemloft.net",
    "time": "Wed Nov 07 04:15:10 2007 -0800"
  },
  "message": "[IPVS]: Synchronize closing of Connections\n\nThis patch makes the master daemon to sync the connection when it is about\nto close.  This makes the connections on the backup to close or timeout\naccording their state.  Before the sync was performed only if the\nconnection is in ESTABLISHED state which always made the connections to\ntimeout in the hard coded 3 minutes. However the Andy Gospodarek\u0027s patch\n([IPVS]: use proper timeout instead of fixed value) effectively did nothing\nmore than increasing this to 15 minutes (Established state timeout).  So\nthis patch makes use of proper timeout since it syncs the connections on\nstatus changes to FIN_WAIT (2min timeout) and CLOSE (10sec timeout).\nHowever if the backup misses CLOSE hopefully it did not miss FIN_WAIT.\nOtherwise we will just have to wait for the ESTABLISHED state timeout. As\nit is without this patch.  This way the number of the hanging connections\non the backup is kept to minimum. And very few of them will be left to\ntimeout with a long timeout.\n\nThis is important if we want to make use of the fix for the real server\novercommit on master/backup fail-over.\n\nSigned-off-by: Rumen G. Bogdanovski \u003crumen@voicecho.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1fd1ee896f39dbb04d6d0a2ecd0c9c6511a14722",
      "old_mode": 33188,
      "old_path": "include/net/ip_vs.h",
      "new_id": "67ea2c0c0ab75a1fb1a40dd31c734c6326f73cca",
      "new_mode": 33188,
      "new_path": "include/net/ip_vs.h"
    },
    {
      "type": "modify",
      "old_id": "c6ed7654e839c652ccce23a4064b104b85435eeb",
      "old_mode": 33188,
      "old_path": "net/ipv4/ipvs/ip_vs_core.c",
      "new_id": "20c884a57721b472ec1c5e756aac3f38b703827d",
      "new_mode": 33188,
      "new_path": "net/ipv4/ipvs/ip_vs_core.c"
    },
    {
      "type": "modify",
      "old_id": "b1694d67abb99b966fd76ef461a9fd94c561c32b",
      "old_mode": 33188,
      "old_path": "net/ipv4/ipvs/ip_vs_sync.c",
      "new_id": "bd930efc18dabb27e0058adc97d20900b02a4ef2",
      "new_mode": 33188,
      "new_path": "net/ipv4/ipvs/ip_vs_sync.c"
    }
  ]
}
