)]}'
{
  "log": [
    {
      "commit": "02c24a82187d5a628c68edfe71ae60dc135cd178",
      "tree": "c8dbaba4d82e2b20ed4335910a564a1f7d90fcf6",
      "parents": [
        "22735068d53c7115e384bc88dea95b17e76a6839"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Sat Jul 16 20:44:56 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 20:47:59 2011 -0400"
      },
      "message": "fs: push i_mutex and filemap_write_and_wait down into -\u003efsync() handlers\n\nBtrfs needs to be able to control how filemap_write_and_wait_range() is called\nin fsync to make it less of a painful operation, so push down taking i_mutex and\nthe calling of filemap_write_and_wait() down into the -\u003efsync() handlers.  Some\nfile systems can drop taking the i_mutex altogether it seems, like ext3 and\nocfs2.  For correctness sake I just pushed everything down in all cases to make\nsure that we keep the current behavior the same for everybody, and then each\nindividual fs maintainer can make up their mind about what to do from there.\nThanks,\n\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1cea312ad49d9cb964179a784fedb1fcfe396283",
      "tree": "27c45af006b48b1a079698605ea9007398f652b5",
      "parents": [
        "9ed96484311b89360b80a4181d856cbdb21630fd"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Feb 03 17:53:25 2011 +0200"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Tue Mar 15 15:02:51 2011 +0200"
      },
      "message": "exofs: Write sbi-\u003es_nextid as part of the Create command\n\nBefore when creating a new inode, we\u0027d set the sb-\u003es_dirt flag,\nand sometime later the system would write out s_nextid as part\nof the sb_info. Also on inode sync we would force the sb sync\nas well.\n\nDefine the s_nextid as a new partition attribute and set it\nevery time we create a new object.\nAt mount we read it from it\u0027s new place.\n\nWe now never set sb-\u003es_dirt anywhere in exofs. write_super\nis actually never called. The call to exofs_write_super from\nexofs_put_super is also removed because the VFS always calls\n-\u003esync_fs before calling -\u003eput_super twice.\n\nTo stay backward-and-forward compatible we also write the old\ns_nextid in the super_block object at unmount, and support zero\nlength attribute on mount.\n\nThis also fixes a BUG where in layouts when group_width was not\na divisor of EXOFS_SUPER_ID (0x10000) the s_nextid was not read\nfrom the device it was written to. Because of the sliding window\nlayout trick, and because the read was always done from the 0\ndevice but the write was done via the raid engine that might slide\nthe device view. Now we read and write through the raid engine.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "97178b7b6c84bd14660b89474d27931a1ea65c66",
      "tree": "b763cc48e6456b944e7bed877ad2a996809124eb",
      "parents": [
        "a8f1418f9e9bd4c487a7b703ff26c5dd5ceb2bf3"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Thu Nov 25 12:47:15 2010 +0200"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Tue Mar 15 15:02:50 2011 +0200"
      },
      "message": "exofs: simple fsync race fix\n\nIt is incorrect to test inode dirty bits without participating in the inode\nwriteback protocol. Inode writeback sets I_SYNC and clears I_DIRTY_?, then\nwrites out the particular bits, then clears I_SYNC when it is done. BTW. it\nmay not completely write all pages out, so I_DIRTY_PAGES would get set\nagain.\n\nThis is a standard pattern used throughout the kernel\u0027s writeback caches\n(I_SYNC ~\u003d I_WRITEBACK, if that makes it clearer).\n\nAnd so it is not possible to determine an inode\u0027s dirty status just by\nchecking I_DIRTY bits. Especially not for the purpose of data integrity\nsyncs.\n\nMissing the check for these bits means that fsync can complete while\nwriteback to the inode is underway. Inode writeback functions get this\nright, so call into them rather than try to shortcut things by testing\ndirty state improperly.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "c37650161a53c01ddd88587675f9a4adc909a73e",
      "tree": "85821998de9a6723dedc42488b9491db9692d1e3",
      "parents": [
        "81fca444001e5a41ab80ce8cf9a5734c00ec6546"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Oct 06 10:48:20 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 25 21:18:19 2010 -0400"
      },
      "message": "fs: add sync_inode_metadata\n\nAdd a new helper to write out the inode using the writeback code,\nthat is including the correct dirty bit and list manipulation.  A few\nof filesystems already opencode this, and a lot of others should be\nusing it instead of using write_inode_now which also writes out the\ndata.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "bf25db365428dbd182768baa9850bef7afaac80d",
      "tree": "4373037b00459643f0d661672eb6688f80800d72",
      "parents": [
        "682c30ed2165d5694a414d31eac7c63ac5700fb0",
        "5002dd18c5940ce63b917d84f2b852c3b96009bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 09:19:43 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 09:19:43 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.open-osd.org/linux-open-osd\n\n* \u0027for-linus\u0027 of git://git.open-osd.org/linux-open-osd:\n  exofs: Fix groups code when num_devices is not divisible by group_width\n  exofs: Remove useless optimization\n  exofs: exofs_file_fsync and exofs_file_flush correctness\n  exofs: Remove superfluous dependency on buffer_head and writeback\n"
    },
    {
      "commit": "2f246fd0f126f3b3c23a4e6b7109350e83356bd6",
      "tree": "10cc6c830e4ffcc116faaf886e72dd3f0b73d849",
      "parents": [
        "41cce647f8dbe26941bed2158fad0839aab7a294"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Wed Jun 09 18:23:18 2010 +0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:41 2010 -0400"
      },
      "message": "exofs: New truncate sequence\n\nThese changes are crafted based on the similar\nconversion done to ext2 by Nick Piggin.\n\n* Remove the deprecated -\u003etruncate vector. Let exofs_setattr\n  take care of on-disk size updates.\n* Call truncate_pagecache on the unused pages if\n  write_begin/end fails.\n* Cleanup exofs_delete_inode that did stupid inode\n  writes and updates on an inode that will be\n  removed.\n* And finally get rid of exofs_get_block. We never\n  had any blocks it was all for calling nobh_truncate_page.\n  nobh_truncate_page is not actually needed in exofs since\n  the last page is complete and gone, just like all the other\n  pages. There is no partial blocks in exofs.\n\nI\u0027ve tested with this patch, and there are no apparent\nfailures, so far.\n\nCC: Nick Piggin \u003cnpiggin@suse.de\u003e\nCC: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b2848349296f3428850eb34c3a52d586f48d4b04",
      "tree": "481c44078de9425495fbd7201d6d39f89e35d206",
      "parents": [
        "85dc7878c6c2277de2eda2c4d1b11ea5c5b1068a"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Mon May 31 18:02:39 2010 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Wed Aug 04 13:17:56 2010 +0300"
      },
      "message": "exofs: exofs_file_fsync and exofs_file_flush correctness\n\nAs per Christoph advise: no need to call filemap_write_and_wait().\nIn exofs all metadata is at the inode so just writing the inode is\nall is needed. -\u003efsync implies this must be done synchronously.\n\nBut now exofs_file_fsync can not be used by exofs_file_flush.\nvfs_fsync() should do that job correctly.\n\nFIXME: remove the sb_sync and fix that sb_update better.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "7ea8085910ef3dd4f3cad6845aaa2b580d39b115",
      "tree": "d9c1edb5906f943f7d70bfb4b65106e29772d379",
      "parents": [
        "cc967be54710d97c05229b2e5ba2d00df84ddd64"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed May 26 17:53:25 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:05:02 2010 -0400"
      },
      "message": "drop unused dentry argument to -\u003efsync\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "baaf94cdc7fe1c61e3c660a3b055724fd9d0a034",
      "tree": "b6f1704f38e39801df39b231e19b514d3b4b0ddf",
      "parents": [
        "27d2e1491985e95c486d991302e399f5c584b4eb"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun Jun 14 16:52:10 2009 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun Jun 21 17:53:47 2009 +0300"
      },
      "message": "exofs: Avoid using file_fsync()\n\nThe use of file_fsync() in exofs_file_sync() is not necessary since it\ndoes some extra stuff not used by exofs. Open code just the parts that\nare currently needed.\n\nTODO: Farther optimization can be done to sync the sb only on inode\nupdate of new files, Usually the sb update is not needed in exofs.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "27d2e1491985e95c486d991302e399f5c584b4eb",
      "tree": "7f978b04cbabebe44108f246d7002c60ad9fdd35",
      "parents": [
        "b76a3f93d01fc93a87cb6eba4e854ffe378b4bac"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun Jun 14 17:23:09 2009 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun Jun 21 17:53:47 2009 +0300"
      },
      "message": "exofs: Remove IBM copyrights\n\nBoaz,\nCongrats on getting all the OSD stuff into 2.6.30!\nI just pulled the git, and saw that the IBM copyrights are still there.\nPlease remove them from all files:\n * Copyright (C) 2005, 2006\n * International Business Machines\n\nIBM has revoked all rights on the code - they gave it to me.\n\nThanks!\nAvishay\n\nSigned-off-by: Avishay Traeger \u003cavishay@gmail.com\u003e\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "e806271916ed6068a0e3e4e9298dff0688b88e0d",
      "tree": "53669f4a55fecd82d289c035712d416e5b8dce35",
      "parents": [
        "b14f8ab2844987f013253dd04b708bde7fc1b52d"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Mon Oct 27 18:37:02 2008 +0200"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Tue Mar 31 19:44:24 2009 +0300"
      },
      "message": "exofs: file and file_inode operations\n\nimplementation of the file_operations and inode_operations for\nregular data files.\n\nMost file_operations are generic vfs implementations except:\n- exofs_truncate will truncate the OSD object as well\n- Generic file_fsync is not good for none_bd devices so open code it\n- The default for .flush in Linux is todo nothing so call exofs_fsync\n  on the file.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    }
  ]
}
