)]}'
{
  "log": [
    {
      "commit": "3725867dccfb83e4b0cff64e916a04258f300591",
      "tree": "5c7f888895bf63994a85a02658f1a3433b2dccae",
      "parents": [
        "bc990f5cb424cdca9dda866785d088e2c2110ecc"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Sep 01 14:03:08 2009 -0400"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Tue Sep 01 17:00:46 2009 -0500"
      },
      "message": "xfs: actually enable the swapext compat handler\n\nFix a small typo in the compat ioctl handler that cause the swapext\ncompat handler to never be called.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Torsten Kaiser \u003cjust.for.lkml@googlemail.com\u003e\nTested-by: Torsten Kaiser \u003cjust.for.lkml@googlemail.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "bc990f5cb424cdca9dda866785d088e2c2110ecc",
      "tree": "4264beb9538533d136e41f0e93933160fe925008",
      "parents": [
        "894ef820b10d77e2d6d717342fc408bdd9825139"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sun Aug 16 20:36:34 2009 -0400"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Mon Aug 17 01:23:48 2009 -0500"
      },
      "message": "xfs: fix locking in xfs_iget_cache_hit\n\nThe locking in xfs_iget_cache_hit currently has numerous problems:\n\n - we clear the reclaim tag without i_flags_lock which protects\n   modifications to it\n - we call inode_init_always which can sleep with pag_ici_lock\n   held (this is oss.sgi.com BZ #819)\n - we acquire and drop i_flags_lock a lot and thus provide no\n   consistency between the various flags we set/clear under it\n\nThis patch fixes all that with a major revamp of the locking in\nthe function.  The new version acquires i_flags_lock early and\nonly drops it once we need to call into inode_init_always or before\ncalling xfs_ilock.\n\nThis patch fixes a bug seen in the wild where we race modifying the\nreclaim tag.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "78efd1ddd95d2fac1ed8d5fadd9dab885ea70e55",
      "tree": "c1f6fc2afe93250f7dd5e37f3ee1f57281b19bf0",
      "parents": [
        "b637dc0dba6a243da2c74f5d02b42ba5eeb9425e",
        "a8914f3a6d72c97328597a556a99daaf5cc288ae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 12 08:49:35 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 12 08:49:35 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: fix spin_is_locked assert on uni-processor builds\n  xfs: check for dinode realtime flag corruption\n  use XFS_CORRUPTION_ERROR in xfs_btree_check_sblock\n  xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_get\n  xfs: switch to NOFS allocation under i_lock in xfs_readlink_bmap\n  xfs: switch to NOFS allocation under i_lock in xfs_attr_rmtval_set\n  xfs: switch to NOFS allocation under i_lock in xfs_buf_associate_memory\n  xfs: switch to NOFS allocation under i_lock in xfs_dir_cilookup_result\n  xfs: switch to NOFS allocation under i_lock in xfs_da_buf_make\n  xfs: switch to NOFS allocation under i_lock in xfs_da_state_alloc\n  xfs: switch to NOFS allocation under i_lock in xfs_getbmap\n  xfs: avoid memory allocation under m_peraglock in growfs code\n"
    },
    {
      "commit": "36fae17a648e0aee5d9560514d08477ef48dc87f",
      "tree": "ac01d872ec2f654e2c305485e79e95d05ccb0c27",
      "parents": [
        "3f52c2f0a07c23771909cc53f2e9451a7f1bf253"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Jul 18 18:14:58 2009 -0400"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Aug 12 01:07:38 2009 -0500"
      },
      "message": "xfs: switch to NOFS allocation under i_lock in xfs_buf_associate_memory\n\nxfs_buf_associate_memory is used for setting up the spare buffer for the\nlog wrap case in xlog_sync which can happen under i_lock when called from\nxfs_fsync. The i_lock mutex is taken in reclaim context so all allocations\nunder it must avoid recursions into the filesystem.  There are a couple\nmore uses of xfs_buf_associate_memory in the log recovery code that are\nalso affected by this, but I\u0027d rather keep the code simple than passing on\na gfp_mask argument.  Longer term we should just stop requiring the memoery\nallocation in xlog_sync by some smaller rework of the buffer layer.\n\nReported by the new reclaim context tracing in lockdep.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "f5266cbd2fca04dbd0387a67f550b6667ffa4ed2",
      "tree": "ee3c3a8d92fc1745d63baa6e069959694a11dbe4",
      "parents": [
        "a5bc92cdf2ab27a15732976004b3755c40740f57",
        "c8a4051c3731b6db224482218cfd535ab9393ff8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 31 12:17:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 31 12:17:37 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: bump up nr_to_write in xfs_vm_writepage\n  xfs: reduce bmv_count in xfs_vn_fiemap\n"
    },
    {
      "commit": "c8a4051c3731b6db224482218cfd535ab9393ff8",
      "tree": "78b326f229fd670e37e1eb08f89bede4260aec95",
      "parents": [
        "97db39a1f6f69e906e98118392400de5217aa33a"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Fri Jul 31 00:02:17 2009 -0500"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Fri Jul 31 00:57:11 2009 -0500"
      },
      "message": "xfs: bump up nr_to_write in xfs_vm_writepage\n\nVM calculation for nr_to_write seems off.  Bump it way\nup, this gets simple streaming writes zippy again.\nTo be reviewed again after Jens\u0027 writeback changes.\n\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "97db39a1f6f69e906e98118392400de5217aa33a",
      "tree": "f5735b99542d8d31dcad907294c5cf7a0657b563",
      "parents": [
        "fd40261354802b0f05f6f67121235aa002e87069"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Sun Jul 26 21:52:01 2009 -0500"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Fri Jul 31 00:56:58 2009 -0500"
      },
      "message": "xfs: reduce bmv_count in xfs_vn_fiemap\n\ncommit 6321e3ed2acf3ee9643cdd403e1c88605d7944ba caused\nthe full bmv_count\u0027s worth of getbmapx structures to get\nallocated; telling it to do MAXEXTNUM was a bit insane,\nresulting in ENOMEM every time.\n\nChop it down to something reasonable, the number of slots\nin the caller\u0027s input buffer.  If this is too large the\ncaller may get ENOMEM but the reason should not be a\nmystery, and they can try again with something smaller.\n\nWe add 1 to the value because in the normal getbmap\nworld, bmv_count includes the header and xfs_getbmap does:\n\n        nex \u003d bmv-\u003ebmv_count - 1;\n        if (nex \u003c\u003d 0)\n                return XFS_ERROR(EINVAL);\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Olaf Weber \u003colaf@sgi.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "405f55712dfe464b3240d7816cc4fe4174831be2",
      "tree": "96c425ea7fa8b31058b8f83a433c5e5265c8ebc7",
      "parents": [
        "f9fabcb58a6d26d6efde842d1703ac7cfa9427b6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jul 11 22:08:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 12 12:22:34 2009 -0700"
      },
      "message": "headers: smp_lock.h redux\n\n* Remove smp_lock.h from files which don\u0027t need it (including some headers!)\n* Add smp_lock.h to files which do need it\n* Make smp_lock.h include conditional in hardirq.h\n  It\u0027s needed only for one kernel_locked() usage which is under CONFIG_PREEMPT\n\n  This will make hardirq.h inclusion cheaper for every PREEMPT\u003dn config\n  (which includes allmodconfig/allyesconfig, BTW)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8aa7e847d834ed937a9ad37a0f2ad5b8584c1ab0",
      "tree": "76c8b4f1362a928d426f2201790ab5d128f57724",
      "parents": [
        "c2cc49a2f8a479dde96a599646d30b6cc9dbed78"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jul 09 14:52:32 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.(none)",
        "time": "Fri Jul 10 20:31:53 2009 +0200"
      },
      "message": "Fix congestion_wait() sync/async vs read/write confusion\n\nCommit 1faa16d22877f4839bd433547d770c676d1d964c accidentally broke\nthe bdi congestion wait queue logic, causing us to wait on congestion\nfor WRITE (\u003d\u003d 1) when we really wanted BLK_RW_ASYNC (\u003d\u003d 0) instead.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1cbd20d820c36f52543e3e4cd0067ebf52aa388f",
      "tree": "51d53ee4b6f79031eb493d7d2f2a57a7be3a3955",
      "parents": [
        "073aaa1b142461d91f83da66db1184d7c1b1edea"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 09 13:29:39 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jun 24 08:17:07 2009 -0400"
      },
      "message": "switch xfs to generic acl caching helpers\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "90c699a9ee4be165966d40f1837909ccb8890a68",
      "tree": "ff136ce7b73c7d7bbf5eb4241d01cb3b930d3566",
      "parents": [
        "3a02c8e8142f7f133d4c6e72bc3e1d830e6b8b9e"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jun 19 08:08:50 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 19 08:08:50 2009 +0200"
      },
      "message": "block: rename CONFIG_LBD to CONFIG_LBDAF\n\nFollow-up to \"block: enable by default support for large devices\nand files on 32-bit archs\".\n\nRename CONFIG_LBD to CONFIG_LBDAF to:\n- allow update of existing [def]configs for \"default y\" change\n- reflect that it is used also for large files support nowadays\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "fd40261354802b0f05f6f67121235aa002e87069",
      "tree": "935f23fa1528f6fe5a078383c9343907ea27fbb3",
      "parents": [
        "f3ad116588151b3371ae4e092290e4f48e62b8bb",
        "e83f1eb6bfc4004c19a99ee5f5aa65bd3fbecec3"
      ],
      "author": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Fri Jun 12 21:28:59 2009 -0500"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Fri Jun 12 21:28:59 2009 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://oss.sgi.com/xfs/xfs into for-linus\n"
    },
    {
      "commit": "e83f1eb6bfc4004c19a99ee5f5aa65bd3fbecec3",
      "tree": "24e6783973cb580a1074c4689b4978bff29c2167",
      "parents": [
        "493b87e5ed352cf548e6456ddfc36576e28278ea"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Jun 12 11:19:11 2009 -0400"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Fri Jun 12 21:15:31 2009 -0500"
      },
      "message": "xfs: fix small mismerge in xfs_vn_mknod\n\nIdentation got messed up when merging the current_umask changes with\nthe generic ACL support.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "f95022161d23ee661a48af8f280472209f513a67",
      "tree": "9e7c8455e4126b1dd5586ae973ad16c17653f5b3",
      "parents": [
        "13205fb9260c2377438599ef0773c6a3eaeb0b07"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 05 12:26:23 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:10 2009 -0400"
      },
      "message": "xfs: remove -\u003ewrite_super and stop maintaining -\u003es_dirt\n\nthe write_super method is used for\n\n (1) writing back the superblock periodically from pdflush\n (2) called just before -\u003esync_fs for data integerity syncs\n\nWe don\u0027t need (1) because we have our own peridoc writeout through xfssyncd,\nand we don\u0027t need (2) because xfs_fs_sync_fs performs a proper synchronous\nsuperblock writeout after all other data and metadata has been written out.\n\nAlso remove -\u003es_dirt tracking as it\u0027s only used to decide when too call\n-\u003ewrite_super.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "35fd035968de4f674b9d62ee7b1d80ab7a50c384",
      "tree": "53a936ecdf8e9c59735fa4e7794ccb503b06d5d5",
      "parents": [
        "4e73e0eb633f8a1b5cbf20e7f42c6dbfec1d1ca7",
        "ef14f0c1578dce4b688726eb2603e50b62d6665a"
      ],
      "author": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Thu Jun 11 16:56:49 2009 -0500"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Thu Jun 11 16:56:49 2009 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/fs/xfs/xfs\n"
    },
    {
      "commit": "c9059598ea8981d02356eead3188bf7fa4d717b8",
      "tree": "03e73b20a30e988da7c6a3e0ad93b2dc5843274d",
      "parents": [
        "0a33f80a8373eca7f4bea3961d1346c3815fa5ed",
        "b0fd271d5fba0b2d00888363f3869e3f9b26caa9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 10:52:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 11:10:35 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.31\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.31\u0027 of git://git.kernel.dk/linux-2.6-block: (153 commits)\n  block: add request clone interface (v2)\n  floppy: fix hibernation\n  ramdisk: remove long-deprecated \"ramdisk\u003d\" boot-time parameter\n  fs/bio.c: add missing __user annotation\n  block: prevent possible io_context-\u003erefcount overflow\n  Add serial number support for virtio_blk, V4a\n  block: Add missing bounce_pfn stacking and fix comments\n  Revert \"block: Fix bounce limit setting in DM\"\n  cciss: decode unit attention in SCSI error handling code\n  cciss: Remove no longer needed sendcmd reject processing code\n  cciss: change SCSI error handling routines to work with interrupts enabled.\n  cciss: separate error processing and command retrying code in sendcmd_withirq_core()\n  cciss: factor out fix target status processing code from sendcmd functions\n  cciss: simplify interface of sendcmd() and sendcmd_withirq()\n  cciss: factor out core of sendcmd_withirq() for use by SCSI error handling code\n  cciss: Use schedule_timeout_uninterruptible in SCSI error handling code\n  block: needs to set the residual length of a bidi request\n  Revert \"block: implement blkdev_readpages\"\n  block: Fix bounce limit setting in DM\n  Removed reference to non-existing file Documentation/PCI/PCI-DMA-mapping.txt\n  ...\n\nManually fix conflicts with tracing updates in:\n\tblock/blk-sysfs.c\n\tdrivers/ide/ide-atapi.c\n\tdrivers/ide/ide-cd.c\n\tdrivers/ide/ide-floppy.c\n\tdrivers/ide/ide-tape.c\n\tinclude/trace/events/block.h\n\tkernel/trace/blktrace.c\n"
    },
    {
      "commit": "ef14f0c1578dce4b688726eb2603e50b62d6665a",
      "tree": "5a221081850fab8f96455745e90f4a0e2127bce0",
      "parents": [
        "8b5403a6d772d340541cfb30a668fde119c40ac1"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Jun 10 17:07:47 2009 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Wed Jun 10 17:07:47 2009 +0200"
      },
      "message": "xfs: use generic Posix ACL code\n\nThis patch rips out the XFS ACL handling code and uses the generic\nfs/posix_acl.c code instead.  The ondisk format is of course left\nunchanged.\n\nThis also introduces the same ACL caching all other Linux filesystems do\nby adding pointers to the acl and default acl in struct xfs_inode.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "8b5403a6d772d340541cfb30a668fde119c40ac1",
      "tree": "0a81b174351ca56555d7ccc53ecd76c0b27edcee",
      "parents": [
        "b0710ccc6d9fa8fb908b5f6d1b0782a09d80e24f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Jun 08 15:37:16 2009 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Mon Jun 08 15:37:16 2009 +0200"
      },
      "message": "xfs: remove SYNC_BDFLUSH\n\nSYNC_BDFLUSH is a leftover from IRIX and rather misnamed for todays\ncode.  Make xfs_sync_fsdata and xfs_dq_sync use the SYNC_TRYLOCK flag\nfor not blocking on logs just as the inode sync code already does.\n\nFor xfs_sync_fsdata it\u0027s a trivial 1:1 replacement, but for xfs_qm_sync\nI use the opportunity to decouple the non-blocking lock case from the\ndifferent flushing modes, similar to the inode sync code.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "b0710ccc6d9fa8fb908b5f6d1b0782a09d80e24f",
      "tree": "1cbb8a6e5d1257e4154d2117a61fcc37f54fee0d",
      "parents": [
        "075fe1028699f6a280545dfc2cfc5ac82d555c8c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Jun 08 15:37:11 2009 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Mon Jun 08 15:37:11 2009 +0200"
      },
      "message": "xfs: remove SYNC_IOWAIT\n\nWe want to wait for all I/O to finish when we do data integrity syncs.  So\nthere is no reason to keep SYNC_WAIT separate from SYNC_IOWAIT.  This\ncauses a little change in behaviour for the ENOSPC flushing code which now\ndoes a second submission and wait of buffered I/O, but that should finish\nASAP as we already did an asynchronous writeout earlier.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Josef \u0027Jeff\u0027 Sipek \u003cjeffpc@josefsipek.net\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "075fe1028699f6a280545dfc2cfc5ac82d555c8c",
      "tree": "af17172ddc4d97d73b6a9a39f6dcf0ca2659fcdc",
      "parents": [
        "fe588ed32867b42e0d906db558ca92fd9f8b128e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Jun 08 15:35:48 2009 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Mon Jun 08 15:35:48 2009 +0200"
      },
      "message": "xfs: split xfs_sync_inodes\n\nxfs_sync_inodes is used to write back either file data or inode metadata.\nIn general we always do these separately, except for one fishy case in\nxfs_fs_put_super that does both.  So separate xfs_sync_inodes into\nseparate xfs_sync_data and xfs_sync_attr functions.  In xfs_fs_put_super\nwe first call the data sync and then the attr sync as that was the previous\norder.  The moved log force in that path doesn\u0027t make a difference because\nwe will force the log again as part of the real unmount process.\n\nThe filesystem readonly checks are not performed by the new function but\ninstead moved into the callers, given that most callers alredy have it\nfurther up in the stack.  Also add debug checks that we do not pass in\nincorrect flags in the new xfs_sync_data and xfs_sync_attr function and\nfix the one place that did pass in a wrong flag.\n\nAlso remove a comment mentioning xfs_sync_inodes that has been incorrect\nfor a while because we always take either the iolock or ilock in the\nsync path these days.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "fe588ed32867b42e0d906db558ca92fd9f8b128e",
      "tree": "4d5c6a5e34ebf1a0c2a82d3d1c08c272d5823264",
      "parents": [
        "75f3cb1393133682958db6f157e1b6473e5a366b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Jun 08 15:35:27 2009 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Mon Jun 08 15:35:27 2009 +0200"
      },
      "message": "xfs: use generic inode iterator in xfs_qm_dqrele_all_inodes\n\nUse xfs_inode_ag_iterator instead of opencoding the inode walk in the\nquota code.  Mark xfs_inode_ag_iterator and xfs_sync_inode_valid non-static\nto allow using them from the quota code.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Josef \u0027Jeff\u0027 Sipek \u003cjeffpc@josefsipek.net\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "75f3cb1393133682958db6f157e1b6473e5a366b",
      "tree": "e2e22c20c20e7d37e64b8f7fa4148253be01364a",
      "parents": [
        "abc1064742604e60a47a65fa3214dc1a84db093d"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Mon Jun 08 15:35:14 2009 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Mon Jun 08 15:35:14 2009 +0200"
      },
      "message": "xfs: introduce a per-ag inode iterator\n\nGiven that we walk across the per-ag inode lists so often, it makes sense to\nintroduce an iterator for this.\n\nConvert the sync and reclaim code to use this new iterator, quota code will\nfollow in the next patch.\n\nAlso change xfs_reclaim_inode to return -EGAIN instead of 1 for an inode\nalready under reclaim.  This simplifies the AG iterator and doesn\u0027t\nmatter for the only other caller.\n\n[hch: merged the lookup and execute callbacks back into one to get the\n pag_ici_lock locking correct and simplify the code flow]\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "abc1064742604e60a47a65fa3214dc1a84db093d",
      "tree": "eeefefeaae0783b8943e99b68b27547c575d5194",
      "parents": [
        "1da8eecab5f866b4f5be43adbaadf18e259a8cc5"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Mon Jun 08 15:35:12 2009 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Mon Jun 08 15:35:12 2009 +0200"
      },
      "message": "xfs: remove unused parameter from xfs_reclaim_inodes\n\nThe noblock parameter of xfs_reclaim_inodes is only ever set to zero. Remove\nit and all the conditional code that is never executed.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "1da8eecab5f866b4f5be43adbaadf18e259a8cc5",
      "tree": "0edb76f83331e1844e01e451afe5eb67774bf6d4",
      "parents": [
        "845b6d0cbbc2304e8a54ed4038272c55f85b2269"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Mon Jun 08 15:35:07 2009 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Mon Jun 08 15:35:07 2009 +0200"
      },
      "message": "xfs: factor out inode validation for sync\n\nSeparate the validation of inodes found by the radix\ntree walk from the radix tree lookup.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "845b6d0cbbc2304e8a54ed4038272c55f85b2269",
      "tree": "1c8e9270f7e78a0525f1873cef4d017618e06632",
      "parents": [
        "5a34d5cd096310133f9208db294021208a96660d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Jun 08 15:35:05 2009 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Mon Jun 08 15:35:05 2009 +0200"
      },
      "message": "xfs: split inode flushing from xfs_sync_inodes_ag\n\nIn many cases we only want to sync inode metadata. Split out the inode\nflushing into a separate helper to prepare factoring the inode sync code.\n\nBased on a patch from Dave Chinner, but redone to keep the current behaviour\nexactly and leave changes to the flushing logic to another patch.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "5a34d5cd096310133f9208db294021208a96660d",
      "tree": "66485ce654aada42bc41bd7b20fcf1a083d9aa0b",
      "parents": [
        "7d095257e321214e4cf359abd131ba1f09c60cba"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Mon Jun 08 15:35:03 2009 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Mon Jun 08 15:35:03 2009 +0200"
      },
      "message": "xfs: split inode data writeback from xfs_sync_inodes_ag\n\nIn many cases we only want to sync inode data. Start spliting the inode sync\ninto data sync and inode sync by factoring out the inode data flush.\n\n[hch: minor cleanups]\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "7d095257e321214e4cf359abd131ba1f09c60cba",
      "tree": "3f71e2650651616f8ba168b64a82ab48aedef14c",
      "parents": [
        "0c5e1ce89f1eacc366ec421c0f5f681159479c28"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Jun 08 15:33:32 2009 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Mon Jun 08 15:33:32 2009 +0200"
      },
      "message": "xfs: kill xfs_qmops\n\nKill the quota ops function vector and replace it with direct calls or\nstubs in the CONFIG_XFS_QUOTA\u003dn case.\n\nMake sure we check XFS_IS_QUOTA_RUNNING in the right spots.  We can remove\nthe number of those checks because the XFS_TRANS_DQ_DIRTY flag can\u0027t be set\notherwise.\n\nThis brings us back closer to the way this code worked in IRIX and earlier\nLinux versions, but we keep a lot of the more useful factoring of common\ncode.\n\nEventually we should also kill xfs_qm_bhv.c, but that\u0027s left for a later\npatch.\n\nReduces the size of the source code by about 250 lines and the size of\nXFS module by about 1.5 kilobytes with quotas enabled:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n 615957\t   2960\t   3848\t 622765\t  980ad\tfs/xfs/xfs.o\n 617231\t   3152\t   3848\t 624231\t  98667\tfs/xfs/xfs.o.old\n\nFallout:\n\n - xfs_qm_dqattach is split into xfs_qm_dqattach_locked which expects\n   the inode locked and xfs_qm_dqattach which does the locking around it,\n   thus removing XFS_QMOPT_ILOCKED.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "4157fd85fc794bb7896b65c0cf686aa89d711d57",
      "tree": "4ba3ebbea7bcaaa6d7a4ad1c5501c3c4a8d08745",
      "parents": [
        "e7c4f03b839ba4b64ce0a7c71d71a8e1b086c840",
        "1b17d766463d51904cb242f194a780737e5f73ef"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 02 09:47:21 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 02 09:47:21 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: prevent deadlock in xfs_qm_shake()\n  xfs: fix overflow in xfs_growfs_data_private\n  xfs: fix double unlock in xfs_swap_extents()\n"
    },
    {
      "commit": "1b17d766463d51904cb242f194a780737e5f73ef",
      "tree": "25d43875b8c539d080141479a0695ab1ff24965c",
      "parents": [
        "e6da7c9fed111ba1243297ee6eda8e24ae11c384"
      ],
      "author": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Mon Jun 01 13:13:24 2009 -0500"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Mon Jun 01 22:59:45 2009 -0500"
      },
      "message": "xfs: prevent deadlock in xfs_qm_shake()\n\nIt\u0027s possible to recurse into filesystem from the memory\nallocation, which deadlocks in xfs_qm_shake(). Add check\nfor __GFP_FS, and bail out if it is not set.\n\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Hedi Berriche \u003chedi@sgi.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "4156e735d3abde8e9243b5d22f7999dd3fffab2e",
      "tree": "d69552f9eafbe62715366d7c9617259e7eeff672",
      "parents": [
        "096324873f9c7172a17aff9db1356f4f01b77afe"
      ],
      "author": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Mon Jun 01 13:13:24 2009 -0500"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Mon Jun 01 13:13:24 2009 -0500"
      },
      "message": "xfs: prevent deadlock in xfs_qm_shake()\n\nIt\u0027s possible to recurse into filesystem from the memory\nallocation, which deadlocks in xfs_qm_shake(). Add check\nfor __GFP_FS, and bail out if it is not set.\n\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Hedi Berriche \u003chedi@sgi.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "e1defc4ff0cf57aca6c5e3ff99fa503f5943c1f1",
      "tree": "d60d15a082171c58ac811d547d51a9c3119f23e3",
      "parents": [
        "9bd7de51ee8537094656149eaf45338cadb7d7d4"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri May 22 17:17:49 2009 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 22 23:22:54 2009 +0200"
      },
      "message": "block: Do away with the notion of hardsect_size\n\nUntil now we have had a 1:1 mapping between storage device physical\nblock size and the logical block sized used when addressing the device.\nWith SATA 4KB drives coming out that will no longer be the case.  The\nsector size will be 4KB but the logical block size will remain\n512-bytes.  Hence we need to distinguish between the physical block size\nand the logical ditto.\n\nThis patch renames hardsect_size to logical_block_size.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0e639bdeef26faf287db77a15530f3f295a4ae04",
      "tree": "b5f15e44cd974561a426fc2e07c792255b1328cb",
      "parents": [
        "1c8542c7bb239ef02fe21477acd9cdac04c1b640"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 08 15:08:04 2009 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:02:51 2009 -0400"
      },
      "message": "xfs: use memdup_user()\n\nRemove open-coded memdup_user()\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3c1795cc4bd9d57281bebc314315b8afa217b9c7",
      "tree": "97972fe4970e5074ec3944c7cd5179fb2bfe5b36",
      "parents": [
        "80a04d3f2f94fb68b5df05e3ac6697130bc3467a",
        "dc2a5536d633dd2318f82f3d5ad3c9e43cfc21d7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 13 14:35:13 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 13 14:35:13 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: remove xfs_flush_space\n  xfs: flush delayed allcoation blocks on ENOSPC in create\n  xfs: block callers of xfs_flush_inodes() correctly\n  xfs: make inode flush at ENOSPC synchronous\n  xfs: use xfs_sync_inodes() for device flushing\n  xfs: inform the xfsaild of the push target before sleeping\n  xfs: prevent unwritten extent conversion from blocking I/O completion\n  xfs: fix double free of inode\n  xfs: validate log feature fields correctly\n"
    },
    {
      "commit": "dc2a5536d633dd2318f82f3d5ad3c9e43cfc21d7",
      "tree": "20b68d90d175eb9f07cf19b2e8be4011a8e8e6e5",
      "parents": [
        "f36345ff9a4a77f2cc576a2777b6256d5c8798fa",
        "8de2bf937a6bea8f0f775fd5399ba20c1a0c3d77"
      ],
      "author": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Thu Apr 09 14:12:07 2009 -0500"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Thu Apr 09 14:12:07 2009 -0500"
      },
      "message": "Merge branch \u0027master\u0027 into for-linus\n"
    },
    {
      "commit": "e43afd72d2455defd63a3f94f22fa09b586e58ed",
      "tree": "a883a748374d5f63bf030dcf445723a901f88357",
      "parents": [
        "5825294edd3364cbba6514f70d88debec4f6cec7"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Mon Apr 06 18:47:27 2009 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Mon Apr 06 18:47:27 2009 +0200"
      },
      "message": "xfs: block callers of xfs_flush_inodes() correctly\n\nxfs_flush_inodes() currently uses a magic timeout to wait for\nsome inodes to be flushed before returning. This isn\u0027t\nreally reliable but used to be the best that could be done\ndue to deadlock potential of waiting for the entire flush.\n\nNow the inode flush is safe to execute while we hold page\nand inode locks, we can wait for all the inodes to flush\nsynchronously. Convert the wait mechanism to a completion\nto do this efficiently. This should remove all remaining\nspurious ENOSPC errors from the delayed allocation reservation\npath.\n\nThis is extracted almost line for line from a larger patch\nfrom Mikulas Patocka.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "5825294edd3364cbba6514f70d88debec4f6cec7",
      "tree": "5462388cdb6b36b2f0f1cf75dc6ee60a7c643a23",
      "parents": [
        "a8d770d987ee20b59fba6c37d7f0f2a351913c4b"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Mon Apr 06 18:45:44 2009 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Mon Apr 06 18:45:44 2009 +0200"
      },
      "message": "xfs: make inode flush at ENOSPC synchronous\n\nWhen we are writing to a single file and hit ENOSPC, we trigger a background\nflush of the inode and try again.  Because we hold page locks and the iolock,\nthe flush won\u0027t proceed until after we release these locks. This occurs once\nwe\u0027ve given up and ENOSPC has been reported. Hence if this one is the only\ndirty inode in the system, we\u0027ll get an ENOSPC prematurely.\n\nTo fix this, remove the async flush from the allocation routines and move\nit to the top of the write path where we can do a synchronous flush\nand retry the write again. Only retry once as a second ENOSPC indicates\nthat we really are ENOSPC.\n\nThis avoids a page cache deadlock when trying to do this flush synchronously\nin the allocation layer that was identified by Mikulas Patocka.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "a8d770d987ee20b59fba6c37d7f0f2a351913c4b",
      "tree": "3da37edba537ca5860eae97f47fb1204bc5a55b3",
      "parents": [
        "9d7fef74b23fe57803c5f71fab11630d9ec2cb4b"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Mon Apr 06 18:44:54 2009 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Mon Apr 06 18:44:54 2009 +0200"
      },
      "message": "xfs: use xfs_sync_inodes() for device flushing\n\nCurrently xfs_device_flush calls sync_blockdev() which is\na no-op for XFS as all it\u0027s metadata is held in a different\naddress to the one sync_blockdev() works on.\n\nCall xfs_sync_inodes() instead to flush all the delayed\nallocation blocks out. To do this as efficiently as possible,\ndo it via two passes - one to do an async flush of all the\ndirty blocks and a second to wait for all the IO to complete.\nThis requires some modification to the xfs-sync_inodes_ag()\nflush code to do efficiently.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "c626d174cfe38e7f0545d074c299527892cd8c45",
      "tree": "8f7dfa34a77bc415d9dc604d79fbae98ffe47a14",
      "parents": [
        "705db3fd4660174a27418bbcb874d209a76044eb"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Mon Apr 06 18:42:11 2009 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Mon Apr 06 18:42:11 2009 +0200"
      },
      "message": "xfs: prevent unwritten extent conversion from blocking I/O completion\n\nUnwritten extent conversion can recurse back into the filesystem due\nto memory allocation. Memory reclaim requires I/O completions to be\nprocessed to allow the callers to make progress. If the I/O\ncompletion workqueue thread is doing the recursion, then we have a\ndeadlock situation.\n\nMove unwritten extent completion into it\u0027s own workqueue so it\ndoesn\u0027t block I/O completions for normal delayed allocation or\noverwrite data.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "ac7c1a776dfe1a9c83ea7885f858f5f1a144d8af",
      "tree": "4ad3158dd6dc5029a221421ae9a3c339f10c3f10",
      "parents": [
        "3ba113d14cedcd88105a3b9c90f8ecce829e1095",
        "f36345ff9a4a77f2cc576a2777b6256d5c8798fa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 03 09:52:29 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 03 09:52:29 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs: (61 commits)\n  Revert \"xfs: increase the maximum number of supported ACL entries\"\n  xfs: cleanup uuid handling\n  xfs: remove m_attroffset\n  xfs: fix various typos\n  xfs: pagecache usage optimization\n  xfs: remove m_litino\n  xfs: kill ino64 mount option\n  xfs: kill mutex_t typedef\n  xfs: increase the maximum number of supported ACL entries\n  xfs: factor out code to find the longest free extent in the AG\n  xfs: kill VN_BAD\n  xfs: kill vn_atime_* helpers.\n  xfs: cleanup xlog_bread\n  xfs: cleanup xlog_recover_do_trans\n  xfs: remove another leftover of the old inode log item format\n  xfs: cleanup log unmount handling\n  Fix xfs debug build breakage by pushing xfs_error.h after\n  xfs: include header files for prototypes\n  xfs: make symbols static\n  xfs: move declaration to header file\n  ...\n"
    },
    {
      "commit": "8fe74cf053de7ad2124a894996f84fa890a81093",
      "tree": "77dcd8fbf33ce53a3821942233962fb28c6f2848",
      "parents": [
        "c2eb2fa6d2b6fe122d3479ec5b28d978418b2698",
        "ced117c73edc917e96dea7cca98c91383f0792f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 21:09:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 21:09:10 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  Remove two unneeded exports and make two symbols static in fs/mpage.c\n  Cleanup after commit 585d3bc06f4ca57f975a5a1f698f65a45ea66225\n  Trim includes of fdtable.h\n  Don\u0027t crap into descriptor table in binfmt_som\n  Trim includes in binfmt_elf\n  Don\u0027t mess with descriptor table in load_elf_binary()\n  Get rid of indirect include of fs_struct.h\n  New helper - current_umask()\n  check_unsafe_exec() doesn\u0027t care about signal handlers sharing\n  New locking/refcounting for fs_struct\n  Take fs_struct handling to new file (fs/fs_struct.c)\n  Get rid of bumping fs_struct refcount in pivot_root(2)\n  Kill unsharing fs_struct in __set_personality()\n"
    },
    {
      "commit": "f36345ff9a4a77f2cc576a2777b6256d5c8798fa",
      "tree": "7ae4c607f6baae74060c2e385f744e171fbbf92b",
      "parents": [
        "1aacc064e029f0017384e463121b98f06d3a2cc3",
        "8b53ef33d9d8fa5f771ae11cc6a6e7bc0182beec"
      ],
      "author": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Apr 01 16:58:39 2009 -0500"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Apr 01 16:58:39 2009 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus\n"
    },
    {
      "commit": "c2ec175c39f62949438354f603f4aa170846aabb",
      "tree": "f2c9bf1bec2deabe2d3a5092405b027637b6ead3",
      "parents": [
        "c2fdf3a9b2d52842808a8e551b53b55dd9b45030"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Mar 31 15:23:21 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:14 2009 -0700"
      },
      "message": "mm: page_mkwrite change prototype to match fault\n\nChange the page_mkwrite prototype to take a struct vm_fault, and return\nVM_FAULT_xxx flags.  There should be no functional change.\n\nThis makes it possible to return much more detailed error information to\nthe VM (and also can provide more information eg.  virtual_address to the\ndriver, which might be important in some special cases).\n\nThis is required for a subsequent fix.  And will also make it easier to\nmerge page_mkwrite() with fault() in future.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nCc: Joel Becker \u003cjoel.becker@oracle.com\u003e\nCc: Artem Bityutskiy \u003cdedekind@infradead.org\u003e\nCc: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ce3b0f8d5c2203301fc87f3aaaed73e5819e2a48",
      "tree": "ab952affafe18e604f6aaf6b13315b9435588e60",
      "parents": [
        "f1191b50ec11c8e2ca766d6d99eb5bb9d2c084a3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Mar 29 19:08:22 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 31 23:00:26 2009 -0400"
      },
      "message": "New helper - current_umask()\n\ncurrent-\u003efs-\u003eumask is what most of fs_struct users are doing.\nPut that into a helper function.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "bddaafa11a549fff311bcf2e04bbfb5139812cb7",
      "tree": "88bbe15cf5022c291f003b58bb6659e285cdda25",
      "parents": [
        "6447c36209c4268352d55d04d041396ebb8add4a"
      ],
      "author": {
        "name": "Hisashi Hifumi",
        "email": "hifumi.hisashi@oss.ntt.co.jp",
        "time": "Sun Mar 29 09:53:38 2009 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Sun Mar 29 09:53:38 2009 +0200"
      },
      "message": "xfs: pagecache usage optimization\n\nHi.\n\nI introduced \"is_partially_uptodate\" aops for XFS.\n\nA page can have multiple buffers and even if a page is not uptodate,\nsome buffers can be uptodate on pagesize !\u003d blocksize environment.\n\nThis aops checks that all buffers which correspond to a part of a file\nthat we want to read are uptodate. If so, we do not have to issue actual\nread IO to HDD even if a page is not uptodate because the portion we\nwant to read are uptodate.\n\n\"block_is_partially_uptodate\" function is already used by ext2/3/4.\nWith the following patch random read/write mixed workloads or random read\nafter random write workloads can be optimized and we can get performance\nimprovement.\n\nI did a performance test using the sysbench.\n\n#sysbench --num-threads\u003d4 --max-requests\u003d100000 --test\u003dfileio --file-num\u003d1 \\\n--file-block-size\u003d8K --file-total-size\u003d1G --file-test-mode\u003drndrw \\\n--file-fsync-freq\u003d0 --file-rw-ratio\u003d0.5 run\n\n-2.6.29-rc6\nTest execution summary:\n    total time:                          123.8645s\n    total number of events:              100000\n    total time taken by event execution: 442.4994\n    per-request statistics:\n         min:                            0.0000s\n         avg:                            0.0044s\n         max:                            0.3387s\n         approx.  95 percentile:         0.0118s\n\n-2.6.29-rc6-patched\nTest execution summary:\n    total time:                          108.0757s\n    total number of events:              100000\n    total time taken by event execution: 417.7505\n    per-request statistics:\n         min:                            0.0000s\n         avg:                            0.0042s\n         max:                            0.3217s\n         approx.  95 percentile:         0.0118s\n\narch: ia64\npagesize: 16k\nblocksize: 4k\n\nSigned-off-by: Hisashi Hifumi \u003chifumi.hisashi@oss.ntt.co.jp\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "a19d9f887d81106d52cacbc9930207b487e07e0e",
      "tree": "ad1dc614738e31461385a1fc0de5f949bfea1639",
      "parents": [
        "a0b0b8a5b3cb47892b5984cd86272446bee5f511"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sun Mar 29 09:51:08 2009 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Sun Mar 29 09:51:08 2009 +0200"
      },
      "message": "xfs: kill ino64 mount option\n\nThe ino64 mount option adds a fixed offset to 32bit inode numbers\nto bring them into the 64bit range.  There\u0027s no need for this kind\nof debug tool given that it\u0027s easy to produce real 64bit inode numbers\nfor testing.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "a0b0b8a5b3cb47892b5984cd86272446bee5f511",
      "tree": "d2e4d33edec465ec16f84b4a3aae24351f45d9dd",
      "parents": [
        "61454f33389ecfac68846e07d29c8d18af342c43"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sun Mar 29 09:51:00 2009 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Sun Mar 29 09:51:00 2009 +0200"
      },
      "message": "xfs: kill mutex_t typedef\n\nPeople continue to complain about this for weird reasons, but there\u0027s\nreally no point in keeping this typedef for a couple of users anyway.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "cb4c8cc1e92bc68c952e9a81a9fb9736bd8150de",
      "tree": "e6a7d219800682415989543e5cb197aa7ec04679",
      "parents": [
        "8fab451e3cfe02a5e3dfc4bab3cfb975bc11fc09"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Mar 16 08:25:25 2009 +0100"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Mon Mar 16 08:25:25 2009 +0100"
      },
      "message": "xfs: kill VN_BAD\n\nRemove this rather pointless wrapper and use is_bad_inode directly.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "8fab451e3cfe02a5e3dfc4bab3cfb975bc11fc09",
      "tree": "7fd614c516cb7713adda58ce0a1570cd8145c205",
      "parents": [
        "076e6acb8f0d9532ee6c50512c1927c0a8e34f2f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Mar 16 08:24:46 2009 +0100"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Mon Mar 16 08:24:46 2009 +0100"
      },
      "message": "xfs: kill vn_atime_* helpers.\n\nTwo out of three are unused already, and the third is better done open-coded\nwith a comment describing what\u0027s going on here.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "c141b2928fe20396a9ecdec85526e4b66ae96c90",
      "tree": "d708be285a392950e85aacf8a24e130431d9c240",
      "parents": [
        "7d46be4a25fdfb503c20bad60a618adebfe2ac5c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Mar 03 14:48:37 2009 -0500"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Fri Mar 06 17:35:12 2009 -0600"
      },
      "message": "xfs: only issues a cache flush on unmount if barriers are enabled\n\nCurrently we unconditionally issue a flush from xfs_free_buftarg, but\nsince 2.6.29-rc1 this gives a warning in the style of\n\n\tend_request: I/O error, dev vdb, sector 0\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "7bf446f8b581cef434f5ff05e8a791563bc09b7f",
      "tree": "f9f6367d14a6684859544b99ee82b6f5ce05e10e",
      "parents": [
        "3180e66d77e3c34cb466188105eace05dfeb5681"
      ],
      "author": {
        "name": "Hannes Eder",
        "email": "hannes@hanneseder.net",
        "time": "Thu Mar 05 15:20:25 2009 +0100"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Fri Mar 06 17:21:16 2009 -0600"
      },
      "message": "xfs: include header files for prototypes\n\nFix this sparse warnings:\n  fs/xfs/linux-2.6/xfs_ioctl.c:72:1: warning: symbol \u0027xfs_find_handle\u0027 was not declared. Should it be static?\n  fs/xfs/linux-2.6/xfs_ioctl.c:249:1: warning: symbol \u0027xfs_open_by_handle\u0027 was not declared. Should it be static?\n  fs/xfs/linux-2.6/xfs_ioctl.c:361:1: warning: symbol \u0027xfs_readlink_by_handle\u0027 was not declared. Should it be static?\n  fs/xfs/linux-2.6/xfs_ioctl.c:496:1: warning: symbol \u0027xfs_attrmulti_attr_get\u0027 was not declared. Should it be static?\n  fs/xfs/linux-2.6/xfs_ioctl.c:525:1: warning: symbol \u0027xfs_attrmulti_attr_set\u0027 was not declared. Should it be static?\n  fs/xfs/linux-2.6/xfs_ioctl.c:555:1: warning: symbol \u0027xfs_attrmulti_attr_remove\u0027 was not declared. Should it be static?\n  fs/xfs/linux-2.6/xfs_ioctl.c:657:1: warning: symbol \u0027xfs_ioc_space\u0027 was not declared. Should it be static?\n  fs/xfs/linux-2.6/xfs_ioctl.c:1340:1: warning: symbol \u0027xfs_file_ioctl\u0027 was not declared. Should it be static?\n  fs/xfs/support/debug.c:65:1: warning: symbol \u0027xfs_fs_vcmn_err\u0027 was not declared. Should it be static?\n  fs/xfs/support/debug.c:112:1: warning: symbol \u0027xfs_hex_dump\u0027 was not declared. Should it be static?\n\nSigned-off-by: Hannes Eder \u003channes@hanneseder.net\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "3180e66d77e3c34cb466188105eace05dfeb5681",
      "tree": "dd65b99e465cdbf93675df02b2cfb5c55721eb8b",
      "parents": [
        "24418492aa245e9812c425593883b9db52fd8d29"
      ],
      "author": {
        "name": "Hannes Eder",
        "email": "hannes@hanneseder.net",
        "time": "Wed Mar 04 19:34:10 2009 +0100"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Fri Mar 06 17:20:56 2009 -0600"
      },
      "message": "xfs: make symbols static\n\nInstead of the keyword \u0027static\u0027 the macro \u0027STATIC\u0027 is used, so the\nsymbols are still global with CONFIG_XFS_DEBUG.\n\nFix this sparse warnings:\n  fs/xfs/linux-2.6/xfs_super.c:638:1: warning: symbol \u0027xfs_blkdev_get\u0027 was not declared. Should it be static?\n  fs/xfs/linux-2.6/xfs_super.c:655:1: warning: symbol \u0027xfs_blkdev_put\u0027 was not declared. Should it be static?\n  fs/xfs/linux-2.6/xfs_super.c:876:1: warning: symbol \u0027xfsaild\u0027 was not declared. Should it be static?\n  fs/xfs/xfs_bmap.c:6208:1: warning: symbol \u0027xfs_check_block\u0027 was not declared. Should it be static?\n  fs/xfs/xfs_dir2_leaf.c:553:1: warning: symbol \u0027xfs_dir2_leaf_check\u0027 was not declared. Should it be static?\n\nSigned-off-by: Hannes Eder \u003channes@hanneseder.net\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "b79631330a653f568a2ac4eb4a32474c80e3fe77",
      "tree": "4e8f3311b90005d8ff514828786172a353471502",
      "parents": [
        "ed93ec3907f063268ced18728d0653f6199d100c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Mar 03 14:48:37 2009 -0500"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Mar 04 07:31:55 2009 -0600"
      },
      "message": "xfs: only issues a cache flush on unmount if barriers are enabled\n\nCurrently we unconditionally issue a flush from xfs_free_buftarg, but\nsince 2.6.29-rc1 this gives a warning in the style of\n\n\tend_request: I/O error, dev vdb, sector 0\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "27e88bf6af7d42adf790f7b2ed7d65475f191cf2",
      "tree": "ce135c2daae945a11b7ae0c5869660b7972aa88f",
      "parents": [
        "7fdf582447aa01658b624adc0a51a31e4278b68c"
      ],
      "author": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Feb 18 15:56:51 2009 -0600"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Thu Feb 19 13:15:55 2009 -0600"
      },
      "message": "Revert \"[XFS] remove old vmap cache\"\n\nThis reverts commit d2859751cd0bf586941ffa7308635a293f943c17.\n\nThis commit caused regression. We\u0027ll try to fix use of new\nvmap API for next release.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "7fdf582447aa01658b624adc0a51a31e4278b68c",
      "tree": "dcb0df49afe80e241f470d3850a6bea6c2c0c596",
      "parents": [
        "43f3f057c56d030546145696627f13f95735be95"
      ],
      "author": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Feb 18 15:41:28 2009 -0600"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Thu Feb 19 13:15:44 2009 -0600"
      },
      "message": "Revert \"[XFS] use scalable vmap API\"\n\nThis reverts commit 95f8e302c04c0b0c6de35ab399a5551605eeb006.\n\nThis commit caused regression. We\u0027ll try to fix use of new\nvmap API for next release.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "3a011a171906a3a51a43bb860fb7c66a64cab140",
      "tree": "e4f78a447196f19e1a94d9c8b2fc36bc0e0af249",
      "parents": [
        "cf7dab801796b9ee52a6dc99888a66bf476538ec"
      ],
      "author": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Feb 18 15:56:51 2009 -0600"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Feb 18 15:57:51 2009 -0600"
      },
      "message": "Revert \"[XFS] remove old vmap cache\"\n\nThis reverts commit d2859751cd0bf586941ffa7308635a293f943c17.\n\nThis commit caused regression. We\u0027ll try to fix use of new\nvmap API for next release.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "cf7dab801796b9ee52a6dc99888a66bf476538ec",
      "tree": "d7611da1fc23432c02e8b20f38e341b5cd040c1d",
      "parents": [
        "01234f3c87fff1d83adef8a70fdc18f27d67d75c"
      ],
      "author": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Feb 18 15:41:28 2009 -0600"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Wed Feb 18 15:41:28 2009 -0600"
      },
      "message": "Revert \"[XFS] use scalable vmap API\"\n\nThis reverts commit 95f8e302c04c0b0c6de35ab399a5551605eeb006.\n\nThis commit caused regression. We\u0027ll try to fix use of new\nvmap API for next release.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "fcafb71b57a039f2113b0321b3b5535fea3a0aca",
      "tree": "ba092276254f40cecb55764b7b4038eccdc6a296",
      "parents": [
        "c9a192dcf906a33f59c555924e7796a4b9454217"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Feb 09 08:47:34 2009 +0100"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Mon Feb 09 08:47:34 2009 +0100"
      },
      "message": "xfs: get rid of indirections in the quotaops implementation\n\nCurrently we call from the nicely abstracted linux quotaops into a ugly\nmultiplexer just to split the calls out at the same boundary again.\nRewrite the quota ops handling to remove that obfucation.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "517b5e8c8516a25a0df3b530fd183eb493a96698",
      "tree": "c9634c27127410f5522f78d854bd6b9e68f0e3dc",
      "parents": [
        "a568778739030fb68805dda1af2f4ebbc3adad7d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Feb 09 08:38:02 2009 +0100"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Mon Feb 09 08:38:02 2009 +0100"
      },
      "message": "xfs: merge xfs_mkdir into xfs_create\n\nxfs_create and xfs_mkdir only have minor differences, so merge both of them\ninto a sigle function.  While we\u0027re at it also make the error handling code\nmore straight-forward.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nDave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "a568778739030fb68805dda1af2f4ebbc3adad7d",
      "tree": "bdd34f82c2310f44b8de2017ce7e822256489c8e",
      "parents": [
        "0d87e656dd961145f47ede5e37eceecfdc7d8197"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Feb 09 08:37:39 2009 +0100"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Mon Feb 09 08:37:39 2009 +0100"
      },
      "message": "xfs: remove uchar_t/ushort_t/uint_t/ulong_t types\n\nJust another set of types obsfucating the code, remove them.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "4346cdd4647e5eef15817dbfc2c091cac55e33d9",
      "tree": "36dd9ea7127149bb7f3f80d4e36c7a48fec9c9ba",
      "parents": [
        "ef8f7fc549bf345d92f396f5aa7b152b4969cbf7"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sun Feb 08 21:51:14 2009 +0100"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Sun Feb 08 21:51:14 2009 +0100"
      },
      "message": "xfs: cleanup xfs_find_handle\n\nRemove the superflous igrab by keeping a reference on the path/file all the\ntime and clean up various bits of surrounding code.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\n"
    },
    {
      "commit": "d4bb6d0698090c485e2e80e8a13852be5a8bfb04",
      "tree": "bc94a63f218d64976e11d67c6b8d6f0f2859d2c4",
      "parents": [
        "e1486dea0bf4bc75a52a983281076f454a894b66"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Feb 04 09:36:19 2009 +0100"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Wed Feb 04 09:36:19 2009 +0100"
      },
      "message": "xfs: merge xfs_inode_flush into xfs_fs_write_inode\n\nSplitting the task for a VFS-induced inode flush into two functions doesn\u0027t\nmake any sense, so merge the two functions dealing with it.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "43f3f057c56d030546145696627f13f95735be95",
      "tree": "80124e5096315934cf90af96d5b6d71428ed1b89",
      "parents": [
        "6139a2360987f55e4490a7813cf69df74ec8b93a"
      ],
      "author": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Thu Jan 22 21:34:05 2009 -0600"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Tue Feb 03 11:04:54 2009 -0600"
      },
      "message": "[XFS] Warn on transaction in flight on read-only remount\n\nTill VFS can correctly support read-only remount without racing,\nuse WARN_ON instead of BUG_ON on detecting transaction in flight\nafter quiescing filesystem.\n\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "5e1065726e0350097d8fe18dc2fcf86516a0a1f2",
      "tree": "cb14177400c2d7187975b7c794629809dc3cbfd3",
      "parents": [
        "957274d7ce39eb9dab3666fc5c9f634c4d9fbf9d"
      ],
      "author": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Thu Jan 22 21:34:05 2009 -0600"
      },
      "committer": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Tue Jan 27 13:37:24 2009 -0600"
      },
      "message": "[XFS] Warn on transaction in flight on read-only remount\n\nTill VFS can correctly support read-only remount without racing,\nuse WARN_ON instead of BUG_ON on detecting transaction in flight\nafter quiescing filesystem.\n\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "49739140e57a65114d9e1976c4c158d2145595fb",
      "tree": "9295a472e8d4040c9504f3c8b2b9d29207772cd4",
      "parents": [
        "5aa2dc0a0697c762874241fa9ddbecd2d878b934"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Jan 19 02:04:07 2009 +0100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Mon Jan 19 14:45:04 2009 +1100"
      },
      "message": "xfs: fix bad_features2 fixups for the root filesystem\n\nCurrently the bad_features2 fixup and the alignment updates in the superblock\nare skipped if we mount a filesystem read-only.  But for the root filesystem\nthe typical case is to mount read-only first and only later remount writeable\nso we\u0027ll never perform this update at all.  It\u0027s not a big problem but means\nthe logs of people needing the fixup get spammed at every boot because they\nnever happen on disk.\n\nReported-by: Arkadiusz Miskiewicz \u003carekm@maven.pl\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "62e194ecdaf8a1935991c1f8704886328d96a391",
      "tree": "730e1c02ece82443f3dbe1314b88763bee4764d2",
      "parents": [
        "ab596ad8972f314ace538799734c7e1bdd1da2ff"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Jan 19 02:03:03 2009 +0100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Mon Jan 19 14:44:30 2009 +1100"
      },
      "message": "xfs: use mnt_want_write in compat_attrmulti ioctl\n\nThe compat version of the attrmulti ioctl needs to ask for and then\nlater release write access to the mount just like the native version,\notherwise we could potentially write to read-only mounts.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "ab596ad8972f314ace538799734c7e1bdd1da2ff",
      "tree": "40c35f802be9307a4739ff3b22260d3a0788c2f0",
      "parents": [
        "f3b8436ad9a8ad36b3c9fa1fe030c7f38e5d3d0b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Jan 19 02:02:57 2009 +0100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Mon Jan 19 14:43:18 2009 +1100"
      },
      "message": "xfs: fix dentry aliasing issues in open_by_handle\n\nOpen by handle just grabs an inode by handle and then creates itself\na dentry for it.  While this works for regular files it is horribly\nbroken for directories, where the VFS locking relies on the fact that\nthere is only just one single dentry for a given inode, and that\nthese are always connected to the root of the filesystem so that\nit\u0027s locking algorithms work (see Documentations/filesystems/Locking)\n\nRemove all the existing open by handle code and replace it with a small\nwrapper around the exportfs code which deals with all these issues.\nAt the same time we also make the checks for a valid handle strict\nenough to reject all not perfectly well formed handles - given that\nwe never hand out others that\u0027s okay and simplifies the code.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "7884bc8617e6b8afda8cb8853cf14abfd3148d5c",
      "tree": "eccabfabb65cfc06402f4c23f813bf84b500b5a3",
      "parents": [
        "98b8c7a0c42acf0d6963dbb9aabe4a2e312aae12"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Jan 19 02:04:07 2009 +0100"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Mon Jan 19 02:04:07 2009 +0100"
      },
      "message": "xfs: fix bad_features2 fixups for the root filesystem\n\nCurrently the bad_features2 fixup and the alignment updates in the superblock\nare skipped if we mount a filesystem read-only.  But for the root filesystem\nthe typical case is to mount read-only first and only later remount writeable\nso we\u0027ll never perform this update at all.  It\u0027s not a big problem but means\nthe logs of people needing the fixup get spammed at every boot because they\nnever happen on disk.\n\nReported-by: Arkadiusz Miskiewicz \u003carekm@maven.pl\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "178eae342b34185ef7b11e62df2f74ba45daa56e",
      "tree": "7984a561c8d8ecab2fab43621ef8b70486820a59",
      "parents": [
        "d296d30a9948e895bff005d92c38309e8bd30975"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Jan 19 02:03:03 2009 +0100"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Mon Jan 19 02:03:03 2009 +0100"
      },
      "message": "xfs: use mnt_want_write in compat_attrmulti ioctl\n\nThe compat version of the attrmulti ioctl needs to ask for and then\nlater release write access to the mount just like the native version,\notherwise we could potentially write to read-only mounts.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "d296d30a9948e895bff005d92c38309e8bd30975",
      "tree": "5adcf82c20544c3de2789f6ec18e9db6e8b2b691",
      "parents": [
        "9d87c3192d96ef9ac1cec8321538e9b35e90b5aa"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Jan 19 02:02:57 2009 +0100"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Mon Jan 19 02:02:57 2009 +0100"
      },
      "message": "xfs: fix dentry aliasing issues in open_by_handle\n\nOpen by handle just grabs an inode by handle and then creates itself\na dentry for it.  While this works for regular files it is horribly\nbroken for directories, where the VFS locking relies on the fact that\nthere is only just one single dentry for a given inode, and that\nthese are always connected to the root of the filesystem so that\nit\u0027s locking algorithms work (see Documentations/filesystems/Locking)\n\nRemove all the existing open by handle code and replace it with a small\nwrapper around the exportfs code which deals with all these issues.\nAt the same time we also make the checks for a valid handle strict\nenough to reject all not perfectly well formed handles - given that\nwe never hand out others that\u0027s okay and simplifies the code.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\n"
    },
    {
      "commit": "cb7a97d01521797cad9f63e8478403c3e51fea49",
      "tree": "84cddf20369f82f10c1c3712e6cce20dd1b9d863",
      "parents": [
        "0335cb76aa3fa913a2164bc9b669e5aef9d56fa3",
        "a6525042bfdfcab128bd91fad264de10fd24a55e"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Wed Jan 14 16:29:51 2009 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Wed Jan 14 16:29:51 2009 +1100"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus\n"
    },
    {
      "commit": "c088f4e9da74b901f7ed1749ad697d77622ed0f9",
      "tree": "84cddf20369f82f10c1c3712e6cce20dd1b9d863",
      "parents": [
        "ce79735c12d62c3cda38eb31762cf98e87c7b087",
        "a6525042bfdfcab128bd91fad264de10fd24a55e"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Wed Jan 14 16:29:08 2009 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Wed Jan 14 16:29:08 2009 +1100"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "8e961870bb9804110d5c8211d5d9d500451c4518",
      "tree": "a2354082d3a0255f58cd4e097f662b8bdeedd490",
      "parents": [
        "fcccf502540e3d752d33b2d8e976034dee81f9f7"
      ],
      "author": {
        "name": "Takashi Sato",
        "email": "t-sato@yk.jp.nec.com",
        "time": "Fri Jan 09 16:41:00 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 16:54:42 2009 -0800"
      },
      "message": "filesystem freeze: remove XFS specific ioctl interfaces for freeze feature\n\nIt removes XFS specific ioctl interfaces and request codes\nfor freeze feature.\n\nThis patch has been supplied by David Chinner.\n\nSigned-off-by: Dave Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Takashi Sato \u003ct-sato@yk.jp.nec.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: \u003cxfs-masters@oss.sgi.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c4be0c1dc4cdc37b175579be1460f15ac6495e9a",
      "tree": "716ea88318211ed27cadcebda0fd85c1f8246edb",
      "parents": [
        "69347a236b22c3962ea812511495e502dedfd50c"
      ],
      "author": {
        "name": "Takashi Sato",
        "email": "t-sato@yk.jp.nec.com",
        "time": "Fri Jan 09 16:40:58 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 16:54:42 2009 -0800"
      },
      "message": "filesystem freeze: add error handling of write_super_lockfs/unlockfs\n\nCurrently, ext3 in mainline Linux doesn\u0027t have the freeze feature which\nsuspends write requests.  So, we cannot take a backup which keeps the\nfilesystem\u0027s consistency with the storage device\u0027s features (snapshot and\nreplication) while it is mounted.\n\nIn many case, a commercial filesystem (e.g.  VxFS) has the freeze feature\nand it would be used to get the consistent backup.\n\nIf Linux\u0027s standard filesystem ext3 has the freeze feature, we can do it\nwithout a commercial filesystem.\n\nSo I have implemented the ioctls of the freeze feature.\nI think we can take the consistent backup with the following steps.\n1. Freeze the filesystem with the freeze ioctl.\n2. Separate the replication volume or create the snapshot\n   with the storage device\u0027s feature.\n3. Unfreeze the filesystem with the unfreeze ioctl.\n4. Take the backup from the separated replication volume\n   or the snapshot.\n\nThis patch:\n\nVFS:\nChanged the type of write_super_lockfs and unlockfs from \"void\"\nto \"int\" so that they can return an error.\nRename write_super_lockfs and unlockfs of the super block operation\nfreeze_fs and unfreeze_fs to avoid a confusion.\n\next3, ext4, xfs, gfs2, jfs:\nChanged the type of write_super_lockfs and unlockfs from \"void\"\nto \"int\" so that write_super_lockfs returns an error if needed,\nand unlockfs always returns 0.\n\nreiserfs:\nChanged the type of write_super_lockfs and unlockfs from \"void\"\nto \"int\" so that they always return 0 (success) to keep a current behavior.\n\nSigned-off-by: Takashi Sato \u003ct-sato@yk.jp.nec.com\u003e\nSigned-off-by: Masayuki Hamaguchi \u003cm-hamaguchi@ys.jp.nec.com\u003e\nCc: \u003cxfs-masters@oss.sgi.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0087167c9d5b1273e7e6bbe39a9ab13bdb9a39bb",
      "tree": "d91aa240f9e83b23b77c44d82fe976168ad882e5",
      "parents": [
        "958f8c0e4fc311e23a40635a530c01aec366a6e8"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Jan 06 14:43:09 2009 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Jan 09 17:09:47 2009 +1100"
      },
      "message": "[XFS] use scalable vmap API\n\nImplement XFS\u0027s large buffer support with the new vmap APIs. See the vmap\nrewrite (db64fe02) for some numbers. The biggest improvement that comes from\nusing the new APIs is avoiding the global KVA allocation lock on every call.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nReviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "958f8c0e4fc311e23a40635a530c01aec366a6e8",
      "tree": "bc497954825bc438b3765e641e62c3e1740ed8a8",
      "parents": [
        "058652a37dd9eac18d6b8c1a311137c679de9dae"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Jan 06 14:40:44 2009 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Jan 09 17:09:25 2009 +1100"
      },
      "message": "[XFS] remove old vmap cache\n\nXFS\u0027s vmap batching simply defers a number (up to 64) of vunmaps, and keeps\ntrack of them in a list. To purge the batch, it just goes through the list and\ncalls vunamp on each one. This is pretty poor: a global TLB flush is generally\nstill performed on each vunmap, with the most expensive parts of the operation\nbeing the broadcast IPIs and locking involved in the SMP callouts, and the\nlocking involved in the vmap management -- none of these are avoided by just\nbatching up the calls. I\u0027m actually surprised it ever made much difference.\n(Now that the lazy vmap allocator is upstream, this description is not quite\nright, but the vunmap batching still doesn\u0027t seem to do much)\n\nRip all this logic out of XFS completely. I will improve vmap performance\nand scalability directly in subsequent patch.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nReviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "ce79735c12d62c3cda38eb31762cf98e87c7b087",
      "tree": "589b8ab95e36c3f7012d65eccfdcc3e81f4afc50",
      "parents": [
        "6206aa8b2b9a45b4cf3ee31b7209b014be349fd9",
        "058652a37dd9eac18d6b8c1a311137c679de9dae"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Jan 09 16:24:48 2009 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Jan 09 16:24:48 2009 +1100"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git+ssh://git.melbourne.sgi.com/git/xfs\n"
    },
    {
      "commit": "9800b550355e99c9bcaba7ec6540751dce0823d7",
      "tree": "2002aefbe3b9816b151a505555c2787263cf1ad0",
      "parents": [
        "c9a98553d513dfc82cdce869970d5662c1f22c68"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Jan 01 16:40:10 2009 -0600"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Jan 09 15:46:16 2009 +1100"
      },
      "message": "[XFS] Remove several unused typedefs.\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "c9a98553d513dfc82cdce869970d5662c1f22c68",
      "tree": "d68cc98fa807d9f9719cb04307739ab9f9d9b9b5",
      "parents": [
        "9e42d0cf5020aaf217433cad1a224745241d212a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Jan 01 14:21:16 2009 -0500"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Jan 09 15:17:17 2009 +1100"
      },
      "message": "[XFS] pass XFS_IGET_BULKSTAT to xfs_iget for handle operations\n\nNFS clients or users of the handle ioctls can pass us arbitrary inode\nnumbers through the exportfs interface.  Make sure we use the\nXFS_IGET_BULKSTAT so that these don\u0027t cause shutdowns due to the corruption\nchecks.  Also translate the EINVAL we get back for invalid inode clusters\ninto an ESTALE which is more appropinquate, and remove the useless check\nfor a NULL inode on a successfull xfs_iget return.\n\nI have a testcase to reproduce this using the handle interface which\nI will submit to xfsqa.\n\nReported-by: Mario Becroft \u003cmb@gem.win.co.nz\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "6206aa8b2b9a45b4cf3ee31b7209b014be349fd9",
      "tree": "72c4223a2cc21bf055948eadb3b314ed0568ae9d",
      "parents": [
        "95f8e302c04c0b0c6de35ab399a5551605eeb006",
        "9e42d0cf5020aaf217433cad1a224745241d212a"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Jan 08 13:22:55 2009 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Jan 08 13:22:55 2009 +1100"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "025dfdafe77f20b3890981a394774baab7b9c827",
      "tree": "c4d514990d7a0673df5d32aa11fded95f9644ff0",
      "parents": [
        "0abb8b6a939b742f273edc68b64dba26c57331bc"
      ],
      "author": {
        "name": "Frederik Schwarzer",
        "email": "schwarzerf@gmail.com",
        "time": "Thu Oct 16 19:02:37 2008 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Jan 06 11:28:06 2009 +0100"
      },
      "message": "trivial: fix then -\u003e than typos in comments and documentation\n\n- (better, more, bigger ...) then -\u003e (...) than\n\nSigned-off-by: Frederik Schwarzer \u003cschwarzerf@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "95f8e302c04c0b0c6de35ab399a5551605eeb006",
      "tree": "178ea7347f9affb8548786216396eae4970601a5",
      "parents": [
        "d2859751cd0bf586941ffa7308635a293f943c17"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Jan 06 14:43:09 2009 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Tue Jan 06 14:43:09 2009 +1100"
      },
      "message": "[XFS] use scalable vmap API\n\nImplement XFS\u0027s large buffer support with the new vmap APIs. See the vmap\nrewrite (db64fe02) for some numbers. The biggest improvement that comes from\nusing the new APIs is avoiding the global KVA allocation lock on every call.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nReviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "d2859751cd0bf586941ffa7308635a293f943c17",
      "tree": "24f5f4ba78bf3722609e20a9346976226b95878a",
      "parents": [
        "195ec037ff8f6fa800616e0dad8d57a98b6fb37e"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Jan 06 14:40:44 2009 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Tue Jan 06 14:40:44 2009 +1100"
      },
      "message": "[XFS] remove old vmap cache\n\nXFS\u0027s vmap batching simply defers a number (up to 64) of vunmaps, and keeps\ntrack of them in a list. To purge the batch, it just goes through the list and\ncalls vunamp on each one. This is pretty poor: a global TLB flush is generally\nstill performed on each vunmap, with the most expensive parts of the operation\nbeing the broadcast IPIs and locking involved in the SMP callouts, and the\nlocking involved in the vmap management -- none of these are avoided by just\nbatching up the calls. I\u0027m actually surprised it ever made much difference.\n(Now that the lazy vmap allocator is upstream, this description is not quite\nright, but the vunmap batching still doesn\u0027t seem to do much)\n\nRip all this logic out of XFS completely. I will improve vmap performance\nand scalability directly in subsequent patch.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nReviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "0a8c5395f90f06d128247844b2515c8bf3f2826b",
      "tree": "d95382dcdfa303b99d480c01763d6cb6767fdaca",
      "parents": [
        "25051158bbed127e8672b43396c71c5eb610e5f1",
        "3c92ec8ae91ecf59d88c798301833d7cf83f2179"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Dec 29 16:47:18 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Dec 29 16:47:18 2008 +1100"
      },
      "message": "[XFS] Fix merge failures\n\nMerge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tfs/xfs/linux-2.6/xfs_cred.h\n\tfs/xfs/linux-2.6/xfs_globals.h\n\tfs/xfs/linux-2.6/xfs_ioctl.c\n\tfs/xfs/xfs_vnodeops.h\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "25051158bbed127e8672b43396c71c5eb610e5f1",
      "tree": "ee93995d39c50956334157ca723f980f5d9fa7d2",
      "parents": [
        "ad1ad968f4e7b06c75741575ea077e25a87da49a"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Wed Dec 24 14:07:32 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Wed Dec 24 14:07:32 2008 +1100"
      },
      "message": "[XFS] Fix race in xfs_write() between direct and buffered I/O with DMAPI\n\nThe iolock is dropped and re-acquired around the call to XFS_SEND_NAMESP().\nWhile the iolock is released the file can become cached.  We then\n\u0027goto retry\u0027 and - if we are doing direct I/O - mapping-\u003enrpages may now be\nnon zero but need_i_mutex will be zero and we will hit the WARN_ON().\n\nSince we have dropped the I/O lock then the file size may have also changed\nso what we need to do here is \u0027goto start\u0027 like we do for the XFS_SEND_DATA()\nDMAPI event.\n\nWe also need to update the filesize before releasing the iolock so that\nneeds to be done before the XFS_SEND_NAMESP event.  If we drop the iolock\nbefore setting the filesize we could race with a truncate.\n\nReviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "4fdc7781799926dca6c3a3bb6e9533a9718c4dea",
      "tree": "5a2aa2b3ff6f13fb8eeb4079c857f16012d7ac20",
      "parents": [
        "d415867e0abc35e3b2f0d4196e98c339d6fe29a2"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Dec 22 17:52:58 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Dec 22 17:52:58 2008 +1100"
      },
      "message": "[XFS] Remove XFS_BUF_SHUT() and friends\n\nCode does nothing so remove it.\n\nReviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "d415867e0abc35e3b2f0d4196e98c339d6fe29a2",
      "tree": "b47b85fb268449e8f4afb619c82e43e51ed261e9",
      "parents": [
        "27a0464a6cb837d3a90b6e69365dfc01cb0dff2f"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Dec 22 17:50:56 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Dec 22 17:50:56 2008 +1100"
      },
      "message": "[XFS] Use the incore inode size in xfs_file_readdir()\n\nWe should be using the incore inode size here not the linux inode\nsize.  The incore inode size is always up to date for directories\nwhereas the linux inode size is not updated for directories.\n\nWe\u0027ve hit assertions in xfs_bmap() and traced it back to the linux\ninode size being zero but the incore size being correct.\n\nReviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "4d9d4ebf5de848e3450e23e4db9ac74e23e5daa6",
      "tree": "2c6d2766054a925a42c1863e91fb5b8c6d0eb5cb",
      "parents": [
        "cfbe52672fbc6f333892e8dde82c35e0a76aa5f5",
        "c4cd747ee6c3ba1e7727878e3fce482d0d8c0136"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Dec 12 15:28:02 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Dec 12 15:28:02 2008 +1100"
      },
      "message": "Merge branch \u0027master\u0027 of git+ssh://git.melbourne.sgi.com/git/xfs\n"
    },
    {
      "commit": "cfbe52672fbc6f333892e8dde82c35e0a76aa5f5",
      "tree": "fa2b867d97f55a138f0bf59cadb804f40057465a",
      "parents": [
        "14d676f56fad26fd3c31eeff5d4ef8ea4a163571"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Dec 12 15:27:25 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Dec 12 15:27:25 2008 +1100"
      },
      "message": "[XFS] set b_error from bio error in xfs_buf_bio_end_io\n\nPreserve any error returned by the bio layer.\n\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Tim Shimmin \u003ctes@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "4d4be482a4d78ca906f45e99fd9fdb91e907f5ad",
      "tree": "52974b28fecd3c11fc0596504270ffee976f1b1a",
      "parents": [
        "6d73cf133c5477f7038577bfeda603ce9946f8cb"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Dec 09 04:47:33 2008 -0500"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Dec 11 13:14:41 2008 +1100"
      },
      "message": "[XFS] add a FMODE flag to make XFS invisible I/O less hacky\n\nXFS has a mode called invisble I/O that doesn\u0027t update any of the\ntimestamps.  It\u0027s used for HSM-style applications and exposed through\nthe nasty open by handle ioctl.\n\nInstead of doing directly assignment of file operations that set an\ninternal flag for it add a new FMODE_NOCMTIME flag that we can check\nin the normal file operations.\n\n(addition of the generic VFS flag has been ACKed by Al as an interims\n solution)\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "15ac08a8b2c129abccf1be47b6ab09491e013db2",
      "tree": "9b9b630fbd168d1683369c7a72e83daf3216301c",
      "parents": [
        "e055f13a6d8448d4f23121b7b11340c3fb55cce6"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Dec 09 04:47:30 2008 -0500"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Dec 11 13:13:33 2008 +1100"
      },
      "message": "[XFS] replace b_fspriv with b_mount\n\nReplace the b_fspriv pointer and it\u0027s ugly accessors with a properly types\nxfs_mount pointer.  Also switch log reocvery over to it instead of using\nb_fspriv for the mount pointer.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "797eaed40e1df4a3b9ece6894a71ce2b568bca38",
      "tree": "930f84ddfa6cf8cb7e4ff81122cafd877489c02f",
      "parents": [
        "a5b429d41fede3a90deb532f5c2318393ed3a17b"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Dec 05 14:15:49 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Dec 05 14:15:49 2008 +1100"
      },
      "message": "[XFS] Remove unnecessary assertion\n\nHit this assert because an inode was tagged with XFS_ICI_RECLAIM_TAG but\nnot XFS_IRECLAIMABLE|XFS_IRECLAIM.  This is because xfs_iget_cache_hit()\nfirst clears XFS_IRECLAIMABLE and then calls __xfs_inode_clear_reclaim_tag()\nwhile only holding the pag_ici_lock in read mode so we can race with\nxfs_reclaim_inodes_ag().  Looks like xfs_reclaim_inodes_ag() will do the\nright thing anyway so just remove the assert.\n\nThanks to Christoph for pointing out where the problem was.\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "8bb57320f3f5dd8c2373c0b66e4950391e037109",
      "tree": "07424b87eda7fdb1837981b52804627475151f0d",
      "parents": [
        "5a8d0f3c7af801c7263fbba39952504d6fc7ff60"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Dec 04 14:23:27 2008 +0100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Dec 05 11:23:10 2008 +1100"
      },
      "message": "[XFS] Fix compile with CONFIG_COMPAT enabled\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "5a8d0f3c7af801c7263fbba39952504d6fc7ff60",
      "tree": "64e376493be44232ac1c0d66e2a68c5280f42ec1",
      "parents": [
        "25e41b3d521f52771354a718042a753a3e77df0a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 03 12:20:40 2008 +0100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Thu Dec 04 15:39:25 2008 +1100"
      },
      "message": "move inode tracing out of xfs_vnode.\n\nMove the inode tracing into xfs_iget.c / xfs_inode.h and kill xfs_vnode.c\nnow that it\u0027s empty.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "25e41b3d521f52771354a718042a753a3e77df0a",
      "tree": "947d169a36fad5355abb9bc512a1a488bc13439c",
      "parents": [
        "583fa586f0e4a8222dd091ce971b85c1364f3d92"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 03 12:20:39 2008 +0100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Thu Dec 04 15:39:24 2008 +1100"
      },
      "message": "move vn_iowait / vn_iowake into xfs_aops.c\n\nThe whole machinery to wait on I/O completion is related to the I/O path\nand should be there instead of in xfs_vnode.c.  Also give the functions\nmore descriptive names.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "583fa586f0e4a8222dd091ce971b85c1364f3d92",
      "tree": "93ed1eee41e7e9073c9a608c2db8d931e1c03490",
      "parents": [
        "f95099ba5ae06b96a9c17ef93cc655f686d79077"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 03 12:20:38 2008 +0100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Thu Dec 04 15:39:24 2008 +1100"
      },
      "message": "kill vn_ioerror\n\nThere\u0027s just one caller of this helper, and it\u0027s much cleaner to just merge\nthe xfs_do_force_shutdown call into it.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "f95099ba5ae06b96a9c17ef93cc655f686d79077",
      "tree": "000e5aa4db7386439cbe1d932d7639978a7c87c0",
      "parents": [
        "e57481dc269cd3773b22f53bfb869308780a7bf1"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 03 12:20:37 2008 +0100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Thu Dec 04 15:39:24 2008 +1100"
      },
      "message": "kill xfs_unmount_flush\n\nThere\u0027s almost nothing left in this function, instead remove the IRELE\non the real times inodes and the call to XFS_QM_UNMOUNT into xfs_unmountfs.\n\nFor the regular unmount case that means it now also happenes after dmapi\nnotification, but otherwise there is no difference in behaviour.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "e57481dc269cd3773b22f53bfb869308780a7bf1",
      "tree": "0f93e375521a9afc49a8b5e143a0cff1945fc365",
      "parents": [
        "070c4616ec62fc207e2aeef9d0f28af294c651d0"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 03 12:20:36 2008 +0100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Thu Dec 04 15:39:23 2008 +1100"
      },
      "message": "no explicit xfs_iflush for special inodes during unmount\n\nCurrently we explicitly call xfs_iflush on the quota, real-time and root\ninodes from xfs_unmount_flush.  But we just called xfs_sync_inodes with\nSYNC_ATTR and do an XFS_bflush aka xfs_flush_buftarg to make sure all inodes\nare on disk already, so there is no need for these special cases.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "b56757becf8bc62292263a24a23cf55edb4be55f",
      "tree": "05940d51ed3819d59fdc78d8241128e7c27d1607",
      "parents": [
        "e88f11abe09d14718b82a991db118c5e485aa897"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 03 12:20:34 2008 +0100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Thu Dec 04 15:39:23 2008 +1100"
      },
      "message": "remove leftovers of shared read-only support\n\nWe never supported shared read-only filesystems, so remove the dead\ncode left over from IRIX for it.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "6bd16ff27060819d16b3e7abe59b6644b349aea3",
      "tree": "6a7250063b8d727f35887bfe188a4dc7802fa181",
      "parents": [
        "5efcbb853bc2f051d720a191268f8dd901fea9c2"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 03 12:20:32 2008 +0100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Thu Dec 04 15:39:22 2008 +1100"
      },
      "message": "kill dead inode flags\n\nThere are a few inode flags around that aren\u0027t used anywhere, so remove\nthem.  Also update xfsidbg to display all used inode flags correctly.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    },
    {
      "commit": "63ad2a5c4cf37e3242142eee8a8dcd4a8515302e",
      "tree": "1aa443cc021aebc11c66c6a66bda1f107e767b88",
      "parents": [
        "39e2defe73106ca2e1c85e5286038a0a13f49513"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Dec 03 12:20:29 2008 +0100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@sgi.com",
        "time": "Thu Dec 04 15:39:21 2008 +1100"
      },
      "message": "remove dead code from sv_t implementation\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Niv Sardi \u003cxaiki@sgi.com\u003e\n"
    }
  ],
  "next": "d9424b3c4a1e96f87c6cfd4d8dd2f8d9bbb4dcc5"
}
