)]}'
{
  "log": [
    {
      "commit": "111ebb6e6f7bd7de6d722c5848e95621f43700d9",
      "tree": "bb00b13001db9be201e9b6d31468a79f4d1240bf",
      "parents": [
        "4c91c3648c620003cb7b21b8858f36cd6132e168"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Fri Jun 23 02:03:26 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:49 2006 -0700"
      },
      "message": "[PATCH] writeback: fix range handling\n\nWhen a writeback_control\u0027s `start\u0027 and `end\u0027 fields are used to\nindicate a one-byte-range starting at file offset zero, the required\nvalues of .start\u003d0,.end\u003d0 mean that the -\u003ewritepages() implementation\nhas no way of telling that it is being asked to perform a range\nrequest.  Because we\u0027re currently overloading (start \u003d\u003d 0 \u0026\u0026 end \u003d\u003d 0)\nto mean \"this is not a write-a-range request\".\n\nTo make all this sane, the patch changes range of writeback_control.\n\nSo caller does: If it is calling -\u003ewritepages() to write pages, it\nsets range (range_start/end or range_cyclic) always.\n\nAnd if range_cyclic is true, -\u003ewritepages() thinks the range is\ncyclic, otherwise it just uses range_start and range_end.\n\nThis patch does,\n\n    - Add LLONG_MAX, LLONG_MIN, ULLONG_MAX to include/linux/kernel.h\n      -1 is usually ok for range_end (type is long long). But, if someone did,\n\n\t\trange_end +\u003d val;\t\trange_end is \"val - 1\"\n\t\tu64val \u003d range_end \u003e\u003e bits;\tu64val is \"~(0ULL)\"\n\n      or something, they are wrong. So, this adds LLONG_MAX to avoid nasty\n      things, and uses LLONG_MAX for range_end.\n\n    - All callers of -\u003ewritepages() sets range_start/end or range_cyclic.\n\n    - Fix updates of -\u003ewriteback_index. It seems already bit strange.\n      If it starts at 0 and ended by check of nr_to_write, this last\n      index may reduce chance to scan end of file.  So, this updates\n      -\u003ewriteback_index only if range_cyclic is true or whole-file is\n      scanned.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Nathan Scott \u003cnathans@sgi.com\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: \"Vladimir V. Saveliev\" \u003cvs@namesys.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5246d0503130fa58904c8beb987fcf93b96d8ab6",
      "tree": "c807f1bba6a1d5abf0b3a9f221bc3e49ca5810c8",
      "parents": [
        "8833d328caf009f8da58337e17a2cf5d52993a7c"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Mon Apr 10 22:53:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:40 2006 -0700"
      },
      "message": "[PATCH] sync_file_range(): use unsigned for flags\n\nUlrich suggested that the `flags\u0027 arg to sync_file_range() become unsigned.\n\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f79e2abb9bd452d97295f34376dedbec9686b986",
      "tree": "56b9998caa11983556e842fb9a8143d86d765fa3",
      "parents": [
        "d6dfd1310d3562698fd7c3c086f6c239f96394ac"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 31 02:30:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:54 2006 -0800"
      },
      "message": "[PATCH] sys_sync_file_range()\n\nRemove the recently-added LINUX_FADV_ASYNC_WRITE and LINUX_FADV_WRITE_WAIT\nfadvise() additions, do it in a new sys_sync_file_range() syscall instead.\nReasons:\n\n- It\u0027s more flexible.  Things which would require two or three syscalls with\n  fadvise() can be done in a single syscall.\n\n- Using fadvise() in this manner is something not covered by POSIX.\n\nThe patch wires up the syscall for x86.\n\nThe sycall is implemented in the new fs/sync.c.  The intention is that we can\nmove sys_fsync(), sys_fdatasync() and perhaps sys_sync() into there later.\n\nDocumentation for the syscall is in fs/sync.c.\n\nA test app (sync_file_range.c) is in\nhttp://www.zip.com.au/~akpm/linux/patches/stuff/ext3-tools.tar.gz.\n\nThe available-to-GPL-modules do_sync_file_range() is for knfsd: \"A COMMIT can\nsay NFS_DATA_SYNC or NFS_FILE_SYNC.  I can skip the -\u003efsync call for\nNFS_DATA_SYNC which is hopefully the more common.\"\n\nNote: the `async\u0027 writeout mode SYNC_FILE_RANGE_WRITE will turn synchronous if\nthe queue is congested.  This is trivial to fix: add a new flag bit, set\nwbc-\u003enonblocking.  But I\u0027m not sure that we want to expose implementation\ndetails down to that level.\n\nNote: it\u0027s notable that we can sync an fd which wasn\u0027t opened for writing.\nSame with fsync() and fdatasync()).\n\nNote: the code takes some care to handle attempts to sync file contents\noutside the 16TB offset on 32-bit machines.  It makes such attempts appear to\nsucceed, for best 32-bit/64-bit compatibility.  Perhaps it should make such\nrequests fail...\n\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ]
}
