)]}'
{
  "log": [
    {
      "commit": "2e00c97e2c1d2ffc9e26252ca26b237678b0b772",
      "tree": "e2c65f473e079c4b6027f7f8b7224febe7483884",
      "parents": [
        "54e346215e4fe2ca8c94c54e546cc61902060510"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Aug 07 14:38:29 2009 -0300"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Fri Aug 07 14:38:29 2009 -0300"
      },
      "message": "vfs: add __destroy_inode\n\nWhen we want to tear down an inode that lost the add to the cache race\nin XFS we must not call into -\u003edestroy_inode because that would delete\nthe inode that won the race from the inode cache radix tree.\n\nThis patch provides the __destroy_inode helper needed to fix this,\nthe actual fix will be in th next patch.  As XFS was the only reason\ndestroy_inode was exported we shift the export to the new __destroy_inode.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "54e346215e4fe2ca8c94c54e546cc61902060510",
      "tree": "9b4ed9b0ab78117ba1a41db7073708031622cf10",
      "parents": [
        "90bc1a658a53f8832ee799685703977a450e5af9"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Aug 07 14:38:25 2009 -0300"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@brick.lst.de",
        "time": "Fri Aug 07 14:38:25 2009 -0300"
      },
      "message": "vfs: fix inode_init_always calling convention\n\nCurrently inode_init_always calls into -\u003edestroy_inode if the additional\ninitialization fails.  That\u0027s not only counter-intuitive because\ninode_init_always did not allocate the inode structure, but in case of\nXFS it\u0027s actively harmful as -\u003edestroy_inode might delete the inode from\na radix-tree that has never been added.  This in turn might end up\ndeleting the inode for the same inum that has been instanciated by\nanother process and cause lots of cause subtile problems.\n\nAlso in the case of re-initializing a reclaimable inode in XFS it would\nfree an inode we still want to keep alive.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "dddac6a7b445de95515f64fdf82fe5dc36c02f26",
      "tree": "39651610292d6b0c17f210f253a0dd16b022727d",
      "parents": [
        "ec79be26875f6c1468784876cb99192b7f41c7a5"
      ],
      "author": {
        "name": "Alan Jenkins",
        "email": "alan-jenkins@tuffmail.co.uk",
        "time": "Wed Jul 29 21:07:55 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jul 29 21:07:55 2009 +0200"
      },
      "message": "PM / Hibernate: Replace bdget call with simple atomic_inc of i_count\n\nCreate bdgrab().  This function copies an existing reference to a\nblock_device.  It is safe to call from any context.\n\nHibernation code wishes to copy a reference to the active swap device.\nRight now it calls bdget() under a spinlock, but this is wrong because\nbdget() can sleep.  It doesn\u0027t need a full bdget() because we already\nhold a reference to active swap devices (and the spinlock protects\nagainst swapoff).\n\nFixes http://bugzilla.kernel.org/show_bug.cgi?id\u003d13827\n\nSigned-off-by: Alan Jenkins \u003calan-jenkins@tuffmail.co.uk\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "f19d4a8fa6f9b6ccf54df0971c97ffcaa390b7b0",
      "tree": "552854efb57cce365c4db585f1009946aeb03062",
      "parents": [
        "3e63cbb1efca7dd3137de1bb475e2e068e38ef23"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 08 19:50:45 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jun 24 08:15:27 2009 -0400"
      },
      "message": "add caching of ACLs in struct inode\n\nNo helpers, no conversions yet.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3e63cbb1efca7dd3137de1bb475e2e068e38ef23",
      "tree": "5a7964068266e778e94c1348192d3c85eba4ac48",
      "parents": [
        "01c031945f2755c7afaaf456088543312f2b72ea"
      ],
      "author": {
        "name": "Ankit Jain",
        "email": "me@ankitjain.org",
        "time": "Fri Jun 19 14:28:07 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jun 24 08:15:27 2009 -0400"
      },
      "message": "fs: Add new pre-allocation ioctls to vfs for compatibility with legacy xfs ioctls\n\nThis patch adds ioctls to vfs for compatibility with legacy XFS\npre-allocation ioctls (XFS_IOC_*RESVP*). The implementation\neffectively invokes sys_fallocate for the new ioctls.\nAlso handles the compat_ioctl case.\nNote: These legacy ioctls are also implemented by OCFS2.\n\n[AV: folded fixes from hch]\n\nSigned-off-by: Ankit Jain \u003cme@ankitjain.org\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7e0338c0de18c50f09aea1fbef45110cf7d64a3c",
      "tree": "30a935c1f6eee7125a9fbb802a33292b1f7268fa",
      "parents": [
        "df36b439c5fedefe013d4449cb6a50d15e2f4d70",
        "47fcb03fefee2501e79176932a4184fc24d6f8ec"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 12:55:50 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 22 12:55:50 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.31\u0027 of git://fieldses.org/git/linux-nfsd\n\n* \u0027for-2.6.31\u0027 of git://fieldses.org/git/linux-nfsd: (60 commits)\n  SUNRPC: Fix the TCP server\u0027s send buffer accounting\n  nfsd41: Backchannel: minorversion support for the back channel\n  nfsd41: Backchannel: cleanup nfs4.0 callback encode routines\n  nfsd41: Remove ip address collision detection case\n  nfsd: optimise the starting of zero threads when none are running.\n  nfsd: don\u0027t take nfsd_mutex twice when setting number of threads.\n  nfsd41: sanity check client drc maxreqs\n  nfsd41: move channel attributes from nfsd4_session to a nfsd4_channel_attr struct\n  NFS: kill off complicated macro \u0027PROC\u0027\n  sunrpc: potential memory leak in function rdma_read_xdr\n  nfsd: minor nfsd_vfs_write cleanup\n  nfsd: Pull write-gathering code out of nfsd_vfs_write\n  nfsd: track last inode only in use_wgather case\n  sunrpc: align cache_clean work\u0027s timer\n  nfsd: Use write gathering only with NFSv2\n  NFSv4: kill off complicated macro \u0027PROC\u0027\n  NFSv4: do exact check about attribute specified\n  knfsd: remove unreported filehandle stats counters\n  knfsd: fix reply cache memory corruption\n  knfsd: reply cache cleanups\n  ...\n"
    },
    {
      "commit": "517d08699b250021303f9a7cf0d758b6dc0748ed",
      "tree": "5e5b0134c3fffb78fe9d8b1641a64ff28fdd7bbc",
      "parents": [
        "8eeee4e2f04fc551f50c9d9847da2d73d7d33728",
        "a34601c5d84134055782ee031d58d82f5440e918"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:50:13 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:50:13 2009 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027\n\n* akpm: (182 commits)\n  fbdev: bf54x-lq043fb: use kzalloc over kmalloc/memset\n  fbdev: *bfin*: fix __dev{init,exit} markings\n  fbdev: *bfin*: drop unnecessary calls to memset\n  fbdev: bfin-t350mcqb-fb: drop unused local variables\n  fbdev: blackfin has __raw I/O accessors, so use them in fb.h\n  fbdev: s1d13xxxfb: add accelerated bitblt functions\n  tcx: use standard fields for framebuffer physical address and length\n  fbdev: add support for handoff from firmware to hw framebuffers\n  intelfb: fix a bug when changing video timing\n  fbdev: use framebuffer_release() for freeing fb_info structures\n  radeon: P2G2CLK_ALWAYS_ONb tested twice, should 2nd be P2G2CLK_DAC_ALWAYS_ONb?\n  s3c-fb: CPUFREQ frequency scaling support\n  s3c-fb: fix resource releasing on error during probing\n  carminefb: fix possible access beyond end of carmine_modedb[]\n  acornfb: remove fb_mmap function\n  mb862xxfb: use CONFIG_OF instead of CONFIG_PPC_OF\n  mb862xxfb: restrict compliation of platform driver to PPC\n  Samsung SoC Framebuffer driver: add Alpha Channel support\n  atmel-lcdc: fix pixclock upper bound detection\n  offb: use framebuffer_alloc() to allocate fb_info struct\n  ...\n\nManually fix up conflicts due to kmemcheck in mm/slab.c\n"
    },
    {
      "commit": "286973552f051404abdb58dd9b2f8f7558efe4e5",
      "tree": "462cca28bdab729a09371ba6a53e0365cf36ad57",
      "parents": [
        "82553a937f12352c26fe457510ebab3f512cd3fa"
      ],
      "author": {
        "name": "Mike Waychison",
        "email": "mikew@google.com",
        "time": "Tue Jun 16 15:32:59 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:43 2009 -0700"
      },
      "message": "mm: remove __invalidate_mapping_pages variant\n\nRemove __invalidate_mapping_pages atomic variant now that its sole caller\ncan sleep (fixed in eccb95cee4f0d56faa46ef22fb94dd4a3578d3eb (\"vfs: fix\nlock inversion in drop_pagecache_sb()\")).\n\nThis fixes softlockups that can occur while in the drop_caches path.\n\nSigned-off-by: Mike Waychison \u003cmikew@google.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1ebf26a9b338534def47f307c6c8694b6dfc0a79",
      "tree": "26829a8cc727388c0da8eea6de38d7ba0eda2a47",
      "parents": [
        "bb1f17b0372de93758653ca3454bc0df18dc2e5c"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue Jun 16 15:31:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 19:47:28 2009 -0700"
      },
      "message": "readahead: make mmap_miss an unsigned int\n\nThis makes the performance impact of possible mmap_miss wrap around to be\ntemporary and tolerable: i.e.  MMAP_LOTSAMISS\u003d100 extra readarounds.\n\nOtherwise if ever mmap_miss wraps around to negative, it takes INT_MAX\ncache misses to bring it back to normal state.  During the time mmap\nreadaround will be _enabled_ for whatever wild random workload.  That\u0027s\nalmost permanent performance impact.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7eef4091a653c243a87e5375c54504cc03bec4d8",
      "tree": "f65b77f830b2c8f7d014512badfef5df0d591ee9",
      "parents": [
        "0a93a47f042c459f0f46942c3a920e3c81878031",
        "07a2039b8eb0af4ff464efd3dfd95de5c02648c6"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jun 15 18:08:07 2009 -0700"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jun 15 18:08:07 2009 -0700"
      },
      "message": "Merge commit \u0027v2.6.30\u0027 into for-2.6.31\n"
    },
    {
      "commit": "3446a8aa7ebcbc0a799e5e8fc4f2da0738d6bc21",
      "tree": "f2b98dd31f1d94a235fbb536adc3123f0413effb",
      "parents": [
        "1744a21d57d9c60136461adb6afa85e51b3e94d9"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Sat May 16 11:22:14 2009 +0200"
      },
      "committer": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Mon Jun 15 15:49:39 2009 +0200"
      },
      "message": "fs: introduce __getname_gfp()\n\nThe purpose of this change is to allow __getname() users to pass a\ncustom GFP mask to kmem_cache_alloc(). This is needed for annotating\na certain kmemcheck false positive.\n\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\n"
    },
    {
      "commit": "d5aacad548db1ff547adf35d0a77eb2a8ed4fe14",
      "tree": "fbdf12dbacde76a1bb57738f1f67b87a673ddff2",
      "parents": [
        "337eb00a2c3a421999c39c94ce7e33545ee8baa7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 07 14:56:44 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:11 2009 -0400"
      },
      "message": "New helper - simple_fsync()\n\nwrites associated buffers, then does sync_inode() to write\nthe inode itself (and to make it clean).  Depends on\n-\u003ewrite_inode() honouring the second argument.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "28ad0c118b0ed98b042d362acfe0017591921138",
      "tree": "71a8954cbd50216c11c5c3557efcb7535c433e0a",
      "parents": [
        "9fd5746fd3d7838bf6ff991d50f1257057d1156f"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu May 21 16:01:02 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:09 2009 -0400"
      },
      "message": "fs: Rearrange inode structure elements to avoid waste due to padding\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: linux-fsdevel@vger.kernel.org\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9fd5746fd3d7838bf6ff991d50f1257057d1156f",
      "tree": "e0afe14ea9415b0e54c40703bb44acfec100a4b3",
      "parents": [
        "ebc1ac164560a241d9bf1b7519062910c3f90a01"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu May 21 16:01:00 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:09 2009 -0400"
      },
      "message": "fs: Remove i_cindex from struct inode\n\nThe only user of the i_cindex element in the inode structure is used\nis by the firewire drivers.  As part of an attempt to slim down the\ninode structure to save memory --- since a typical Linux system will\nhave hundreds of thousands if not millions of inodes cached, a\nreduction in the size inode has high leverage.\n\nThe firewire driver does not need i_cindex in any fast path, so it\u0027s\nsimple enough to calculate when it is needed, instead of wasting space\nin the inode structure.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: krh@redhat.com\nCc: stefanr@s5r6.in-berlin.de\nCc: linux-fsdevel@vger.kernel.org\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "62c6943b4b1e818aea60c11c5a68a50785b83119",
      "tree": "ecdbb1c63d5c37b42f7074e4c53beaaa850ada2b",
      "parents": [
        "443b94baaa16771e98b29ca7c24f1e305738ffca"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 07 03:12:29 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:07 2009 -0400"
      },
      "message": "Trim a bit of crap from fs.h\n\ndo_remount_sb() is fs/internal.h fodder, fsync_no_super() is long gone.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "60b0680fa236ac4e17ce31a50048c9d75f9ec831",
      "tree": "c8ca34340a173326694247eab779e713c57202c2",
      "parents": [
        "c15c54f5f056ee4819da9fde59a5f2cd45445f23"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Apr 27 16:43:53 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:04 2009 -0400"
      },
      "message": "vfs: Rename fsync_super() to sync_filesystem() (version 4)\n\nRename the function so that it better describe what it really does. Also\nremove the unnecessary include of buffer_head.h.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c15c54f5f056ee4819da9fde59a5f2cd45445f23",
      "tree": "0b8d142f0b8d44b71bf7ff9db7a373f90d0556a3",
      "parents": [
        "5cee5815d1564bbbd505fea86f4550f1efdb5cd0"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Apr 27 16:43:52 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:04 2009 -0400"
      },
      "message": "vfs: Move syncing code from super.c to sync.c (version 4)\n\nMove sync_filesystems(), __fsync_super(), fsync_super() from\nsuper.c to sync.c where it fits better.\n\n[build fixes folded]\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5cee5815d1564bbbd505fea86f4550f1efdb5cd0",
      "tree": "ba99c38932dc534bf56f0d7dcfeeca153f50b007",
      "parents": [
        "429479f031322a0cc5c921ffb2321a51718dc875"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Apr 27 16:43:51 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:03 2009 -0400"
      },
      "message": "vfs: Make sys_sync() use fsync_super() (version 4)\n\nIt is unnecessarily fragile to have two places (fsync_super() and do_sync())\ndoing data integrity sync of the filesystem. Alter __fsync_super() to\naccommodate needs of both callers and use it. So after this patch\n__fsync_super() is the only place where we gather all the calls needed to\nproperly send all data on a filesystem to disk.\n\nNice bonus is that we get a complete livelock avoidance and write_supers()\nis now only used for periodic writeback of superblocks.\n\nsync_blockdevs() introduced a couple of patches ago is gone now.\n\n[build fixes folded]\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "429479f031322a0cc5c921ffb2321a51718dc875",
      "tree": "6741f7f1bfa1d889bbc4f44ab0489de97a3e47c0",
      "parents": [
        "bfe881255c74800147523b59c85328a1a826ba21"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Apr 27 16:43:50 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:03 2009 -0400"
      },
      "message": "vfs: Make __fsync_super() a static function (version 4)\n\n__fsync_super() does the same thing as fsync_super(). So change the only\ncaller to use fsync_super() and make __fsync_super() static. This removes\nunnecessarily duplicated call to sync_blockdev() and prepares ground\nfor the changes to __fsync_super() in the following patches.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "876a9f76abbcb775f8d21cbc99fa161f9e5937f1",
      "tree": "971a1ac276c365a53ef1563c9d9f71013a563f09",
      "parents": [
        "864d7c4c068f23642efe91b33be3a84afe5f71e0"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Apr 28 18:05:55 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:02 2009 -0400"
      },
      "message": "remove s_async_list\n\nRemove the unused s_async_list in the superblock, a leftover of the\nbroken async inode deletion code that leaked into mainline.  Having this\nin the middle of the sync/unmount path is not helpful for the following\ncleanups.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "589ff870ed60a9ebdd5ec99ec3f5afe1282fe151",
      "tree": "a628f8db3bd587df6e2a918216aa64946b506e6f",
      "parents": [
        "bab77ebf51e3902f608ecf08c9d34a0a52ac35a9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 18 03:28:19 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:01 2009 -0400"
      },
      "message": "Switch collect_mounts() to struct path\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3c5119c05d624f95f4967d16b38c9624b816bdb9",
      "tree": "0b5f66106aea38e52adf62958762b0a975607322",
      "parents": [
        "c28f7e56e9d95fb531dc3be8df2e7f52bee76d21"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu May 21 17:01:33 2009 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Jun 11 14:57:53 2009 -0400"
      },
      "message": "dnotify: reimplement dnotify using fsnotify\n\nReimplement dnotify using fsnotify.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "3be25f49b9d6a97eae9bcb96d3292072b7658bd8",
      "tree": "36f7d96481a47a6bde3c2f961346e940698111e0",
      "parents": [
        "90586523eb4b349806887c62ee70685a49415124"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu May 21 17:01:26 2009 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Jun 11 14:57:53 2009 -0400"
      },
      "message": "fsnotify: add marks to inodes so groups can interpret how to handle those inodes\n\nThis patch creates a way for fsnotify groups to attach marks to inodes.\nThese marks have little meaning to the generic fsnotify infrastructure\nand thus their meaning should be interpreted by the group that attached\nthem to the inode\u0027s list.\n\ndnotify and inotify  will make use of these markings to indicate which\ninodes are of interest to their respective groups.  But this implementation\nhas the useful property that in the future other listeners could actually\nuse the marks for the exact opposite reason, aka to indicate which inodes\nit had NO interest in.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "e4b636366c00738b9609cda307014d71b1225b7f",
      "tree": "760b67b3624eda62e943e48ce93635c30a5b47bf",
      "parents": [
        "b9ed7252d219c1c663944bf03846eabb515dbe75",
        "279e677faa775ad16e75c32e1bf4a37f8158bc61"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 22 20:25:34 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 22 20:25:34 2009 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-2.6.31\n\nConflicts:\n\tdrivers/block/hd.c\n\tdrivers/block/mg_disk.c\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6818173bd658439b83896a2a7586f64ab51bf29c",
      "tree": "17d25ee77485af18da1a80cb7f1d8ec581c6abfc",
      "parents": [
        "7c77f0b3f9208c339a4b40737bb2cb0f0319bb8d"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Thu May 07 15:37:36 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 14:13:10 2009 +0200"
      },
      "message": "splice: implement default splice_read method\n\nIf f_op-\u003esplice_read() is not implemented, fall back to a plain read.\nUse vfs_readv() to read into previously allocated pages.\n\nThis will allow splice and functions using splice, such as the loop\ndevice, to work on all filesystems.  This includes \"direct_io\" files\nin fuse which bypass the page cache.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2a32cebd6cbcc43996c3e2d114fa32ba1e71192a",
      "tree": "0ad94849a7bc3e97cd19978005d1898c8bb44b36",
      "parents": [
        "f9dbd05bc97d1d4f17c2057612f6a8e4dbd039e0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 08 16:05:57 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 09 10:51:34 2009 -0400"
      },
      "message": "Fix races around the access to -\u003es_options\n\nPut generic_show_options read access to s_options under rcu_read_lock,\nsplit save_mount_options() into \"we are setting it the first time\"\n(uses in foo_fill_super()) and \"we are relacing and freeing the old one\",\nsynchronize_rcu() before kfree() in the latter.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6e8341a11eb21826b7192d0bb88cb5b44900a9af",
      "tree": "f9e03050f0834c2c4a21f1e6a255b6b0d1262b25",
      "parents": [
        "a44ddbb6d8a8ffe4e34e417048dfdd8f3dd1de4f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 06 11:16:22 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 09 10:49:42 2009 -0400"
      },
      "message": "Switch open_exec() and sys_uselib() to do_open_filp()\n\n... and make path_lookup_open() static\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "74dbbdd7fdc11763f4698d2f3e684cf4446951e6",
      "tree": "f31d70174915b0d209fafeec35e996e8ed7e269d",
      "parents": [
        "677c9b2e393a0cd203bd54e9c18b012b2c73305a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 06 01:07:50 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 09 10:49:39 2009 -0400"
      },
      "message": "New helper: deactivate_locked_super()\n\nDoes equivalent of up_write(\u0026s-\u003es_umount); deactivate_super(s);\nHowever, it does not does not unlock it until it\u0027s all over.\nAs the result, it\u0027s safe to use to dispose of new superblock on -\u003eget_sb()\nfailure exits - nobody will see the sucker until it\u0027s all over.\nEquivalent using up_write/deactivate_super is safe for that purpose\nif superblock is either\tsafe to use or has NULL -\u003es_root when we unlock.\nNormally filesystems take the required precautions, but\n\ta) we do have bugs in that area in some of them.\n\tb) up_write/deactivate_super sequence is extremely common,\nso the helper makes sense anyway.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a9e61e25f9d2e7e43bf17625f5cb56c9e0a89b17",
      "tree": "1c000afc1e2eadb00570ae34666af508afa021fe",
      "parents": [
        "80492e7d49bee0a280a84a39075a7857b92836b2"
      ],
      "author": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Tue Mar 31 15:12:56 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 24 16:36:03 2009 -0400"
      },
      "message": "lockd: call locks_release_private to cleanup per-filesystem state\n\nFor every lock request lockd creates a new file_lock object\nin nlmsvc_setgrantargs() by copying the passed in file_lock with\nlocks_copy_lock(). A filesystem can attach it\u0027s own lock_operations\nvector to the file_lock. It has to be cleaned up at the end of the\nfile_lock\u0027s life. However, lockd doesn\u0027t do it today, yet it\nasserts in nlmclnt_release_lockargs() that the per-filesystem\nstate is clean.\nThis patch fixes it by exporting locks_release_private() and adding\nit to nlmsvc_freegrantargs(), to be symmetrical to creating a\nfile_lock in nlmsvc_setgrantargs().\n\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "38e23c95f92a84fb8505a9f572b8a209c9c372c1",
      "tree": "3caa1061a8c6a831935ce3fa7209cc2db1ea3e0d",
      "parents": [
        "2eae7a1874ca5be3232765d89e0250a449f1bc90"
      ],
      "author": {
        "name": "Tetsuo Handa",
        "email": "penguin-kernel@I-love.SAKURA.ne.jp",
        "time": "Thu Apr 09 20:17:52 2009 +0900"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:02:52 2009 -0400"
      },
      "message": "fs: Mark get_filesystem_list() as __init function.\n\n\"int get_filesystem_list(char * buf)\" is called by only\n\"static void __init get_fs_names(char *page)\".\nWe can mark get_filesystem_list() as \"__init\".\n\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2eae7a1874ca5be3232765d89e0250a449f1bc90",
      "tree": "571f62f170623b98ab7b673fb18ea1c2c2582604",
      "parents": [
        "0112fc2229847feb6c4eb011e6833d8f1742a375"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Apr 08 16:34:03 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:02:52 2009 -0400"
      },
      "message": "kill vfs_stat_fd / vfs_lstat_fd\n\nThere\u0027s really no reason to keep vfs_stat_fd and vfs_lstat_fd with\nOleg\u0027s vfs_fstatat.  Use vfs_fstatat for the few cases having the\ndirectory fd, and switch all others to vfs_stat / vfs_lstat.\n\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0112fc2229847feb6c4eb011e6833d8f1742a375",
      "tree": "c5bda0b4f5a5f942478faf2fb5961df7fbd15546",
      "parents": [
        "fd56d242b3b80b6f2ca174272b20029aae61df75"
      ],
      "author": {
        "name": "Oleg Drokin",
        "email": "green@linuxhacker.ru",
        "time": "Wed Apr 08 20:05:42 2009 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:02:51 2009 -0400"
      },
      "message": "Separate out common fstatat code into vfs_fstatat\n\nThis is a version incorporating Christoph\u0027s suggestion.\n\nSeparate out common *fstatat functionality into a single function\ninstead of duplicating it all over the code.\n\nSigned-off-by: Oleg Drokin \u003cgreen@linuxhacker.ru\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "61e0d47c33cc371f725bcda4a47ae0efe652dba8",
      "tree": "e00f99b506f1c1a16e3ba987e3390deda6bd2e03",
      "parents": [
        "f8cc774ce4844811a55e2352f1443055e3994e28"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Tue Apr 14 19:48:41 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 15 12:10:12 2009 +0200"
      },
      "message": "splice: add helpers for locking pipe inode\n\nThere are lots of sequences like this, especially in splice code:\n\n\tif (pipe-\u003einode)\n\t\tmutex_lock(\u0026pipe-\u003einode-\u003ei_mutex);\n\t/* do something */\n\tif (pipe-\u003einode)\n\t\tmutex_unlock(\u0026pipe-\u003einode-\u003ei_mutex);\n\nso introduce helpers which do the conditional locking and unlocking.\nAlso replace the inode_double_lock() call with a pipe_double_lock()\nhelper to avoid spreading the use of this functionality beyond the\npipe code.\n\nThis patch is just a cleanup, and should cause no behavioral changes.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f8cc774ce4844811a55e2352f1443055e3994e28",
      "tree": "a9d95b3d23044ff6217b76135d0be1661ffbc5e7",
      "parents": [
        "328eaaba4e41a04c1dc4679d65bea3fee4349d86"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Tue Apr 14 19:48:40 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 15 12:10:12 2009 +0200"
      },
      "message": "splice: remove generic_file_splice_write_nolock()\n\nRemove the now unused generic_file_splice_write_nolock() function.\nIt\u0027s conceptually broken anyway, because splice may need to wait for\npipe events so holding locks across the whole operation is wrong.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "48e70bc18ac81881dedd3aa327c55b924fc41ecf",
      "tree": "800e093961ca3a81ccc201db0afab7205134cb75",
      "parents": [
        "f600abe2de81628c40effbb3f8eaf5af0d291e57"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 14 08:19:27 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 15 08:28:10 2009 +0200"
      },
      "message": "Document and move the various READ/WRITE types\n\nIt\u0027s a somewhat twisty maze of hints and behavioural modifiers, try\nand clear it up a bit with some documentation.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "909e6d94795654040ed416ac69858d5d2ce66dd3",
      "tree": "c0d873c341e3419c3bb54cffd964bbe850bbb4ab",
      "parents": [
        "7ce5ba3c7ef26284f60babbe4465259d1f9968f3"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon Apr 06 19:01:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 08:31:09 2009 -0700"
      },
      "message": "namespaces: move proc_net_get_sb to a generic fs/super.c helper\n\nThe mqueuefs filesystem will use this helper as well.  Proc\u0027s main get_sb\ncould also be made to use it, but that will require a bit more rework.\n\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "12fe32e4f942ac5c71a4ab70b039fee65c0dc29d",
      "tree": "b0878e49e9fab1fd154fde1dd57057391831b668",
      "parents": [
        "a63856252d2112e7c452696037a86ceb12f47f80",
        "2121db74ba0fd2259f0e2265511684fadda9ac49"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 06 13:30:00 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 06 13:30:00 2009 -0700"
      },
      "message": "Merge branch \u0027kmemtrace-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027kmemtrace-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  kmemtrace: trace kfree() calls with NULL or zero-length objects\n  kmemtrace: small cleanups\n  kmemtrace: restore original tracing data binary format, improve ABI\n  kmemtrace: kmemtrace_alloc() must fill type_id\n  kmemtrace: use tracepoints\n  kmemtrace, rcu: don\u0027t include unnecessary headers, allow kmemtrace w/ tracepoints\n  kmemtrace, rcu: fix rcupreempt.c data structure dependencies\n  kmemtrace, rcu: fix rcu_tree_trace.c data structure dependencies\n  kmemtrace, rcu: fix linux/rcutree.h and linux/rcuclassic.h dependencies\n  kmemtrace, mm: fix slab.h dependency problem in mm/failslab.c\n  kmemtrace, kbuild: fix slab.h dependency problem in lib/decompress_unlzma.c\n  kmemtrace, kbuild: fix slab.h dependency problem in lib/decompress_bunzip2.c\n  kmemtrace, kbuild: fix slab.h dependency problem in lib/decompress_inflate.c\n  kmemtrace, squashfs: fix slab.h dependency problem in squasfs\n  kmemtrace, befs: fix slab.h dependency problem\n  kmemtrace, security: fix linux/key.h header file dependencies\n  kmemtrace, fs: fix linux/fdtable.h header file dependencies\n  kmemtrace, fs: uninline simple_transaction_set()\n  kmemtrace, fs, security: move alloc_secdata() and free_secdata() to linux/security.h\n"
    },
    {
      "commit": "aeb6fafb8fa53266d70ca7474fcda2bdaf96524a",
      "tree": "ebe8e0c616a9dbfdfe5184b64d0150ea02d3d1b2",
      "parents": [
        "644b2d99b7a8677a56909a7b1fde31677eba4471"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Apr 06 14:48:07 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 06 08:04:54 2009 -0700"
      },
      "message": "block: Add flag for telling the IO schedulers NOT to anticipate more IO\n\nBy default, CFQ will anticipate more IO from a given io context if the\npreviously completed IO was sync. This used to be fine, since the only\nsync IO was reads and O_DIRECT writes. But with more \"normal\" sync writes\nbeing used now, we don\u0027t want to anticipate for those.\n\nAdd a bio/request flag that informs the IO scheduler that this is a sync\nrequest that we should not idle for. Introduce WRITE_ODIRECT specifically\nfor O_DIRECT writes, and make sure that the other sync writes set this\nflag.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a1f242524c3c1f5d40f1c9c343427e34d1aadd6e",
      "tree": "53d085bd25792ab45dafbd4ab1dc537c6ab8e467",
      "parents": [
        "1faa16d22877f4839bd433547d770c676d1d964c"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Apr 06 14:48:02 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 06 08:04:53 2009 -0700"
      },
      "message": "Add WRITE_SYNC_PLUG and SWRITE_SYNC_PLUG\n\n(S)WRITE_SYNC always unplugs the device right after IO submission.\nSometimes we want to build up a queue before doing so, so add\nvariants that explicitly DON\u0027T unplug the queue. The caller must\nthen do that after submitting all the IO.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "76791ab2d5e00c1eef728a8df4347ba133760fb8",
      "tree": "8065964f857f0627b4dd3ea041dfd4c92df70bc9",
      "parents": [
        "3d544f411f2971eb82f5c52322251eb04494542a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 25 16:48:35 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 03 12:09:09 2009 +0200"
      },
      "message": "kmemtrace, fs: uninline simple_transaction_set()\n\nImpact: cleanup\n\nWe want to remove percpu.h from rcupdate.h (for upcoming kmemtrace\nchanges), but this is not possible currently without breaking the\nbuild because fs.h has an implicit include file depedency: it\nuses PAGE_SIZE but does not include asm/page.h which defines it.\n\nThis problem gets masked in practice because most fs.h using sites\nuse rcupreempt.h (and other headers) which includes percpu.h which\nbrings in asm/page.h indirectly.\n\nWe cannot add asm/page.h to asm/fs.h because page.h is not an\nexported header.\n\nMove simple_transaction_set() to the other simple-transaction\nfile helpers in fs/libfs.c.\n\nThis removes the include file hell and also reduces\nkernel size a bit.\n\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nCc: paulmck@linux.vnet.ibm.com\nLKML-Reference: \u003c1237898630.25315.83.camel@penberg-laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "3d544f411f2971eb82f5c52322251eb04494542a",
      "tree": "ceeae2876e2ca76acf44e15bd64d98ffefb113d4",
      "parents": [
        "645dae969c3b8651c5bc7c54a1835ec03820f85f"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Tue Mar 24 11:59:23 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 03 12:08:57 2009 +0200"
      },
      "message": "kmemtrace, fs, security: move alloc_secdata() and free_secdata() to linux/security.h\n\nImpact: cleanup\n\nWe want to remove percpu.h from rcupdate.h (for upcoming kmemtrace\nchanges), but this is not possible currently without breaking the\nbuild because fs.h has implicit include file depedencies: it uses\nGFP_* types in inlines but does not include gfp.h.\n\nIn practice most fs.h using .c files get gfp.h included implicitly,\nvia an indirect route: via rcupdate.h inclusion - so this underlying\nproblem gets masked in practice.\n\nSo we want to solve fs.h\u0027s dependency on gfp.h.\n\ngfp.h can not be included here directly because it is not exported and it\nwould break the build the following way:\n\n  /home/mingo/tip/usr/include/linux/bsg.h:11: found __[us]{8,16,32,64} type without #include \u003clinux/types.h\u003e\n  /home/mingo/tip/usr/include/linux/fs.h:11: included file \u0027linux/gfp.h\u0027 is not exported\n  make[3]: *** [/home/mingo/tip/usr/include/linux/.check] Error 1\n  make[2]: *** [linux] Error 2\n\nAs suggested by Alexey Dobriyan, move alloc_secdata() and free_secdata()\nto linux/security.h - they belong there. This also cleans fs.h of GFP_*\nusage.\n\nSuggested-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Eduard - Gabriel Munteanu \u003ceduard.munteanu@linux360.ro\u003e\nLKML-Reference: \u003c1237906803.25315.96.camel@penberg-laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\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": "c2d7543851849a6923680cdd7e1047ed1a84a1c5",
      "tree": "bf3038819d4be83a1d1e64d7b95bbb3d9d908544",
      "parents": [
        "55a63998b8967615a15e2211ba0ff3a84a565824"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Mar 31 15:23:46 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:17 2009 -0700"
      },
      "message": "filesystem freeze: allow SysRq emergency thaw to thaw frozen filesystems\n\nNow that the filesystem freeze operation has been elevated to the VFS, and\nis just an ioctl away, some sort of safety net for unintentionally frozen\nroot filesystems may be in order.\n\nThe timeout thaw originally proposed did not get merged, but perhaps\nsomething like this would be useful in emergencies.\n\nFor example, freeze /path/to/mountpoint may freeze your root filesystem if\nyou forgot that you had that unmounted.\n\nI chose \u0027j\u0027 as the last remaining character other than \u0027h\u0027 which is sort\nof reserved for help (because help is generated on any unknown character).\n\nI\u0027ve tested this on a non-root fs with multiple (nested) freezers, as well\nas on a system rendered unresponsive due to a frozen root fs.\n\n[randy.dunlap@oracle.com: emergency thaw only if CONFIG_BLOCK enabled]\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Takashi Sato \u003ct-sato@yk.jp.nec.com\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "47e4491b40df73c3b117e3d80b31b5b512a4b19f",
      "tree": "a751af5e30db8f935b97bd671d0055d670b75fe5",
      "parents": [
        "e5824c97a993ac5bd22cec34e6cb6f85d39b73ba"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Apr 01 07:07:16 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Apr 01 07:07:16 2009 -0400"
      },
      "message": "Cleanup after commit 585d3bc06f4ca57f975a5a1f698f65a45ea66225\n\nfsync_bdev() export and a bunch of stubs for !CONFIG_BLOCK case had\nbeen left behind\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\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": "2d25ee36c84d5b2d6be8bfaf80256ecad69a06ca",
      "tree": "4e8fff4b3de41cec400385fdadd143c8d5d91904",
      "parents": [
        "915db32ddbc967f023fbf7d7f01cca9e05606a9b",
        "4a6a4499693a419a20559c41e33a7bd70bf20a6f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 30 11:31:47 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 30 11:31:47 2009 -0700"
      },
      "message": "Merge branch \u0027bkl-removal\u0027 of git://git.lwn.net/linux-2.6\n\n* \u0027bkl-removal\u0027 of git://git.lwn.net/linux-2.6:\n  Fix a lockdep warning in fasync_helper()\n  Add a missing unlock_kernel() in raw_open()\n"
    },
    {
      "commit": "4a6a4499693a419a20559c41e33a7bd70bf20a6f",
      "tree": "7a89d08f0b2f19e1b84b38869596c8a84ab6f583",
      "parents": [
        "996ff68d8b358885c1de82a45517c607999947c7"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Fri Mar 27 12:24:31 2009 -0600"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Mon Mar 30 08:00:24 2009 -0600"
      },
      "message": "Fix a lockdep warning in fasync_helper()\n\nLockdep gripes if file-\u003ef_lock is taken in a no-IRQ situation, since that\nis not always the case.  We don\u0027t really want to disable IRQs for every\nacquisition of f_lock; instead, just move it outside of fasync_lock.\n\nReported-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nReported-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nReported-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\n"
    },
    {
      "commit": "3ae5080f4c2e293229508dabe7c8a90af4e4c460",
      "tree": "9cb11f26905a82b7fac9d3b8f9d61d58bc5c94b0",
      "parents": [
        "2c9e15a011c55ff96b2b8d2b126d1b9a96abba20",
        "aabb8fdb41128705fd1627f56fdd571e45fdbcdb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 27 16:23:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 27 16:23:12 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: (37 commits)\n  fs: avoid I_NEW inodes\n  Merge code for single and multiple-instance mounts\n  Remove get_init_pts_sb()\n  Move common mknod_ptmx() calls into caller\n  Parse mount options just once and copy them to super block\n  Unroll essentials of do_remount_sb() into devpts\n  vfs: simple_set_mnt() should return void\n  fs: move bdev code out of buffer.c\n  constify dentry_operations: rest\n  constify dentry_operations: configfs\n  constify dentry_operations: sysfs\n  constify dentry_operations: JFS\n  constify dentry_operations: OCFS2\n  constify dentry_operations: GFS2\n  constify dentry_operations: FAT\n  constify dentry_operations: FUSE\n  constify dentry_operations: procfs\n  constify dentry_operations: ecryptfs\n  constify dentry_operations: CIFS\n  constify dentry_operations: AFS\n  ...\n"
    },
    {
      "commit": "a3ec947c85ec339884b30ef6a08133e9311fdae1",
      "tree": "c3cc5859a6b6d8986547405b6c5bd11bc8916114",
      "parents": [
        "585d3bc06f4ca57f975a5a1f698f65a45ea66225"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@linux.vnet.ibm.com",
        "time": "Wed Mar 04 12:06:34 2009 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 27 14:44:03 2009 -0400"
      },
      "message": "vfs: simple_set_mnt() should return void\n\nsimple_set_mnt() is defined as returning \u0027int\u0027 but always returns 0.\nCallers assume simple_set_mnt() never fails and don\u0027t properly cleanup if\nit were to _ever_ fail.  For instance, get_sb_single() and get_sb_nodev()\nshould:\n\n        up_write(sb-\u003es_unmount);\n        deactivate_super(sb);\n\nif simple_set_mnt() fails.\n\nSince simple_set_mnt() never fails, would be cleaner if it did not\nreturn anything.\n\n[akpm@linux-foundation.org: fix build]\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@linux.vnet.ibm.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "585d3bc06f4ca57f975a5a1f698f65a45ea66225",
      "tree": "393cbd213e714f00c0cae85851e7837ed88b9a99",
      "parents": [
        "3ba13d179e8c24c68eac32b93593a6b10fcd1572"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Feb 25 10:44:19 2009 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 27 14:44:03 2009 -0400"
      },
      "message": "fs: move bdev code out of buffer.c\n\nMove some block device related code out from buffer.c and put it in\nblock_dev.c. I\u0027m trying to move non-buffer_head code out of buffer.c\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "af5df56688acfb75c1b15b4e000ec5e82a9cdc29",
      "tree": "26ba8c442768453fb3fde2e9b55d05d95a6f5b02",
      "parents": [
        "c2aca5e529a2499d454c41e01f59f1d5fe4a1364"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jan 20 10:29:46 2009 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 27 14:43:59 2009 -0400"
      },
      "message": "vfs: Further changes from macro to inline function in fs.h\n\nThere is a second set of macros for when CONFIG_FILE_LOCKING is\nnot set. This patch updates those to become inline functions\nas well.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c2aca5e529a2499d454c41e01f59f1d5fe4a1364",
      "tree": "80515a22164ab4722ccac3026e65dfa186b0707e",
      "parents": [
        "10f303ae1e5e77a9f7cb053e6329906afb132c67"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jan 20 10:29:45 2009 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 27 14:43:58 2009 -0400"
      },
      "message": "vfs: Update fs.h to use inline functions when no file locking set\n\nThis avoids various issues which might give rise to compiler warnings\nabout missing functions and/or unused variable with the previous\nmacros. This also fixes a bug where one of the macros was returning\n0, but it should have been void.\n\nReported-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nTested-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "10f303ae1e5e77a9f7cb053e6329906afb132c67",
      "tree": "720e7d57a46da824f217ab0dc5b2682814aadfa4",
      "parents": [
        "723be1f30046a46471b00106ebef9d8c832f12e9"
      ],
      "author": {
        "name": "Cheng Renquan",
        "email": "crquan@gmail.com",
        "time": "Wed Jan 14 17:01:33 2009 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 27 14:43:58 2009 -0400"
      },
      "message": "do_pipe cleanup: drop its last user in arch/alpha/\n\nThe last user of do_pipe is in arch/alpha/, after replacing it with\ndo_pipe_flags, the do_pipe can be totally dropped.\n\nSigned-off-by: Cheng Renquan \u003ccrquan@gmail.com\u003e\nAcked-by: Richard Henderson \u003crth@twiddle.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8e9d2089723d08d51e66c5eea49253d76e27941e",
      "tree": "cf15609d5eeb0c1f3a39231d8ce793d3c8ad0ed0",
      "parents": [
        "ba1eb95cf3cc666769afe42eaa15a3a34ae82f94",
        "60aa49243d09afc873f082567d2e3c16634ced84"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 16:14:02 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 16:14:02 2009 -0700"
      },
      "message": "Merge branch \u0027bkl-removal\u0027 of git://git.lwn.net/linux-2.6\n\n* \u0027bkl-removal\u0027 of git://git.lwn.net/linux-2.6:\n  Rationalize fasync return values\n  Move FASYNC bit handling to f_op-\u003efasync()\n  Use f_lock to protect f_flags\n  Rename struct file-\u003ef_ep_lock\n"
    },
    {
      "commit": "d0adde574b8487ef30f69e2d08bba769e4be513f",
      "tree": "fa8b98978bc9ebe607cbdf78c4ed13eeb545ba80",
      "parents": [
        "11ff6f05f1e836a6a02369a4c4b64757e484adc1"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Mar 26 17:49:56 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 10:56:35 2009 -0700"
      },
      "message": "Add a strictatime mount option\n\nAdd support for explicitly requesting full atime updates. This makes it\npossible for kernels to default to relatime but still allow userspace to\noverride it.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "db1dd4d376134eba0e08af523b61cc566a4ea1cd",
      "tree": "8882c673abbaa5713511b7046493fa862b9140d1",
      "parents": [
        "684999149002dd046269666a390458e0acb38280"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Fri Feb 06 15:25:24 2009 -0700"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Mon Mar 16 08:32:27 2009 -0600"
      },
      "message": "Use f_lock to protect f_flags\n\nTraditionally, changes to struct file-\u003ef_flags have been done under BKL\nprotection, or with no protection at all.  This patch causes all f_flags\nchanges after file open/creation time to be done under protection of\nf_lock.  This allows the removal of some BKL usage and fixes a number of\nlongstanding (if microscopic) races.\n\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\n"
    },
    {
      "commit": "684999149002dd046269666a390458e0acb38280",
      "tree": "b12ea4a953ba2bd90428092e7f35a222a4109510",
      "parents": [
        "041b62374c7fedc11a8a1eeda2868612d3d1436c"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Fri Feb 06 13:52:43 2009 -0700"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Mon Mar 16 08:32:27 2009 -0600"
      },
      "message": "Rename struct file-\u003ef_ep_lock\n\nThis lock moves out of the CONFIG_EPOLL ifdef and becomes f_lock.  For now,\nepoll remains the only user, but a future patch will use it to protect\nf_flags as well.\n\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\n"
    },
    {
      "commit": "ba95fd47d177d46743ad94055908d22840370e06",
      "tree": "f29e6921fefba2728c3b7f6854ac7f7729f602b2",
      "parents": [
        "59af0a0b5848caf38f1bf7013905c3e9cdba4d1d",
        "be987fdb55a4726e2fcbab7501f89276bdb57288"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 18:33:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 18:33:04 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: fix deadlock in blk_abort_queue() for drivers that readd to timeout list\n  block: fix booting from partitioned md array\n  block: revert part of 18ce3751ccd488c78d3827e9f6bf54e6322676fb\n  cciss: PCI power management reset for kexec\n  paride/pg.c: xs(): \u0026\u0026/|| confusion\n  fs/bio: bio_alloc_bioset: pass right object ptr to mempool_free\n  block: fix bad definition of BIO_RW_SYNC\n  bsg: Fix sense buffer bug in SG_IO\n"
    },
    {
      "commit": "55ec82176eca52e4e0530a82a0eb59160a1a95a1",
      "tree": "2d052ca4cf055fbcfc4b019ec45f8df5eea13749",
      "parents": [
        "b851ee7921fabdd7dfc96ffc4e9609f5062bd12b"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Wed Feb 18 14:48:15 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:53 2009 -0800"
      },
      "message": "vfs: separate FMODE_PREAD/FMODE_PWRITE into separate flags\n\nSeparate FMODE_PREAD and FMODE_PWRITE into separate flags to reflect the\nreality that the read and write paths may have independent restrictions.\n\nA git grep verifies that these flags are always cleared together so this\nnew behavior will only apply to interfaces that change to clear flags\nindividually.\n\nThis is required for \"seq_file: properly cope with pread\", a post-2.6.25\nregression fix.\n\n[akpm@linux-foundation.org: add comment]\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nCc: Eric Biederman \u003cebiederm@xmission.com\u003e\nCc:  Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.25.x, 2.6.26.x, 2.6.27.x, 2.6.28.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "93dbb393503d53cd226e5e1f0088fe8f4dbaa2b8",
      "tree": "790365e207951cf6810e8995f3141ddc0b74519b",
      "parents": [
        "c1c201200a359cf3b6e2e36a4236cdca77a3cd8e"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Feb 16 10:25:40 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Feb 18 10:32:00 2009 +0100"
      },
      "message": "block: fix bad definition of BIO_RW_SYNC\n\nWe can\u0027t OR shift values, so get rid of BIO_RW_SYNC and use BIO_RW_SYNCIO\nand BIO_RW_UNPLUG explicitly. This brings back the behaviour from before\n213d9417fec62ef4c3675621b9364a667954d4dd.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "fcccf502540e3d752d33b2d8e976034dee81f9f7",
      "tree": "401be4ad2fc3c535a2fc77e413b1be4a736f320c",
      "parents": [
        "c4be0c1dc4cdc37b175579be1460f15ac6495e9a"
      ],
      "author": {
        "name": "Takashi Sato",
        "email": "t-sato@yk.jp.nec.com",
        "time": "Fri Jan 09 16:40:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 16:54:42 2009 -0800"
      },
      "message": "filesystem freeze: implement generic freeze feature\n\nThe ioctls for the generic freeze feature are below.\no Freeze the filesystem\n  int ioctl(int fd, int FIFREEZE, arg)\n    fd: The file descriptor of the mountpoint\n    FIFREEZE: request code for the freeze\n    arg: Ignored\n    Return value: 0 if the operation succeeds. Otherwise, -1\n\no Unfreeze the filesystem\n  int ioctl(int fd, int FITHAW, arg)\n    fd: The file descriptor of the mountpoint\n    FITHAW: request code for unfreeze\n    arg: Ignored\n    Return value: 0 if the operation succeeds. Otherwise, -1\n    Error number: If the filesystem has already been unfrozen,\n                  errno is set to EINVAL.\n\n[akpm@linux-foundation.org: fix CONFIG_BLOCK\u003dn]\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": "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": "2150edc6c5cf00f7adb54538b9ea2a3e9cedca3f",
      "tree": "f72a0d85e66f500b4cead348a231e3d3b9f357bc",
      "parents": [
        "cd764695b67386a81964f68e9c66efd9f13f4d29",
        "4b905671d2ea09fd48fed72c581df17e40823f39"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 17:14:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 17:14:59 2009 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (57 commits)\n  jbd2: Fix oops in jbd2_journal_init_inode() on corrupted fs\n  ext4: Remove \"extents\" mount option\n  block: Add Kconfig help which notes that ext4 needs CONFIG_LBD\n  ext4: Make printk\u0027s consistently prefixed with \"EXT4-fs: \"\n  ext4: Add sanity checks for the superblock before mounting the filesystem\n  ext4: Add mount option to set kjournald\u0027s I/O priority\n  jbd2: Submit writes to the journal using WRITE_SYNC\n  jbd2: Add pid and journal device name to the \"kjournald2 starting\" message\n  ext4: Add markers for better debuggability\n  ext4: Remove code to create the journal inode\n  ext4: provide function to release metadata pages under memory pressure\n  ext3: provide function to release metadata pages under memory pressure\n  add releasepage hooks to block devices which can be used by file systems\n  ext4: Fix s_dirty_blocks_counter if block allocation failed with nodelalloc\n  ext4: Init the complete page while building buddy cache\n  ext4: Don\u0027t allow new groups to be added during block allocation\n  ext4: mark the blocks/inode bitmap beyond end of group as used\n  ext4: Use new buffer_head flag to check uninit group bitmaps initialization\n  ext4: Fix the race between read_inode_bitmap() and ext4_new_inode()\n  ext4: code cleanup\n  ...\n"
    },
    {
      "commit": "efaee192063a54749c56b7383803e16fe553630e",
      "tree": "b18e3072904e53701bdd7889bb32babf8cc7bf7c",
      "parents": [
        "f29d3b23238e1955a8094e038c72546e99308e61"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Tue Jan 06 07:20:54 2009 -0800"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Wed Jan 07 08:47:24 2009 -0800"
      },
      "message": "async: make the final inode deletion an asynchronous event\n\nthis makes \"rm -rf\" on a (names cached) kernel tree go from\n11.6 to 8.6 seconds on an ext3 filesystem\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "856bf4d717feb8c55d4e2f817b71ebb70cfbc67b",
      "tree": "f44790d9b8f42223955d1866645103ac5f9c68a3",
      "parents": [
        "38f21977663126fef53f5585e7f1653d8ebe55c4"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Jan 06 14:40:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:09 2009 -0800"
      },
      "message": "fs: sys_sync fix\n\ns_syncing livelock avoidance was breaking data integrity guarantee of\nsys_sync, by allowing sys_sync to skip writing or waiting for superblocks\nif there is a concurrent sys_sync happening.\n\nThis livelock avoidance is much less important now that we don\u0027t have the\nget_super_to_sync() call after every sb that we sync.  This was replaced\nby __put_super_and_need_restart.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c54febae996d36c630f09209cd9983ecfda3fcad",
      "tree": "35b2717dcd4e4ff2206cd468b5895afb16f49c8c",
      "parents": [
        "e42e4ba07bc72c0eb7c7ab3bf9e5076db90d0f37",
        "eb8374e71f941a1b3c2ed6ea19dc809e7124dc5d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:52:54 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:52:54 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (27 commits)\n  GFS2: Use DEFINE_SPINLOCK\n  GFS2: Fix use-after-free bug on umount (try #2)\n  Revert \"GFS2: Fix use-after-free bug on umount\"\n  GFS2: Streamline alloc calculations for writes\n  GFS2: Send useful information with uevent messages\n  GFS2: Fix use-after-free bug on umount\n  GFS2: Remove ancient, unused code\n  GFS2: Move four functions from super.c\n  GFS2: Fix bug in gfs2_lock_fs_check_clean()\n  GFS2: Send some sensible sysfs stuff\n  GFS2: Kill two daemons with one patch\n  GFS2: Move gfs2_recoverd into recovery.c\n  GFS2: Fix \"truncate in progress\" hang\n  GFS2: Clean up \u0026 move gfs2_quotad\n  GFS2: Add more detail to debugfs glock dumps\n  GFS2: Banish struct gfs2_rgrpd_host\n  GFS2: Move rg_free from gfs2_rgrpd_host to gfs2_rgrpd\n  GFS2: Move rg_igeneration into struct gfs2_rgrpd\n  GFS2: Banish struct gfs2_dinode_host\n  GFS2: Move i_size from gfs2_dinode_host and rename it to i_disksize\n  ...\n"
    },
    {
      "commit": "520c85346666d4d9a6fcaaa8450542302dc28b91",
      "tree": "9c9cc9e2493b606104dd8602302ae28258ebeac0",
      "parents": [
        "e8c82c2e23e3527e0c9dc195e432c16784d270fa",
        "4ae8978cf92a96257cd8998a49e781be83571d64"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:32:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:32:06 2009 -0800"
      },
      "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  inotify: fix type errors in interfaces\n  fix breakage in reiserfs_new_inode()\n  fix the treatment of jfs special inodes\n  vfs: remove duplicate code in get_fs_type()\n  add a vfs_fsync helper\n  sys_execve and sys_uselib do not call into fsnotify\n  zero i_uid/i_gid on inode allocation\n  inode-\u003ei_op is never NULL\n  ntfs: don\u0027t NULL i_op\n  isofs check for NULL -\u003ei_op in root directory is dead code\n  affs: do not zero -\u003ei_op\n  kill suid bit only for regular files\n  vfs: lseek(fd, 0, SEEK_CUR) race condition\n"
    },
    {
      "commit": "4c728ef583b3d82266584da5cb068294c09df31e",
      "tree": "1252fa82b5a7cf60c0898c3da810228b4c34ebb3",
      "parents": [
        "6110e3abbff8b785907d4db50240e63c1be726e3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Dec 22 21:11:15 2008 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 05 11:54:28 2009 -0500"
      },
      "message": "add a vfs_fsync helper\n\nFsync currently has a fdatawrite/fdatawait pair around the method call,\nand a mutex_lock/unlock of the inode mutex.  All callers of fsync have\nto duplicate this, but we have a few and most of them don\u0027t quite get\nit right.  This patch adds a new vfs_fsync that takes care of this.\nIt\u0027s a little more complicated as usual as -\u003efsync might get a NULL file\npointer and just a dentry from nfsd, but otherwise gets afile and we\nwant to take the mapping and file operations from it when it is there.\n\nNotes on the fsync callers:\n\n - ecryptfs wasn\u0027t calling filemap_fdatawrite / filemap_fdatawait on the\n   \tlower file\n - coda wasn\u0027t calling filemap_fdatawrite / filemap_fdatawait on the host\n\tfile, and returning 0 when -\u003efsync was missing\n - shm wasn\u0027t calling either filemap_fdatawrite / filemap_fdatawait nor\n   taking i_mutex.  Now given that shared memory doesn\u0027t have disk\n   backing not doing anything in fsync seems fine and I left it out of\n   the vfs_fsync conversion for now, but in that case we might just\n   not pass it through to the lower file at all but just call the no-op\n   simple_sync_file directly.\n\n[and now actually export vfs_fsync]\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e9079cce201784632aed4b1a3121ee38c1ced0b6",
      "tree": "6d99fc45afb3889e5835d713948226d7548d6750",
      "parents": [
        "fe0bdec68b77020281dc814805edfe594ae89e0f"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Oct 14 14:43:29 2008 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 05 07:38:46 2009 +0000"
      },
      "message": "GFS2: Support for FIEMAP ioctl\n\nThis patch implements the FIEMAP ioctl for GFS2. We can use the generic\ncode (aside from a lock order issue, solved as per Ted Tso\u0027s suggestion)\nfor which I\u0027ve introduced a new variant of the generic function. We also\nhave one exception to deal with, namely stuffed files, so we do that\n\"by hand\", setting all the required flags.\n\nThis has been tested with a modified (I could only find an old version) of\nEric\u0027s test program, and appears to work correctly.\n\nThis patch does not currently support FIEMAP of xattrs, but the plan is to add\nthat feature at some future point.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Theodore Tso \u003ctytso@mit.edu\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\n"
    },
    {
      "commit": "54566b2c1594c2326a645a3551f9d989f7ba3c5e",
      "tree": "b373f3283fe5e197d0df29cd6b645c35adf1076c",
      "parents": [
        "e687d691cb3790d25e31c74f5941fd7c565e9df5"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sun Jan 04 12:00:53 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 04 13:33:20 2009 -0800"
      },
      "message": "fs: symlink write_begin allocation context fix\n\nWith the write_begin/write_end aops, page_symlink was broken because it\ncould no longer pass a GFP_NOFS type mask into the point where the\nallocations happened.  They are done in write_begin, which would always\nassume that the filesystem can be entered from reclaim.  This bug could\ncause filesystem deadlocks.\n\nThe funny thing with having a gfp_t mask there is that it doesn\u0027t really\nallow the caller to arbitrarily tinker with the context in which it can be\ncalled.  It couldn\u0027t ever be GFP_ATOMIC, for example, because it needs to\ntake the page lock.  The only thing any callers care about is __GFP_FS\nanyway, so turn that into a single flag.\n\nAdd a new flag for write_begin, AOP_FLAG_NOFS.  Filesystems can now act on\nthis flag in their write_begin function.  Change __grab_cache_page to\naccept a nofs argument as well, to honour that flag (while we\u0027re there,\nchange the name to grab_cache_page_write_begin which is more instructive\nand does away with random leading underscores).\n\nThis is really a more flexible way to go in the end anyway -- if a\nfilesystem happens to want any extra allocations aside from the pagecache\nones in ints write_begin function, it may now use GFP_KERNEL (rather than\nGFP_NOFS) for common case allocations (eg.  ocfs2_alloc_write_ctxt, for a\nrandom example).\n\n[kosaki.motohiro@jp.fujitsu.com: fix ubifs]\n[kosaki.motohiro@jp.fujitsu.com: fix fuse]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.28.x]\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n[ Cleaned up the calling convention: just pass in the AOP flags\n  untouched to the grab_cache_page_write_begin() function.  That\n  just simplifies everybody, and may even allow future expansion of the\n  logic.   - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "87d8fe1ee6b8d2f95076142d58c440dba4e7bdc2",
      "tree": "8c91506978a16c22268b086f693e307de0ca57db",
      "parents": [
        "0087d9fb3f29f59e8d42c8b058376d80e5adde4c"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Jan 03 09:47:09 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Jan 03 09:47:09 2009 -0500"
      },
      "message": "add releasepage hooks to block devices which can be used by file systems\n\nImplement blkdev_releasepage() to release the buffer_heads and pages\nafter we release private data belonging to a mounted filesystem.\n\nCc: Toshiyuki Okajima \u003ctoshi.okajima@jp.fujitsu.com\u003e\nCc: linux-fsdevel@vger.kernel.org\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "261bca86ed4f7f391d1938167624e78da61dcc6b",
      "tree": "4601cf090fbfec31fbd554a27c67c717a7caba4b",
      "parents": [
        "272eb01485dda98e3b8910c7c1a53d597616b0a0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 30 01:48:21 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:43 2008 -0500"
      },
      "message": "nfsd/create race fixes, infrastructure\n\nnew helpers - insert_inode_locked() and insert_inode_locked4().\nHash new inode, making sure that there\u0027s no such inode in icache\nalready.  If there is and it does not end up unhashed (as would\nhappen if we have nfsd trying to resolve a bogus fhandle), fail.\nOtherwise insert our inode into hash and succeed.\n\nIn either case have i_state set to new+locked; cleanup ends up\nbeing simpler with such calling conventions.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6badd79bd002788aaec27b50a74ab69ef65ab8ee",
      "tree": "2a47bf53a7fe2316d98cca71f0b7d01d5024a5ea",
      "parents": [
        "b6b3fdead251d432f32f2cfce2a893ab8a658110"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Dec 26 00:57:40 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:43 2008 -0500"
      },
      "message": "kill -\u003edir_notify()\n\nRemove the hopelessly misguided -\u003edir_notify().  The only instance (cifs)\nhas been broken by design from the very beginning; the objects it creates\nare never destroyed, keep references to struct file they can outlive, nothing\nthat could possibly evict them exists on close(2) path *and* no locking\nwhatsoever is done to prevent races with close(), should the previous, er,\ndeficiencies someday be dealt with.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cb23beb55100171646e69e248fb45f10db6e99a4",
      "tree": "a8868859b02f14dc27ef560de903088ca35b4ad4",
      "parents": [
        "3fb64190aa3c23c10e6e9fd0124ac030115c99bf"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 24 09:59:29 2008 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:41 2008 -0500"
      },
      "message": "kill vfs_permission\n\nWith all the nameidata removal there\u0027s no point anymore for this helper.\nOf the three callers left two will go away with the next lookup series\nanyway.\n\nAlso add proper kerneldoc to inode_permission as this is the main\npermission check routine now.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3fb64190aa3c23c10e6e9fd0124ac030115c99bf",
      "tree": "6b7b5452d2abbe7964803d8a95c03e5612c8e607",
      "parents": [
        "b4091d5f6fde28ab762e1094a1a26d81f3badfa5"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 24 09:58:10 2008 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:41 2008 -0500"
      },
      "message": "pass a struct path * to may_open\n\nNo need for the nameidata in may_open - a struct path is enough.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "dded4f4d5048e64a01cf52eed4d27c8cb2600525",
      "tree": "8c9f4bb7dd7ef7a2a263d5f16fd618e36d8be0d2",
      "parents": [
        "c2452f32786159ed85f0e4b21fec09258f822fc8"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Mon Dec 01 14:34:50 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:38 2008 -0500"
      },
      "message": "include: linux/fs.h: put declarations in __KERNEL__\n\ninclude/linux/fs.h contains externs for a bunch of variables.  That obviously\nbelongs under ifdef __KERNEL__.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\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": "cbacc2c7f066a1e01b33b0e27ae5efbf534bc2db",
      "tree": "90d1093131d2a3543a8b3b1f3364e7c6f4081a93",
      "parents": [
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91",
        "74192246910ff4fb95309ba1a683215644beeb62"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 25 11:40:09 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 25 11:40:09 2008 +1100"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n"
    },
    {
      "commit": "27a0464a6cb837d3a90b6e69365dfc01cb0dff2f",
      "tree": "361f00f4d4ad4c01b6144c52004bee2b948742ad",
      "parents": [
        "4d9d4ebf5de848e3450e23e4db9ac74e23e5daa6",
        "3d44cc3e01ee1b40317f79ed54324e25c4f848df"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Dec 22 17:34:26 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Dec 22 17:34:26 2008 +1100"
      },
      "message": "[XFS] Fix merge conflict in fs/xfs/xfs_rename.c\n\nMerge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tfs/xfs/xfs_rename.c\n\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": "fc9161e54d0dbf799beff9692ea1cc6237162b85",
      "tree": "07c08b1bd60cb3b8188aa3470fdf86612019c8ce",
      "parents": [
        "fd4ce1acd0f8558033b1a6968001552bd7671e6d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Nov 05 14:58:46 2008 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 04 04:22:58 2008 -0500"
      },
      "message": "[PATCH 2/2] documnt FMODE_ constants\n\nMake sure all FMODE_ constants are documents, and ensure a coherent\nstyle for the already existing comments.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "fd4ce1acd0f8558033b1a6968001552bd7671e6d",
      "tree": "7ce54f2b2c967fe2315917ffa2eb8eb7d47e7a2b",
      "parents": [
        "ebbefc011e56bd85b4745d01e5b8d7d05d95ed5d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Nov 05 14:58:42 2008 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 04 04:22:57 2008 -0500"
      },
      "message": "[PATCH 1/2] kill FMODE_NDELAY_NOW\n\nUpdate FMODE_NDELAY before each ioctl call so that we can kill the\nmagic FMODE_NDELAY_NOW.  It would be even better to do this directly\nin setfl(), but for that we\u0027d need to have FMODE_NDELAY for all files,\nnot just block special files.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d76b0d9b2d87cfc95686e148767cbf7d0e22bdc0",
      "tree": "1a2956614018d245facb256ffb8662568cdabcd4",
      "parents": [
        "1d045980e1eff4800472f0e81df9460640c8eee9"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:39:25 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:39:25 2008 +1100"
      },
      "message": "CRED: Use creds in file structs\n\nAttach creds to file structs and discard f_uid/f_gid.\n\nfile_operations::open() methods (such as hppfs_open()) should use file-\u003ef_cred\nrather than current_cred().  At the moment file-\u003ef_cred will be current_cred()\nat this point.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "745ca2475a6ac596e3d8d37c2759c0fbe2586227",
      "tree": "f87c34bdfbc8542477b16a014bbb4e3b415b286a",
      "parents": [
        "88e67f3b8898c5ea81d2916dd5b8bc9c0c35ba13"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:39:22 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:39:22 2008 +1100"
      },
      "message": "CRED: Pass credentials through dentry_open()\n\nPass credentials through dentry_open() so that the COW creds patch can have\nSELinux\u0027s flush_unauthorized_files() pass the appropriate creds back to itself\nwhen it opens its null chardev.\n\nThe security_dentry_open() call also now takes a creds pointer, as does the\ndentry_open hook in struct security_operations.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "da9592edebceeba1b9301beafe80ec8b9c2db0ce",
      "tree": "00c110cd8ff6d211d76ab4868b6175096a38aad5",
      "parents": [
        "82ab8deda7fef36f067ccdeacc3b3caefc970f89"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:39:05 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:39:05 2008 +1100"
      },
      "message": "CRED: Wrap task credential accesses in the filesystem subsystem\n\nWrap access to task credentials so that they can be separated more easily from\nthe task_struct during the introduction of COW creds.\n\nChange most current-\u003e(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id().\n\nChange some task-\u003ee?[ug]id to task_e?[ug]id().  In some places it makes more\nsense to use RCU directly rather than a convenient wrapper; these will be\naddressed by later patches.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "dcd7b4e5c0649b1d2219399529b20de1df517e55",
      "tree": "ef00739e48ddda0a30061d62a7348ed4b0c9aeeb",
      "parents": [
        "75fa67706cce5272bcfc51ed646f2da21f3bdb6e",
        "91b777125175077fb74025608dba87f100586c62"
      ],
      "author": {
        "name": "Niv Sardi",
        "email": "xaiki@debian.org",
        "time": "Fri Nov 07 15:07:12 2008 +1100"
      },
      "committer": {
        "name": "Niv Sardi",
        "email": "xaiki@debian.org",
        "time": "Fri Nov 07 15:07:12 2008 +1100"
      },
      "message": "Merge branch \u0027master\u0027 of git://oss.sgi.com:8090/xfs/linux-2.6\n"
    },
    {
      "commit": "4e02ed4b4a2fae34aae766a5bb93ae235f60adb8",
      "tree": "bddfb61b7cc4a4007ae176ccb1ace5740b61da8d",
      "parents": [
        "9b913735e53ab0da4a792bac0de8e178cc13dcfb"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Oct 29 14:00:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 30 11:38:45 2008 -0700"
      },
      "message": "fs: remove prepare_write/commit_write\n\nNothing uses prepare_write or commit_write. Remove them from the tree\ncompletely.\n\n[akpm@linux-foundation.org: schedule simple_prepare_write() for unexporting]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8290c35f87304a6b73d4fd17b03580b4f7425de8",
      "tree": "cf7fb08de3fd7a6a1ccb079d2d5d53837aca16fe",
      "parents": [
        "2cb1599f9b2ecdd7a9e59feeee647eb258966839"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:35:24 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Oct 30 17:35:24 2008 +1100"
      },
      "message": "Inode: Allow external list initialisation\n\nTo allow XFS to combine the XFS and linux inodes into a single\nstructure, we need to drive inode lookup from the XFS inode cache,\nnot the generic inode cache. This means that we need initialise a\nstruct inode from a context outside alloc_inode() as it is no longer\nused by XFS.\n\nAfter inode allocation and initialisation, we need to add the inode\nto the superblock list, the in-use list, hash it and do some\naccounting. This all needs to be done with the inode_lock held and\nthere are already several places in fs/inode.c that do this list\nmanipulation.  Factor out the common code, add a locking wrapper and\nexport the function so ti can be called from XFS.\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "2cb1599f9b2ecdd7a9e59feeee647eb258966839",
      "tree": "a54cb8c09d209e529d399874eb0be7bc365c5212",
      "parents": [
        "94b97e39b0c983e86f0028c456dcf213abc722a0"
      ],
      "author": {
        "name": "David Chinner",
        "email": "david@fromorbit.com",
        "time": "Thu Oct 30 17:32:23 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Thu Oct 30 17:32:23 2008 +1100"
      },
      "message": "Inode: Allow external initialisers\n\nTo allow XFS to combine the XFS and linux inodes into a single\nstructure, we need to drive inode lookup from the XFS inode cache,\nnot the generic inode cache. This means that we need initialise a\nstruct inode from a context outside alloc_inode() as it is no longer\nused by XFS.\n\nFactor and export the struct inode initialisation code from\nalloc_inode() to inode_init_always() as a counterpart to\ninode_init_once().  i.e. we have to call this init function for each\ninode instantiation (always), as opposed inode_init_once() which is\nonly called on slab object instantiation (once).\n\nSigned-off-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "88ed86fee6651033de9b7038dac7869a9f19775a",
      "tree": "38b638d2e7cba110ec271275738f221feb7e0a37",
      "parents": [
        "3856d30ded1fe43c6657927ebad402d25cd128f4",
        "59c7572e82d69483a66eaa67b46548baeb69ecf4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 12:04:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 12:04:37 2008 -0700"
      },
      "message": "Merge branch \u0027proc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc\n\n* \u0027proc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc: (35 commits)\n  proc: remove fs/proc/proc_misc.c\n  proc: move /proc/vmcore creation to fs/proc/vmcore.c\n  proc: move pagecount stuff to fs/proc/page.c\n  proc: move all /proc/kcore stuff to fs/proc/kcore.c\n  proc: move /proc/schedstat boilerplate to kernel/sched_stats.h\n  proc: move /proc/modules boilerplate to kernel/module.c\n  proc: move /proc/diskstats boilerplate to block/genhd.c\n  proc: move /proc/zoneinfo boilerplate to mm/vmstat.c\n  proc: move /proc/vmstat boilerplate to mm/vmstat.c\n  proc: move /proc/pagetypeinfo boilerplate to mm/vmstat.c\n  proc: move /proc/buddyinfo boilerplate to mm/vmstat.c\n  proc: move /proc/vmallocinfo to mm/vmalloc.c\n  proc: move /proc/slabinfo boilerplate to mm/slub.c, mm/slab.c\n  proc: move /proc/slab_allocators boilerplate to mm/slab.c\n  proc: move /proc/interrupts boilerplate code to fs/proc/interrupts.c\n  proc: move /proc/stat to fs/proc/stat.c\n  proc: move rest of /proc/partitions code to block/genhd.c\n  proc: move /proc/cpuinfo code to fs/proc/cpuinfo.c\n  proc: move /proc/devices code to fs/proc/devices.c\n  proc: move rest of /proc/locks to fs/locks.c\n  ...\n"
    },
    {
      "commit": "22484856402bfa1ff3defe47f6029ab0418240d9",
      "tree": "140c67bf59674da350a7b51765d6ff7eb101b597",
      "parents": [
        "5ed487bc2c44ca4e9668ef9cb54c830e2a9fac47",
        "56b26add02b4bdea81d5e0ebda60db1fe3311ad4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 10:23:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 10:23:07 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/viro/bdev\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/viro/bdev: (66 commits)\n  [PATCH] kill the rest of struct file propagation in block ioctls\n  [PATCH] get rid of struct file use in blkdev_ioctl() BLKBSZSET\n  [PATCH] get rid of blkdev_locked_ioctl()\n  [PATCH] get rid of blkdev_driver_ioctl()\n  [PATCH] sanitize blkdev_get() and friends\n  [PATCH] remember mode of reiserfs journal\n  [PATCH] propagate mode through swsusp_close()\n  [PATCH] propagate mode through open_bdev_excl/close_bdev_excl\n  [PATCH] pass fmode_t to blkdev_put()\n  [PATCH] kill the unused bsize on the send side of /dev/loop\n  [PATCH] trim file propagation in block/compat_ioctl.c\n  [PATCH] end of methods switch: remove the old ones\n  [PATCH] switch sr\n  [PATCH] switch sd\n  [PATCH] switch ide-scsi\n  [PATCH] switch tape_block\n  [PATCH] switch dcssblk\n  [PATCH] switch dasd\n  [PATCH] switch mtd_blkdevs\n  [PATCH] switch mmc\n  ...\n"
    },
    {
      "commit": "d8ba7a363393f803c93c8cffabd6d0362618bc2a",
      "tree": "331010c221eb9dfe396b2e6958a08f0fb695e117",
      "parents": [
        "ae048112c099b0f3adb57f7c0b3a49bc62244609"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Oct 04 22:34:18 2008 +0400"
      },
      "committer": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Oct 23 14:37:00 2008 +0400"
      },
      "message": "proc: move rest of /proc/locks to fs/locks.c\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    },
    {
      "commit": "08b9fe6b12d32324f311c46b88102b6b9067d434",
      "tree": "899571d596659943bfe236fe89095c6911e73fe3",
      "parents": [
        "a77b72da24ecfe262760874c55e3f6461f1dec0d"
      ],
      "author": {
        "name": "Mimi Zohar",
        "email": "zohar@linux.vnet.ibm.com",
        "time": "Mon Oct 13 00:09:50 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Oct 23 05:13:28 2008 -0400"
      },
      "message": "[PATCH] i_version: remount support\n\nAdd support for remounting a filesystem with the i_version option.\n\nSigned-off-by: Mimi Zohar \u003czohar@us.ibm.com\u003e\n"
    },
    {
      "commit": "f696a3659fc4b3a3bf4bc83d9dbec5e5a2ffd929",
      "tree": "738adf557608f26e881a710839de12b7527549b6",
      "parents": [
        "5cec56deb6d41b5b570306b17cd0b1590ebd0897"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Thu Jul 31 13:41:58 2008 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Oct 23 05:13:25 2008 -0400"
      },
      "message": "[PATCH] move executable checking into -\u003epermission()\n\nFor execute permission on a regular files we need to check if file has\nany execute bits at all, regardless of capabilites.\n\nThis check is normally performed by generic_permission() but was also\nadded to the case when the filesystem defines its own -\u003epermission()\nmethod.  In the latter case the filesystem should be responsible for\nperforming this check.\n\nMove the check from inode_permission() inside filesystems which are\nnot calling generic_permission().\n\nCreate a helper function execute_ok() that returns true if the inode\nis a directory or if any execute bits are present in i_mode.\n\nAlso fix up the following code:\n\n - coda control file is never executable\n - sysctl files are never executable\n - hfs_permission seems broken on MAY_EXEC, remove\n - hfsplus_permission is eqivalent to generic_permission(), remove\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "6de24f0ed08054b2a202902e4d63beff27654db8",
      "tree": "91f378a0335b5b9756020d37e1c54bba4a2d6434",
      "parents": [
        "8966c5e0fc867f5a7da5756b4cd1b8bbbed3d5dd"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Aug 28 06:25:49 2008 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Oct 23 05:13:13 2008 -0400"
      },
      "message": "[PATCH 1/2] anondev: init IDR statically\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    },
    {
      "commit": "56b26add02b4bdea81d5e0ebda60db1fe3311ad4",
      "tree": "3e9b5877f77ce24a6d17574ff3d32ae8351fa0ef",
      "parents": [
        "6af3a56e1dd4d95836a47214e5c60d5b749a5501"
      ],
      "author": {
        "name": "Al Viro",
        "email": "al@aretha.pdmi.ras.ru",
        "time": "Fri Sep 19 03:17:36 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:49:14 2008 -0400"
      },
      "message": "[PATCH] kill the rest of struct file propagation in block ioctls\n\nNow we can switch blkdev_ioctl() block_device/mode\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e436fdae70a31102d2be32969b80fe8545edebd9",
      "tree": "ab07320851fc5ae82bc422ab54dbb922a8057452",
      "parents": [
        "572c48921574dbe6dceb958cf965aa962baefde4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "al@aretha.pdmi.ras.ru",
        "time": "Thu Sep 18 03:38:12 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:49:08 2008 -0400"
      },
      "message": "[PATCH] get rid of blkdev_driver_ioctl()\n\nconvert remaining callers to __blkdev_driver_ioctl()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "572c48921574dbe6dceb958cf965aa962baefde4",
      "tree": "c1d889288d567cb6b596d10041526d2a8031bae3",
      "parents": [
        "e5eb8caa83a76191feb9705c1a0a689ca260b91e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 08 13:24:05 2007 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:49:06 2008 -0400"
      },
      "message": "[PATCH] sanitize blkdev_get() and friends\n\n* get rid of fake struct file/struct dentry in __blkdev_get()\n* merge __blkdev_get() and do_open()\n* get rid of flags argument of blkdev_get()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "30c40d2c01f68c7eb1a41ab3552bdaf5dbf300d4",
      "tree": "38b69a80c4c0df13ef3b905f5195f6cadf930223",
      "parents": [
        "9a1c3542768b5a58e45a9216921cd10a3bae1205"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 22 19:50:45 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:49:00 2008 -0400"
      },
      "message": "[PATCH] propagate mode through open_bdev_excl/close_bdev_excl\n\nreplace open_bdev_excl/close_bdev_excl with variants taking fmode_t.\nsuperblock gets the value used to mount it stored in sb-\u003es_mode\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9a1c3542768b5a58e45a9216921cd10a3bae1205",
      "tree": "c20ffda950db868ec7e1e35aed532962de2ecfd9",
      "parents": [
        "511de73ff09034fb89c8d54bed201a10d057328c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 22 20:40:24 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:48:58 2008 -0400"
      },
      "message": "[PATCH] pass fmode_t to blkdev_put()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    }
  ],
  "next": "d4430d62fa77208824a37fe6f85ab2831d274769"
}
