)]}'
{
  "log": [
    {
      "commit": "f6d335c08df48b318187a087c9c38ba3d416e115",
      "tree": "ccee5ad0c46fea4c34d435d5d869f43394dd9a81",
      "parents": [
        "4403158ba295c8e36f6736b1bb12d0f7e1923dac"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Fri May 21 15:27:09 2010 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 21 18:31:28 2010 -0400"
      },
      "message": "AFS: Don\u0027t put struct file on the stack\n\nDon\u0027t put struct file on the stack as it takes up quite a lot of space\nand violates lifetime rules for struct file.\n\nRather than calling afs_readpage() indirectly from the directory routines by\nway of read_mapping_page(), split afs_readpage() to have afs_page_filler()\nthat\u0027s given a key instead of a file and call read_cache_page(), specifying the\nnew function directly.  Use it in afs_readpages() as well.\n\nAlso make use of this in afs_mntpt_check_symlink() too for the same reason.\n\nReported-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "970b06485ffee36aa3549dfe4c6b2a2c2118354d",
      "tree": "1b0f6f4182e73d19071addf8a209e5fb58483d08",
      "parents": [
        "696e65c3606aa3f587eeb181766baf49ea750cfc",
        "33f60e9640b2f60dde6735293d4aa5ecc5b1d5d5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 28 07:56:05 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 28 07:56:05 2010 -0700"
      },
      "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  coda: move backing-dev.h kernel include inside __KERNEL__\n  mtd: ensure that bdi entries are properly initialized and registered\n  Move mtd_bdi_*mappable to mtdcore.c\n  btrfs: convert to using bdi_setup_and_register()\n  Catch filesystems lacking s_bdi\n  drbd: Terminate a connection early if sending the protocol fails\n  drbd: fix memory leak\n  Fix JFFS2 sync silent failure\n  smbfs: add bdi backing to mount session\n  ncpfs: add bdi backing to mount session\n  exofs: add bdi backing to mount session\n  ecryptfs: add bdi backing to mount session\n  coda: add bdi backing to mount session\n  cifs: add bdi backing to mount session\n  afs: add bdi backing to mount session.\n  9p: add bdi backing to mount session\n  bdi: add helper function for doing init and register of a bdi for a file system\n  block: ensure jiffies wrap is handled correctly in blk_rq_timed_out_timer\n"
    },
    {
      "commit": "e1da0222753a2322d76c97fc02396fb83143c7ac",
      "tree": "cba5f8058b48cc0f6c6647e3f217bf0cfb7b60ef",
      "parents": [
        "0ed07ddb56d1348e5ce33f3b8de20d730351983a"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 22 11:58:18 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Apr 22 11:58:18 2010 +0200"
      },
      "message": "afs: add bdi backing to mount session.\n\nThis ensures that dirty data gets flushed properly.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "083fd8b21a13742b37ab347089c73f895a896672",
      "tree": "175030e7b74d83d768529b9d910b852f097a71c7",
      "parents": [
        "05ce7bfe547c9fa967d9cab6c37867a9cb6fb3fa"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Apr 21 12:01:23 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 21 12:27:43 2010 -0700"
      },
      "message": "AFS: Don\u0027t pass error value to page_cache_release() in error handling\n\nIn the error handling in afs_mntpt_do_automount(), we pass an error\npointer to page_cache_release() if read_mapping_page() failed.  Instead,\nwe should extend the gotos around the error handling we don\u0027t need.\n\nReported-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "99b437a9257cb6b267bf32adfb7675948dc6d485",
      "tree": "21173f7d22026bf37455cc7baa32e71acff82e8c",
      "parents": [
        "45575f5a426c01ec68cd33d998267ba2f6278fac"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Mon Mar 22 13:07:14 2010 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 22 09:57:19 2010 -0700"
      },
      "message": "AFS: Potential null dereference\n\nIt seems clear from the surrounding code that xpermits is allowed to be\nNULL here.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "26821ed40b4230259e770c9911180f38fcaa6f59",
      "tree": "40cd0fed705ec59dd3c909b96452bae1fc532796",
      "parents": [
        "64ba9926759792cf7b95f823402e2781edd1b5d4"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Mar 05 09:21:21 2010 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 05 13:25:10 2010 -0500"
      },
      "message": "make sure data is on disk before calling -\u003ewrite_inode\n\nSimilar to the fsync issue fixed a while ago in commit\n2daea67e966dc0c42067ebea015ddac6834cef88 we need to write for data to\nactually hit the disk before writing out the metadata to guarantee\ndata integrity for filesystems that modify the inode in the data I/O\ncompletion path.  Currently XFS and NFS handle this manually, and AFS\nhas a write_inode method that does nothing but waiting for data, while\nothers are possibly missing out on this.\n\nFortunately this change has a lot less impact than the fsync change\nas none of the write_inode methods starts data writeout of any form\nby itself.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "027cf316afff03d310281709314fbc0899984759",
      "tree": "48e28adeb9f4690b7db70fdc3ce97bddb0f35a42",
      "parents": [
        "94004ed726f38a841cc51f97c4a3f9eda9fbd0d9"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Sep 30 22:16:51 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:50 2009 +0100"
      },
      "message": "afs: remove manual O_SYNC handling\n\ngeneric_file_aio_write already calls into -\u003efsync to handle O_SYNC/O_DSYNC.\nRemove the duplicate manual invocation.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "6b2f3d1f769be5779b479c37800229d9a4809fc3",
      "tree": "046ef6736ec6c25ab1c68741ba715d13645af336",
      "parents": [
        "59bc055211b8d266ab6089158058bf8268e02006"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Oct 27 11:05:28 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:50 2009 +0100"
      },
      "message": "vfs: Implement proper O_SYNC semantics\n\nWhile Linux provided an O_SYNC flag basically since day 1, it took until\nLinux 2.4.0-test12pre2 to actually get it implemented for filesystems,\nsince that day we had generic_osync_around with only minor changes and the\ngreat \"For now, when the user asks for O_SYNC, we\u0027ll actually give\nO_DSYNC\" comment.  This patch intends to actually give us real O_SYNC\nsemantics in addition to the O_DSYNC semantics.  After Jan\u0027s O_SYNC\npatches which are required before this patch it\u0027s actually surprisingly\nsimple, we just need to figure out when to set the datasync flag to\nvfs_fsync_range and when not.\n\nThis patch renames the existing O_SYNC flag to O_DSYNC while keeping it\u0027s\nnumerical value to keep binary compatibility, and adds a new real O_SYNC\nflag.  To guarantee backwards compatiblity it is defined as expanding to\nboth the O_DSYNC and the new additional binary flag (__O_SYNC) to make\nsure we are backwards-compatible when compiled against the new headers.\n\nThis also means that all places that don\u0027t care about the differences can\njust check O_DSYNC and get the right behaviour for O_SYNC, too - only\nplaces that actuall care need to check __O_SYNC in addition.  Drivers and\nnetwork filesystems have been updated in a fail safe way to always do the\nfull sync magic if O_DSYNC is set.  The few places setting O_SYNC for\nlower layers are kept that way for now to stay failsafe.\n\nWe enforce that O_DSYNC is set when __O_SYNC is set early in the open path\nto make sure we always get these sane options.\n\nNote that parisc really screwed up their headers as they already define a\nO_DSYNC that has always been a no-op.  We try to repair it by using it for\nthe new O_DSYNC and redefinining O_SYNC to send both the traditional\nO_SYNC numerical value _and_ the O_DSYNC one.\n\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Andreas Dilger \u003cadilger@sun.com\u003e\nAcked-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nAcked-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "201a15428bd54f83eccec8b7c64a04b8f9431204",
      "tree": "326fcce64ce96657253fd141a3f4a767ac95418a",
      "parents": [
        "e3d4d28b1c8cc7c26536a50b43d86ccd39878550"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:35 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:35 2009 +0000"
      },
      "message": "FS-Cache: Handle pages pending storage that get evicted under OOM conditions\n\nHandle netfs pages that the vmscan algorithm wants to evict from the pagecache\nunder OOM conditions, but that are waiting for write to the cache.  Under these\nconditions, vmscan calls the releasepage() function of the netfs, asking if a\npage can be discarded.\n\nThe problem is typified by the following trace of a stuck process:\n\n\tkslowd005     D 0000000000000000     0  4253      2 0x00000080\n\t ffff88001b14f370 0000000000000046 ffff880020d0d000 0000000000000007\n\t 0000000000000006 0000000000000001 ffff88001b14ffd8 ffff880020d0d2a8\n\t 000000000000ddf0 00000000000118c0 00000000000118c0 ffff880020d0d2a8\n\tCall Trace:\n\t [\u003cffffffffa00782d8\u003e] __fscache_wait_on_page_write+0x8b/0xa7 [fscache]\n\t [\u003cffffffff8104c0f1\u003e] ? autoremove_wake_function+0x0/0x34\n\t [\u003cffffffffa0078240\u003e] ? __fscache_check_page_write+0x63/0x70 [fscache]\n\t [\u003cffffffffa00b671d\u003e] nfs_fscache_release_page+0x4e/0xc4 [nfs]\n\t [\u003cffffffffa00927f0\u003e] nfs_release_page+0x3c/0x41 [nfs]\n\t [\u003cffffffff810885d3\u003e] try_to_release_page+0x32/0x3b\n\t [\u003cffffffff81093203\u003e] shrink_page_list+0x316/0x4ac\n\t [\u003cffffffff8109372b\u003e] shrink_inactive_list+0x392/0x67c\n\t [\u003cffffffff813532fa\u003e] ? __mutex_unlock_slowpath+0x100/0x10b\n\t [\u003cffffffff81058df0\u003e] ? trace_hardirqs_on_caller+0x10c/0x130\n\t [\u003cffffffff8135330e\u003e] ? mutex_unlock+0x9/0xb\n\t [\u003cffffffff81093aa2\u003e] shrink_list+0x8d/0x8f\n\t [\u003cffffffff81093d1c\u003e] shrink_zone+0x278/0x33c\n\t [\u003cffffffff81052d6c\u003e] ? ktime_get_ts+0xad/0xba\n\t [\u003cffffffff81094b13\u003e] try_to_free_pages+0x22e/0x392\n\t [\u003cffffffff81091e24\u003e] ? isolate_pages_global+0x0/0x212\n\t [\u003cffffffff8108e743\u003e] __alloc_pages_nodemask+0x3dc/0x5cf\n\t [\u003cffffffff81089529\u003e] grab_cache_page_write_begin+0x65/0xaa\n\t [\u003cffffffff8110f8c0\u003e] ext3_write_begin+0x78/0x1eb\n\t [\u003cffffffff81089ec5\u003e] generic_file_buffered_write+0x109/0x28c\n\t [\u003cffffffff8103cb69\u003e] ? current_fs_time+0x22/0x29\n\t [\u003cffffffff8108a509\u003e] __generic_file_aio_write+0x350/0x385\n\t [\u003cffffffff8108a588\u003e] ? generic_file_aio_write+0x4a/0xae\n\t [\u003cffffffff8108a59e\u003e] generic_file_aio_write+0x60/0xae\n\t [\u003cffffffff810b2e82\u003e] do_sync_write+0xe3/0x120\n\t [\u003cffffffff8104c0f1\u003e] ? autoremove_wake_function+0x0/0x34\n\t [\u003cffffffff810b18e1\u003e] ? __dentry_open+0x1a5/0x2b8\n\t [\u003cffffffff810b1a76\u003e] ? dentry_open+0x82/0x89\n\t [\u003cffffffffa00e693c\u003e] cachefiles_write_page+0x298/0x335 [cachefiles]\n\t [\u003cffffffffa0077147\u003e] fscache_write_op+0x178/0x2c2 [fscache]\n\t [\u003cffffffffa0075656\u003e] fscache_op_execute+0x7a/0xd1 [fscache]\n\t [\u003cffffffff81082093\u003e] slow_work_execute+0x18f/0x2d1\n\t [\u003cffffffff8108239a\u003e] slow_work_thread+0x1c5/0x308\n\t [\u003cffffffff8104c0f1\u003e] ? autoremove_wake_function+0x0/0x34\n\t [\u003cffffffff810821d5\u003e] ? slow_work_thread+0x0/0x308\n\t [\u003cffffffff8104be91\u003e] kthread+0x7a/0x82\n\t [\u003cffffffff8100beda\u003e] child_rip+0xa/0x20\n\t [\u003cffffffff8100b87c\u003e] ? restore_args+0x0/0x30\n\t [\u003cffffffff8102ef83\u003e] ? tg_shares_up+0x171/0x227\n\t [\u003cffffffff8104be17\u003e] ? kthread+0x0/0x82\n\t [\u003cffffffff8100bed0\u003e] ? child_rip+0x0/0x20\n\nIn the above backtrace, the following is happening:\n\n (1) A page storage operation is being executed by a slow-work thread\n     (fscache_write_op()).\n\n (2) FS-Cache farms the operation out to the cache to perform\n     (cachefiles_write_page()).\n\n (3) CacheFiles is then calling Ext3 to perform the actual write, using Ext3\u0027s\n     standard write (do_sync_write()) under KERNEL_DS directly from the netfs\n     page.\n\n (4) However, for Ext3 to perform the write, it must allocate some memory, in\n     particular, it must allocate at least one page cache page into which it\n     can copy the data from the netfs page.\n\n (5) Under OOM conditions, the memory allocator can\u0027t immediately come up with\n     a page, so it uses vmscan to find something to discard\n     (try_to_free_pages()).\n\n (6) vmscan finds a clean netfs page it might be able to discard (possibly the\n     one it\u0027s trying to write out).\n\n (7) The netfs is called to throw the page away (nfs_release_page()) - but it\u0027s\n     called with __GFP_WAIT, so the netfs decides to wait for the store to\n     complete (__fscache_wait_on_page_write()).\n\n (8) This blocks a slow-work processing thread - possibly against itself.\n\nThe system ends up stuck because it can\u0027t write out any netfs pages to the\ncache without allocating more memory.\n\nTo avoid this, we make FS-Cache cancel some writes that aren\u0027t in the middle of\nactually being performed.  This means that some data won\u0027t make it into the\ncache this time.  To support this, a new FS-Cache function is added\nfscache_maybe_release_page() that replaces what the netfs releasepage()\nfunctions used to do with respect to the cache.\n\nThe decisions fscache_maybe_release_page() makes are counted and displayed\nthrough /proc/fs/fscache/stats on a line labelled \"VmScan\".  There are four\ncounters provided: \"nos\u003dN\" - pages that weren\u0027t pending storage; \"gon\u003dN\" -\npages that were pending storage when we first looked, but weren\u0027t by the time\nwe got the object lock; \"bsy\u003dN\" - pages that we ignored as they were actively\nbeing written when we looked; and \"can\u003dN\" - pages that we cancelled the storage\nof.\n\nWhat I\u0027d really like to do is alter the behaviour of the cancellation\nheuristics, depending on how necessary it is to expel pages.  If there are\nplenty of other pages that aren\u0027t waiting to be written to the cache that\ncould be ejected first, then it would be nice to hold up on immediate\ncancellation of cache writes - but I don\u0027t see a way of doing that.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "80e50be4220e1244fcf6d5f75b997f8586ae1300",
      "tree": "29045a3bbfd165dae5096c3c884e2c2a87f0933f",
      "parents": [
        "8fccae2c95506270f74ee8429c273b0924e89c83"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Oct 01 15:44:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 01 16:11:16 2009 -0700"
      },
      "message": "afs: remove cache.h\n\nIt\u0027s just a wrapper for \u003clinux/fscache.h\u003e, so remove it.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "88e9d34c727883d7d6f02cf1475b3ec98b8480c7",
      "tree": "475f544536d52739e0929e7727cab5124e855a06",
      "parents": [
        "b7ed698cc9d556306a4088c238e2ea9311ea2cb3"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Sep 22 16:43:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:29 2009 -0700"
      },
      "message": "seq_file: constify seq_operations\n\nMake all seq_operations structs const, to help mitigate against\nrevectoring user-triggerable function pointers.\n\nThis is derived from the grsecurity patch, although generated from scratch\nbecause it\u0027s simpler than extracting the changes from there.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6aed62853c72e29f2c97bbac7712cb398e8c9437",
      "tree": "4362cfa98b6b588f84fb2241115b7ef5b5dfce55",
      "parents": [
        "6e1d5dcc2bbbe71dbf010c747e15739bef6b7218"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 21 17:01:11 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:25 2009 -0700"
      },
      "message": "const: make file_lock_operations const\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1fe06ad89255c211fe100d7f690d10b161398df8",
      "tree": "826d32bf081a6729aeaa08fe42422e49a9b86f6f",
      "parents": [
        "2c96ce9f2084c1e04d02883e622f74a537a63aea"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Sep 15 15:10:20 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Sep 16 15:16:18 2009 +0200"
      },
      "message": "writeback: get rid of wbc-\u003efor_writepages\n\nIt\u0027s only set, it\u0027s never checked. Kill it.\n\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9886e836a6a5dbd273dc55b17e713f0a188d137f",
      "tree": "87f8e3d719ae43d5d5d5911d70d6c7b3aa66be32",
      "parents": [
        "1e23502cc57cef33455ac7cb9111e3c6d991a894"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Aug 27 13:09:06 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 27 12:22:08 2009 -0700"
      },
      "message": "AFS: Stop readlink() on AFS crashing due to NULL \u0027file\u0027 ptr\n\nkAFS crashes when asked to read a symbolic link because page_getlink()\npasses a NULL file pointer to read_mapping_page(), but afs_readpage()\nexpects a file pointer from which to extract a key.\n\nModify afs_readpage() to request the appropriate key from the calling\nprocess\u0027s keyrings if a file struct is not supplied with one attached.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dd0d9a46f573b086a67522f819566427dba9c4c7",
      "tree": "3923d284b277bea1c3092e329da44a5a80b6512d",
      "parents": [
        "405f55712dfe464b3240d7816cc4fe4174831be2"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Jul 09 10:44:30 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 12 12:24:07 2009 -0700"
      },
      "message": "AFS: Fix compilation warning\n\nFix the following warning:\n\n  fs/afs/dir.c: In function \u0027afs_d_revalidate\u0027:\n  fs/afs/dir.c:567: warning: \u0027fid.vnode\u0027 may be used uninitialized in this function\n  fs/afs/dir.c:567: warning: \u0027fid.unique\u0027 may be used uninitialized in this function\n\nby marking the \u0027fid\u0027 variable as an uninitialized_var.  The problem is\nthat gcc doesn\u0027t always manage to work out that fid is always set on the\npath through the function that uses it.\n\nCc: linux-afs@lists.infradead.org\nCc: linux-kernel@vger.kernel.org\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "405f55712dfe464b3240d7816cc4fe4174831be2",
      "tree": "96c425ea7fa8b31058b8f83a433c5e5265c8ebc7",
      "parents": [
        "f9fabcb58a6d26d6efde842d1703ac7cfa9427b6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jul 11 22:08:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 12 12:22:34 2009 -0700"
      },
      "message": "headers: smp_lock.h redux\n\n* Remove smp_lock.h from files which don\u0027t need it (including some headers!)\n* Add smp_lock.h to files which do need it\n* Make smp_lock.h include conditional in hardirq.h\n  It\u0027s needed only for one kernel_locked() usage which is under CONFIG_PREEMPT\n\n  This will make hardirq.h inclusion cheaper for every PREEMPT\u003dn config\n  (which includes allmodconfig/allyesconfig, BTW)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b43f3cbd21ffbd719fd4fa6642bfe6af255ded34",
      "tree": "f09372f7aa3057a4cca32d5c7fc19032bd7cda5a",
      "parents": [
        "622f8061a68d3f7a576c20a47b7f3bae7c8cfbef"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Jul 08 01:54:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 08 09:31:56 2009 -0700"
      },
      "message": "headers: mnt_namespace.h redux\n\nFix various silly problems wrt mnt_namespace.h:\n\n - exit_mnt_ns() isn\u0027t used, remove it\n - done that, sched.h and nsproxy.h inclusions aren\u0027t needed\n - mount.h inclusion was need for vfsmount_lock, but no longer\n - remove mnt_namespace.h inclusion from files which don\u0027t use anything\n   from mnt_namespace.h\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f7c2df9b55212d5ec94169a4de11e44c683e0af4",
      "tree": "82021e6e36269780bb8fea3a0603b2841cc5b462",
      "parents": [
        "5a4f13fad1ab5bd08dea78fc55321e429d83cddf"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Tue Jun 30 21:10:13 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 30 13:30:44 2009 -0700"
      },
      "message": "AFS: Fix lock imbalance\n\nDon\u0027t unlock on vfs_rejected_lock path in afs_do_setlk, since the lock\nis unlocked after abort_attempt label.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "005411c3e9147bc3b78215390e847d688dbbc163",
      "tree": "ed10cb7c73135fbdf7a39798bb0f294e80f987a4",
      "parents": [
        "519d25679e8ae7433c758b9e74b19144f61b90f8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Jun 16 21:36:49 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 21:20:14 2009 -0700"
      },
      "message": "AFS: Correctly translate auth error aborts and don\u0027t failover in such cases\n\nAuthentication error abort codes should be translated to appropriate\nLinux error codes, rather than all being translated to EREMOTEIO - which\nindicates that the server had internal problems.\n\nAdditionally, a server shouldn\u0027t be marked unavailable and the next\nserver tried if an authentication error occurs.  This will quickly make\nall the servers unavailable to the client.  Instead the error should be\nreturned straight to the user.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6cfd0148425e528b859b26e436b01f23f6926224",
      "tree": "60e3257053554ff198fe5825e6f12a00c3b4422a",
      "parents": [
        "a9e220f8322e2b0e0b8903fe00265461cffad3f0"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue May 05 15:40:36 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:07 2009 -0400"
      },
      "message": "push BKL down into -\u003eput_super\n\nMove BKL into -\u003eput_super from the only caller.  A couple of\nfilesystems had trivial enough -\u003eput_super (only kfree and NULLing of\ns_fs_info + stuff in there) to not get any locking: coda, cramfs, efs,\nhugetlbfs, omfs, qnx4, shmem, all others got the full treatment.  Most\nof them probably don\u0027t need it, but I\u0027d rather sort that out individually.\nPreferably after all the other BKL pushdowns in that area.\n\n[AV: original used to move lock_super() down as well; these changes are\nremoved since we don\u0027t do lock_super() at all in generic_shutdown_super()\nnow]\n[AV: fuse, btrfs and xfs are known to need no damn BKL, exempt]\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9393bd07cf218ca51d0e627653f906a9d76a9131",
      "tree": "402205fe6336028df48cd65b31da0482f0b0bb41",
      "parents": [
        "589ff870ed60a9ebdd5ec99ec3f5afe1282fe151"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 18 13:58:15 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:01 2009 -0400"
      },
      "message": "switch follow_down()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\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": "6f5bbff9a1b7d6864a495763448a363bbfa96324",
      "tree": "0067dca46f40def1c55541c34c262e06aeb8c4c8",
      "parents": [
        "74dbbdd7fdc11763f4698d2f3e684cf4446951e6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 06 01:34:22 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 09 10:49:40 2009 -0400"
      },
      "message": "Convert obvious places to deactivate_locked_super()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6566abdbd0566fc1b5950c9f87ef57c7443d6fa8",
      "tree": "142643f08a12be27547baabf40378fda20f648ff",
      "parents": [
        "d29a2e943867bfa48f72ee6e99723a1b29fe6f7e"
      ],
      "author": {
        "name": "Matt Kraai",
        "email": "kraai@ftbfs.org",
        "time": "Fri Apr 17 12:56:38 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 09:55:19 2009 -0700"
      },
      "message": "AFS: Guard afs_file_readpage_read_complete() definition with CONFIG_AFS_FSCACHE\n\nIf CONFIG_AFS_FSCACHE is not defined, the following warning is displayed when\nfs/afs/file.c is compiled:\n\n fs/afs/file.c:111: warning: ‘afs_file_readpage_read_complete’ defined but not used\n\nThis occurs because all calls to this function are guarded by\nCONFIG_AFS_FSCACHE.  Thus, guard its definition as well.\n\nSigned-off-by: Matt Kraai \u003ckraai@ftbfs.org\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "11ff5f6affe9b75f115a900a5584db339d46002b",
      "tree": "861872419164bc731b8b040ad5640353feaed78b",
      "parents": [
        "e66dd19092497f566e4dda1664688e28fa667265"
      ],
      "author": {
        "name": "Stoyan Gaydarov",
        "email": "stoyboyker@gmail.com",
        "time": "Thu Apr 09 17:10:28 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 09 10:41:19 2009 -0700"
      },
      "message": "afs: BUG to BUG_ON changes\n\nSigned-off-by: Stoyan Gaydarov \u003cstoyboyker@gmail.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9b3f26c9110dcea62716aca9b8c68ceb482227ef",
      "tree": "f11fc0b125d6bc2149e99cb269073320ff50dba9",
      "parents": [
        "9ae326a69004dea8af2dae4fde58de27db700a8d"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Apr 03 16:42:41 2009 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Apr 03 16:42:41 2009 +0100"
      },
      "message": "FS-Cache: Make kAFS use FS-Cache\n\nThe attached patch makes the kAFS filesystem in fs/afs/ use FS-Cache, and\nthrough it any attached caches.  The kAFS filesystem will use caching\nautomatically if it\u0027s available.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Steve Dickson \u003csteved@redhat.com\u003e\nAcked-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nTested-by: Daire Byrne \u003cDaire.Byrne@framestore.com\u003e\n"
    },
    {
      "commit": "99b76233803beab302123d243eea9e41149804f3",
      "tree": "398178210fe66845ccd6fa4258ba762a87e023ad",
      "parents": [
        "3dec7f59c370c7b58184d63293c3dc984d475840"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Mar 25 22:48:06 2009 +0300"
      },
      "committer": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Mar 31 01:14:44 2009 +0400"
      },
      "message": "proc 2/2: remove struct proc_dir_entry::owner\n\nSetting -\u003eowner as done currently (pde-\u003eowner \u003d THIS_MODULE) is racy\nas correctly noted at bug #12454. Someone can lookup entry with NULL\n-\u003eowner, thus not pinning enything, and release it later resulting\nin module refcount underflow.\n\nWe can keep -\u003eowner and supply it at registration time like -\u003eproc_fops\nand -\u003edata.\n\nBut this leaves -\u003eowner as easy-manipulative field (just one C assignment)\nand somebody will forget to unpin previous/pin current module when\nswitching -\u003eowner. -\u003eproc_fops is declared as \"const\" which should give\nsome thoughts.\n\n-\u003eread_proc/-\u003ewrite_proc were just fixed to not require -\u003eowner for\nprotection.\n\nrmmod\u0027ed directories will be empty and return \".\" and \"..\" -- no harm.\nAnd directories with tricky enough readdir and lookup shouldn\u0027t be modular.\nWe definitely don\u0027t want such modular code.\n\nRemoving -\u003eowner will also make PDE smaller.\n\nSo, let\u0027s nuke it.\n\nKudos to Jeff Layton for reminding about this, let\u0027s say, oversight.\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d12454\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    },
    {
      "commit": "79be57cc7fd25563c73ab26b0c28ff6ad0d618fc",
      "tree": "eba0fbeaf2280bf86e5d479f8a58158e983e7033",
      "parents": [
        "08f11513fa6f712506edb99327f7d051da9d860f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 20 05:56:47 2009 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 27 14:44:00 2009 -0400"
      },
      "message": "constify dentry_operations: AFS\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b2480c7fbfed172e6ec3ba1c8e80f05a3721b24a",
      "tree": "c1eecec647e1b20b58561d465487ec91bdfad0ad",
      "parents": [
        "33a1a6fedf08bbcb4b4df74498d697e7a88d39f2"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jan 22 11:16:02 2009 +0300"
      },
      "committer": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jan 22 13:16:01 2009 +0300"
      },
      "message": "fs/Kconfig: move afs out\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.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": "be859405487324ed548f1ba11dc949b8230ab991",
      "tree": "3893ac2ce3b212b100d9e1e1e3e2fc1fa0c3f47f",
      "parents": [
        "63779436ab4ad0867bcea53bf853b0004d7b895d"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Oct 31 00:56:28 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 31 00:56:28 2008 -0700"
      },
      "message": "fs: replace NIPQUAD()\n\nUsing NIPQUAD() with NIPQUAD_FMT, %d.%d.%d.%d or %u.%u.%u.%u\ncan be replaced with %pI4\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3222a3e55f4025acb2a5a4379cf2f2b7df1f1243",
      "tree": "d12740cd5dc00ae17f7beb63584dd00d7c1fb4cb",
      "parents": [
        "4e9ed2f85af7adfa7c3f0efa839a53186254fdcb"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Sep 03 21:53:01 2008 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Oct 23 05:13:21 2008 -0400"
      },
      "message": "[PATCH] fix -\u003ellseek for more directories\n\nWith this patch all directory fops instances that have a readdir\nthat doesn\u0027t take the BKL are switched to generic_file_llseek.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "15b4650e55e06d2cc05115767551cd3ace875431",
      "tree": "5542e01b8651140b707b6b9ebe81acb6e6ca41b3",
      "parents": [
        "8360e81b5dd23c153301f08937a68fd67d9b46c0"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Oct 15 22:04:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:48 2008 -0700"
      },
      "message": "afs: convert to new aops\n\nCannot assume writes will fully complete, so this conversion goes the easy\nway and always brings the page uptodate before the write.\n\n[dhowells@redhat.com: style tweaks]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a447c0932445f92ce6f4c1bd020f62c5097a7842",
      "tree": "bacf05bc7f9764515cdd6f7dc5e2254776b4f160",
      "parents": [
        "54cebc68c81eacac41a21bdfe99dc889d3882c60"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Oct 13 10:46:57 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 10:10:37 2008 -0700"
      },
      "message": "vfs: Use const for kernel parser table\n\nThis is a much better version of a previous patch to make the parser\ntables constant. Rather than changing the typedef, we put the \"const\" in\nall the various places where its required, allowing the __initconst\nexception for nfsroot which was the cause of the previous trouble.\n\nThis was posted for review some time ago and I believe its been in -mm\nsince then.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Alexander Viro \u003caviro@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "529ae9aaa08378cfe2a4350bded76f32cc8ff0ce",
      "tree": "d3ae998f9876c72a83a022805103a92111852b21",
      "parents": [
        "e9ba9698187ddbc0c5bfcf41de0349a662d23d02"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sat Aug 02 12:01:03 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 04 21:31:34 2008 -0700"
      },
      "message": "mm: rename page trylock\n\nConverting page lock to new locking bitops requires a change of page flag\noperation naming, so we might as well convert it to something nicer\n(!TestSetPageLocked_Lock \u003d\u003e trylock_page, SetPageLocked \u003d\u003e set_page_locked).\n\nThis also facilitates lockdeping of page lock.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8d66bf5481002b0960aa49aed0987c73f5d7816c",
      "tree": "7beac720e1df882a1cd4d6d09e6ac25ddd04b399",
      "parents": [
        "d5686b444ff3f72808d2b3fbd58672a86cdf38e7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Aug 01 09:05:54 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Aug 01 11:25:32 2008 -0400"
      },
      "message": "[PATCH] pass struct path * to do_add_mount()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e6305c43eda10ebfd2ad9e35d6e172ccc7bb3695",
      "tree": "8a95bd0e27fb3ce895cca9ef91af2e1605e4cdab",
      "parents": [
        "1bd5191d9f5d1928c4efdf604c4164b04bb88dbe"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 15 21:03:57 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:14 2008 -0400"
      },
      "message": "[PATCH] sanitize -\u003epermission() prototype\n\n* kill nameidata * argument; map the 3 bits in -\u003eflags anybody cares\n  about to new MAY_... ones and pass with the mask.\n* kill redundant gfs2_iop_permission()\n* sanitize ecryptfs_permission()\n* fix remaining places where -\u003epermission() instances might barf on new\n  MAY_... found in mask.\n\nThe obvious next target in that direction is permission(9)\n\nfolded fix for nfs_permission() breakage from Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "51cc50685a4275c6a02653670af9f108a64e01cf",
      "tree": "819d47bd2b0c8a9d1835d863853804b0a0242b97",
      "parents": [
        "d91958815d214ea365b98cbff6215383897edcb6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jul 25 19:45:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:07 2008 -0700"
      },
      "message": "SL*B: drop kmem cache argument from constructor\n\nKmem cache passed to constructor is only needed for constructors that are\nthemselves multiplexeres.  Nobody uses this \"feature\", nor does anybody uses\npassed kmem cache in non-trivial way, so pass only pointer to object.\n\nNon-trivial places are:\n\tarch/powerpc/mm/init_64.c\n\tarch/powerpc/mm/hugetlbpage.c\n\nThis is flag day, yes.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Jon Tollefson \u003ckniht@linux.vnet.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\n[akpm@linux-foundation.org: fix arch/powerpc/mm/hugetlbpage.c]\n[akpm@linux-foundation.org: fix mm/slab.c]\n[akpm@linux-foundation.org: fix ubifs]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "44d1b980c72db0faf35adb082fb2208351803028",
      "tree": "d249cd0a7fc5944aab8e211dbe3b128ce3900438",
      "parents": [
        "b6d8adf477439e7086224bc9674c6b6638780783"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Thu Jun 05 22:46:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 06 11:29:10 2008 -0700"
      },
      "message": "Fix various old email addresses for dwmw2\n\nAlthough if people have questions about ARCnet, perhaps it\u0027s _better_\nfor them to be mailing dwmw2@cam.ac.uk about it...\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "530b6412786d7f83592c1a8e2445541ed73fca76",
      "tree": "7c7e84344e7a3b595db1e06161060f460d9a5aed",
      "parents": [
        "810304db75b0ca4e6ef071f86aa3e85fdaddee5e"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Apr 30 00:55:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:54 2008 -0700"
      },
      "message": "afs: replace remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9396d496d74587d46a74b93a8b6b41659d2daf2e",
      "tree": "86d33d941d33baa6cd5ab859d4e64ed035fc6cba",
      "parents": [
        "7c80bcce34a355c0920f8cab250d766d7827341d"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Apr 29 01:03:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:26 2008 -0700"
      },
      "message": "afs: support the CB.ProbeUuid RPC op\n\nAdd support for the CB.ProbeUuid cache manager RPC op.  This allows a modern\nOpenAFS server to quickly ask if the client has been rebooted.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7c80bcce34a355c0920f8cab250d766d7827341d",
      "tree": "59a2f4fb482a66d8ff80742c9250a252203f1707",
      "parents": [
        "0ae52d6fbaf7ffe4d00876d25ea000e94f85819c"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Apr 29 01:03:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:26 2008 -0700"
      },
      "message": "afs: the AFS RPC op CBGetCapabilities is actually CBTellMeAboutYourself\n\nThe AFS RxRPC op CBGetCapabilities is actually CBTellMeAboutYourself.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0ae52d6fbaf7ffe4d00876d25ea000e94f85819c",
      "tree": "52b24268fba75b6797c8a9e816a5f92418add0f9",
      "parents": [
        "c3c52bce6993c6d37af2c2de9b482a7013d646a7"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Tue Apr 29 01:03:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:26 2008 -0700"
      },
      "message": "afs: use the shorter LIST_HEAD for brevity\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "21ac295b42b8bdc3d677aba6bd7308a38de28a9b",
      "tree": "61aa04e715d16f490b073b8271c0a5906ceab857",
      "parents": [
        "34b37235c60fd23e4075da475c7bb22e6c7a466e"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Apr 29 01:02:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:20 2008 -0700"
      },
      "message": "afs: use non-racy method for proc entries creation\n\nUse proc_create()/proc_create_data() to make sure that -\u003eproc_fops and -\u003edata\nbe setup before gluing PDE to main tree.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "424b00e2c0f0c38f2cf5331391742ec998f6d89f",
      "tree": "78bc6e4e18ee2ac499bdf56e6024c9a042c34766",
      "parents": [
        "b87e81e5c6e64ae0eae3b4f61bf07bfeec856184"
      ],
      "author": {
        "name": "Paul Bolle",
        "email": "pebolle@tiscali.nl",
        "time": "Wed Apr 16 11:08:22 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 16 07:43:48 2008 -0700"
      },
      "message": "AFS: Do not describe debug parameters with their value\n\nDescribe debug parameters with their names (and not their values).\n\nSigned-off-by: Paul Bolle \u003cpebolle@tiscali.nl\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ad16df848d7f84a1b7cea92edd515815ea4ccf0f",
      "tree": "b7a3c62b409d001711151356c06dcb3360501fe2",
      "parents": [
        "4cd13504652d28e16bf186c6bb2bbb3725369383"
      ],
      "author": {
        "name": "Sven Schnelle",
        "email": "svens@stackframe.org",
        "time": "Thu Apr 03 10:44:01 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 03 15:40:53 2008 -0700"
      },
      "message": "afs: remove smp_prcessor_id() from debug macro\n\nSigned-off-by: Sven Schnelle \u003csvens@stackframe.org\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a5f37c3252b174efdcdd808797a7c529064c95c0",
      "tree": "8932c50a54cdbeb1fadda70f388bbc53d6407d9c",
      "parents": [
        "0e81a8ae37687845f7cdfa2adce14ea6a5f1dd34"
      ],
      "author": {
        "name": "Sven Schnelle",
        "email": "svens@stackframe.org",
        "time": "Wed Apr 02 13:17:18 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 02 07:40:54 2008 -0700"
      },
      "message": "afs: add missing up_write() on return\n\nIf afs_cell_alloc() fails, afs_cells_sem doesn\u0027t get unlocked, which\nleads to a deadlock.  Unlock it before returning.\n\nSigned-off-by: Sven Schnelle \u003csvens@stackframe.org\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "af8be4e4b316df36a00c1e52a9970c253783b57e",
      "tree": "6d56665916e601ed6a933d6f85c22ee8512c6531",
      "parents": [
        "d478376cb0dc9ab16a2b6e02fd8cd1174e724c64",
        "6758f953d05378d907a164c67934cd86183d9c88"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 28 15:23:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 28 15:23:01 2008 -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  [PATCH] mnt_expire is protected by namespace_sem, no need for vfsmount_lock\n  [PATCH] do shrink_submounts() for all fs types\n  [PATCH] sanitize locking in mark_mounts_for_expiry() and shrink_submounts()\n  [PATCH] count ghost references to vfsmounts\n  [PATCH] reduce stack footprint in namespace.c\n"
    },
    {
      "commit": "5214b729e1c2dc3af8f55e6c4c548844c3bea0f5",
      "tree": "8838edf8e3d4068c41816d7b17c63849318ceb93",
      "parents": [
        "fac533c2505b39faf30492cd3f0844c0da51c75c"
      ],
      "author": {
        "name": "Sven Schnelle",
        "email": "svens@stackframe.org",
        "time": "Fri Mar 28 14:15:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 28 14:45:21 2008 -0700"
      },
      "message": "afs: prevent double cell registration\n\nkafs doesn\u0027t check if the cell already exists - so if you do an echo \"add\nnewcell.org 1.2.3.4\" \u003e/proc/fs/afs/cells it will try to create this cell\nagain.  kobject will also complain about a double registration.  To prevent\nsuch problems, return -EEXIST in that case.\n\nSigned-off-by: Sven Schnelle \u003csvens@stackframe.org\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c35038becad0adb0e25261fff66d85b1a6ddd0c2",
      "tree": "1d375d74ef5b4c3641768697b2ff8f4992916dc5",
      "parents": [
        "bcc5c7d2b692e5319db00b0dd020ce98723103b1"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 22 00:46:23 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Mar 27 20:47:58 2008 -0400"
      },
      "message": "[PATCH] do shrink_submounts() for all fs types\n\n... and take it out of -\u003eumount_begin() instances.  Call with all locks\nalready taken (by do_umount()) and leave calling release_mounts() to\ncaller (it will do release_mounts() anyway, so we can just put into\nthe same list).\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "09da5916baf6d3fb9ac16c125c801ae6ea151f97",
      "tree": "9cb3d90969fec6c24cb6505f59c097529dc62197",
      "parents": [
        "1d957f9bf87da74f420424d16ece005202bbebd3"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:34:37 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:13:33 2008 -0800"
      },
      "message": "Use path_put() in a few places instead of {mnt,d}put()\n\nUse path_put() in a few places instead of {mnt,d}put()\n\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1d957f9bf87da74f420424d16ece005202bbebd3",
      "tree": "363d4770c0c74a536524c99ccd2762ce96ee9bbe",
      "parents": [
        "4ac9137858e08a19f29feac4e1f4df7c268b0ba5"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:34:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:13:33 2008 -0800"
      },
      "message": "Introduce path_put()\n\n* Add path_put() functions for releasing a reference to the dentry and\n  vfsmount of a struct path in the right order\n\n* Switch from path_release(nd) to path_put(\u0026nd-\u003epath)\n\n* Rename dput_path() to path_put_conditional()\n\n[akpm@linux-foundation.org: fix cifs]\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \u003clinux-fsdevel@vger.kernel.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ac9137858e08a19f29feac4e1f4df7c268b0ba5",
      "tree": "f5b5d84fd12fcc2b0ba0e7ce1a79ff381ad8f5dd",
      "parents": [
        "c5e725f33b733a77de622e91b6ba5645fcf070be"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:34:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:13:33 2008 -0800"
      },
      "message": "Embed a struct path into struct nameidata instead of nd-\u003e{dentry,mnt}\n\nThis is the central patch of a cleanup series. In most cases there is no good\nreason why someone would want to use a dentry for itself. This series reflects\nthat fact and embeds a struct path into nameidata.\n\nTogether with the other patches of this series\n- it enforced the correct order of getting/releasing the reference count on\n  \u003cdentry,vfsmount\u003e pairs\n- it prepares the VFS for stacking support since it is essential to have a\n  struct path in every place where the stack can be traversed\n- it reduces the overall code size:\n\nwithout patch series:\n   text    data     bss     dec     hex filename\n5321639  858418  715768 6895825  6938d1 vmlinux\n\nwith patch series:\n   text    data     bss     dec     hex filename\n5320026  858418  715768 6894212  693284 vmlinux\n\nThis patch:\n\nSwitch from nd-\u003e{dentry,mnt} to nd-\u003epath.{dentry,mnt} everywhere.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: fix cifs]\n[akpm@linux-foundation.org: fix smack]\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "969729d56ef2c8b709844bc0071805f86dfbd2f9",
      "tree": "a527f19a96b31774d9344e52a9f2b98b364f8839",
      "parents": [
        "e9b3961b66bb1e93762895d809be074ea109c77c"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Feb 08 04:21:37 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:39 2008 -0800"
      },
      "message": "mount options: fix afs\n\nAdd a .show_options super operation to afs.\n\nUse generic_show_options() and save the complete option string in\nafs_get_sb().\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "69759454873fd90130007bdb60948a79e880cd82",
      "tree": "cccbe25d2f94316f88b7632a81449333b9312c4d",
      "parents": [
        "8aa84ab99b1e47973f0b82258f0eab945d0b114d"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Feb 08 04:20:53 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:36 2008 -0800"
      },
      "message": "fs/afs/security.c: fix uninitialized var warning\n\nfs/afs/security.c: In function \u0027afs_permission\u0027:\nfs/afs/security.c:290: warning: \u0027access\u0027 may be used uninitialized in this function\n\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aa7fa240c7d4ed28ee2d1afacd97be2d76e3cb49",
      "tree": "fa1430062401374a03fa50af81f30724d281c366",
      "parents": [
        "b46980feed937868d3333514028bfbe9a651e4ca"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:28 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:26 2008 -0800"
      },
      "message": "iget: use iget_failed() in AFS\n\nUse iget_failed() in AFS to kill a failed inode.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: 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": "e231c2ee64eb1c5cd3c63c31da9dac7d888dcf7f",
      "tree": "d4b17ef65960594681397a3acac02c2d248200b5",
      "parents": [
        "d1bc8e95445224276d7896b8b08cbb0b28a0ca80"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:26 2008 -0800"
      },
      "message": "Convert ERR_PTR(PTR_ERR(p)) instances to ERR_CAST(p)\n\nConvert instances of ERR_PTR(PTR_ERR(p)) to ERR_CAST(p) using:\n\nperl -spi -e \u0027s/ERR_PTR[(]PTR_ERR[(](.*)[)][)]/ERR_CAST(\\1)/\u0027 `grep -rl \u0027ERR_PTR[(]*PTR_ERR\u0027 fs crypto net security`\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7a224228ed79d587ece2304869000aad1b8e97dd",
      "tree": "f2b299f5a5d04cf8d3d0ef10ff264bd34943f90e",
      "parents": [
        "818d276ceb83aa9fdebb5e0a53188290312de987"
      ],
      "author": {
        "name": "Jean Noel Cordenner",
        "email": "jean-noel.cordenner@bull.net",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "vfs: Add 64 bit i_version support\n\nThe i_version field of the inode is changed to be a 64-bit counter that\nis set on every inode creation and that is incremented every time the\ninode data is modified (similarly to the \"ctime\" time-stamp).\nThe aim is to fulfill a NFSv4 requirement for rfc3530.\nThis first part concerns the vfs, it converts the 32-bit i_version in\nthe generic inode to a 64-bit, a flag is added in the super block in\norder to check if the feature is enabled and the i_version is\nincremented in the vfs.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Jean Noel Cordenner \u003cjean-noel.cordenner@bull.net\u003e\nSigned-off-by: Kalpak Shah \u003ckalpak@clusterfs.com\u003e\n"
    },
    {
      "commit": "6551198a201a70cb11e25712b1d0b2a369bb8a4c",
      "tree": "b4ca66da0b68b182df8761a058109a14ecefbcaa",
      "parents": [
        "f11b7ae8d6180bb3c0ad04b38a8ca7e0a26c6605"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Nov 05 14:50:57 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Nov 05 15:12:32 2007 -0800"
      },
      "message": "fs/afs/vlocation.c: fix off-by-one\n\nThis patch fixes an off-by-one error spotted by the Coverity checker.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "76181c134f87479fa13bf2548ddf2999055d34d4",
      "tree": "34694341c190e7ecdd3111ee48e4b98602ff012f",
      "parents": [
        "398c95bdf2c24d7866692a40ba04425aef238cdd"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Oct 16 23:29:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:57 2007 -0700"
      },
      "message": "KEYS: Make request_key() and co fundamentally asynchronous\n\nMake request_key() and co fundamentally asynchronous to make it easier for\nNFS to make use of them.  There are now accessor functions that do\nasynchronous constructions, a wait function to wait for construction to\ncomplete, and a completion function for the key type to indicate completion\nof construction.\n\nNote that the construction queue is now gone.  Instead, keys under\nconstruction are linked in to the appropriate keyring in advance, and that\nanyone encountering one must wait for it to be complete before they can use\nit.  This is done automatically for userspace.\n\nThe following auxiliary changes are also made:\n\n (1) Key type implementation stuff is split from linux/key.h into\n     linux/key-type.h.\n\n (2) AF_RXRPC provides a way to allocate null rxrpc-type keys so that AFS does\n     not need to call key_instantiate_and_link() directly.\n\n (3) Adjust the debugging macros so that they\u0027re -Wformat checked even if\n     they are disabled, and make it so they can be enabled simply by defining\n     __KDEBUG to be consistent with other code of mine.\n\n (3) Documentation.\n\n[alan@lxorguk.ukuu.org.uk: keys: missing word in documentation]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4af3c9cc4fad54c3627e9afebf905aafde5690ed",
      "tree": "655364e458b8734a86c632316f4b5a1518529c60",
      "parents": [
        "1a614f505193fcfc1b298643268a5db5b48e297f"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Oct 16 23:29:23 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:55 2007 -0700"
      },
      "message": "Drop some headers from mm.h\n\nmm.h doesn\u0027t use directly anything from mutex.h and backing-dev.h, so\nremove them and add them back to files which need them.\n\nCross-compile tested on many configs and archs.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c1206a2c6d87def4af5379e6fef64e928d882ab2",
      "tree": "388c36ab43b2f9d2cf463871866b0fa97aa4154b",
      "parents": [
        "a4d63e729edad704af95e5f2a56e8c8eaaa5216b"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Oct 16 23:26:41 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:50 2007 -0700"
      },
      "message": "fs/afs/: possible cleanups\n\nThis patch contains the following possible cleanups:\n- make the following needlessly global functions static:\n  - rxrpc.c: afs_send_pages()\n  - vlocation.c: afs_vlocation_queue_for_updates()\n  - write.c: afs_writepages_region()\n- make the following needlessly global variables static:\n  - mntpt.c: afs_mntpt_expiry_timeout\n  - proc.c: afs_vlocation_states[]\n  - server.c: afs_server_timeout\n  - vlocation.c: afs_vlocation_timeout\n  - vlocation.c: afs_vlocation_update_timeout\n- #if 0 the following unused function:\n  - cell.c: afs_get_cell_maybe()\n- #if 0 the following unused variables:\n  - callback.c: afs_vnode_update_timeout\n  - cmservice.c: struct afs_cm_workqueue\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ba9b9d0ba0a49d91fa6417c7510ee36f48cf957",
      "tree": "191b4f45f926e44b882b1e87a9a85dc12230b892",
      "parents": [
        "b811c202a0edadaac7242ab834fe7ba409978ae7"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Oct 16 23:25:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:45 2007 -0700"
      },
      "message": "Slab API: remove useless ctor parameter and reorder parameters\n\nSlab constructors currently have a flags parameter that is never used.  And\nthe order of the arguments is opposite to other slab functions.  The object\npointer is placed before the kmem_cache pointer.\n\nConvert\n\n        ctor(void *object, struct kmem_cache *s, unsigned long flags)\n\nto\n\n        ctor(struct kmem_cache *s, void *object)\n\nthroughout the kernel\n\n[akpm@linux-foundation.org: coupla fixes]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "541010e4b8921cd781ff02ae68028501457045b6",
      "tree": "58bd529d4c6e69899a0aa20afa2d7f1c23326417",
      "parents": [
        "e457f790d8b05977853aa238bbc667b3bb375671",
        "5e7fc436426b1f9e106f511a049de91c82ec2c53"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 15 16:07:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 15 16:07:40 2007 -0700"
      },
      "message": "Merge branch \u0027locks\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027locks\u0027 of git://linux-nfs.org/~bfields/linux:\n  nfsd: remove IS_ISMNDLCK macro\n  Rework /proc/locks via seq_files and seq_list helpers\n  fs/locks.c: use list_for_each_entry() instead of list_for_each()\n  NFS: clean up explicit check for mandatory locks\n  AFS: clean up explicit check for mandatory locks\n  9PFS: clean up explicit check for mandatory locks\n  GFS2: clean up explicit check for mandatory locks\n  Cleanup macros for distinguishing mandatory locks\n  Documentation: move locks.txt in filesystems/\n  locks: add warning about mandatory locking races\n  Documentation: move mandatory locking documentation to filesystems/\n  locks: Fix potential OOPS in generic_setlease()\n  Use list_first_entry in locks_wake_up_blocks\n  locks: fix flock_lock_file() comment\n  Memory shortage can result in inconsistent flocks state\n  locks: kill redundant local variable\n  locks: reverse order of posix_locks_conflict() arguments\n"
    },
    {
      "commit": "881d966b48b035ab3f3aeaae0f3d3f9b584f45b2",
      "tree": "c579d59a4107cbbe9e2b85939bc0d496b815c887",
      "parents": [
        "b4b510290b056b86611757ce1175a230f1080f53"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 17 11:56:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:10 2007 -0700"
      },
      "message": "[NET]: Make the device list and device lookups per namespace.\n\nThis patch makes most of the generic device layer network\nnamespace safe.  This patch makes dev_base_head a\nnetwork namespace variable, and then it picks up\na few associated variables.  The functions:\ndev_getbyhwaddr\ndev_getfirsthwbytype\ndev_get_by_flags\ndev_get_by_name\n__dev_get_by_name\ndev_get_by_index\n__dev_get_by_index\ndev_ioctl\ndev_ethtool\ndev_load\nwireless_process_ioctl\n\nwere modified to take a network namespace argument, and\ndeal with it.\n\nvlan_ioctl_set and brioctl_set were modified so their\nhooks will receive a network namespace argument.\n\nSo basically anthing in the core of the network stack that was\naffected to by the change of dev_base was modified to handle\nmultiple network namespaces.  The rest of the network stack was\nsimply modified to explicitly use \u0026init_net the initial network\nnamespace.  This can be fixed when those components of the network\nstack are modified to handle multiple network namespaces.\n\nFor now the ifindex generator is left global.\n\nFundametally ifindex numbers are per namespace, or else\nwe will have corner case problems with migration when\nwe get that far.\n\nAt the same time there are assumptions in the network stack\nthat the ifindex of a network device won\u0027t change.  Making\nthe ifindex number global seems a good compromise until\nthe network stack can cope with ifindex changes when\nyou change namespaces, and the like.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fc5846e555177c2ae01bcded7fddf60cb10dcfd0",
      "tree": "3aba3ddd444086db1a3bd50cbfaf89cd2aff269c",
      "parents": [
        "66abe5f257e719547744fdb8691cf5d20603f051"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 01 14:41:14 2007 -0700"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:32:46 2007 -0400"
      },
      "message": "AFS: clean up explicit check for mandatory locks\n\nThe __mandatory_lock(inode) macro makes the same check, but makes the code\nmore readable.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a1a1a758bf0107d1f78ff1d622f45987803d894",
      "tree": "c4c7e6586989dc596abc51968bf9408418eab94e",
      "parents": [
        "a2e0855182e2be26b252745b2bb7558705cb0dd2"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Tue Sep 11 15:23:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Sep 11 17:21:19 2007 -0700"
      },
      "message": "afs: mntput called before dput\n\ndput must be called before mntput here.\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nAcked-By: David Howells \u003cdhowells@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ff8e210a9550ad760a62e9803938cd04f9fb0851",
      "tree": "5fa45dae4ca7a180db2e83e4bc731c2a567f1f0d",
      "parents": [
        "b34bd06e485abf5b24fc13a9a988ebf4d2915dd6"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Jul 31 00:38:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 31 15:39:40 2007 -0700"
      },
      "message": "AFS: fix file locking\n\nFix file locking for AFS:\n\n (*) Start the lock manager thread under a mutex to avoid a race.\n\n (*) Made the locking non-fair: New readlocks will jump pending writelocks if\n     there\u0027s a readlock currently granted on a file.  This makes the behaviour\n     similar to Linux\u0027s VFS locking.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bd6dc742a4b1945861795a66dc27c65365c5f28e",
      "tree": "bb075b1017c88ff27c1d8fba6fa805ecb0db0e62",
      "parents": [
        "5f7e08ca7b657f5678dd62a080f7f3a8f923ad02"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jul 20 10:59:41 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Jul 20 08:54:14 2007 -0700"
      },
      "message": "AFS: Use patched rxrpc_kernel_send_data() correctly\n\nFix afs_send_simple_reply() to accept a greater-than-zero return value from\nrxrpc_kernel_send_data() as being a successful return rather than thinking it\nan error and aborting the call.\n\nrxrpc_kernel_send_data() previously returned zero incorrectly when it worked\nsuccessfully, but has been patched to return the number of bytes it\ntransmitted.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "20c2df83d25c6a95affe6157a4c9cac4cf5ffaac",
      "tree": "415c4453d2b17a50abe7a3e515177e1fa337bd67",
      "parents": [
        "64fb98fc40738ae1a98bcea9ca3145b89fb71524"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "message": "mm: Remove slab destructors from kmem_cache_create().\n\nSlab destructors were no longer supported after Christoph\u0027s\nc59def9f222d44bb7e2f0a559f2906191a0862d7 change. They\u0027ve been\nBUGs for both slab and slub, and slob never supported them\neither.\n\nThis rips out support for the dtor pointer from kmem_cache_create()\ncompletely and fixes up every single callsite in the kernel (there were\nabout 224, not including the slab allocator definitions themselves,\nor the documentation references).\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "275afcac9953ece0828972edeab9684cfe1a5ef3",
      "tree": "47b485ee950a4b66a6845510bc9676c293ad545d",
      "parents": [
        "ed2c12f323e8fafbc94f9bcfb924f9df36e64dc7"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu Jul 19 01:50:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:57 2007 -0700"
      },
      "message": "afs build fix\n\nBruce and David\u0027s patches clashed.\n\nfs/afs/flock.c: In function \u0027afs_do_getlk\u0027:\nfs/afs/flock.c:459: error: void value not ignored as it ought to be\n\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "03a9c30c231a61dd7457681aef51cc38ee01f766",
      "tree": "db26f08fb923e818f19ef30a080019885194a825",
      "parents": [
        "7bf1fc4329aa2c31a80a882d695fbdded92036ca"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sun Jul 15 23:40:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:43 2007 -0700"
      },
      "message": "AFS: drop explicit extern\n\nDon\u0027t use explicit extern specifier and quieten sparse warning:\nfs/afs/vnode.c:564:12: warning: function \u0027afs_vnode_link\u0027 with external linkage has definition\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e8d6c554126b830217c5e9f549e0e21f865a0a8a",
      "tree": "c43219c6ef4e6a9b4f0ac46d6bd8b675dc249a8b",
      "parents": [
        "b0fed3140f57c435d2783b698c5090f325c22bad"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sun Jul 15 23:40:12 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:43 2007 -0700"
      },
      "message": "AFS: implement file locking\n\nImplement file locking for AFS.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a6a8bd6d2839f7134f191c6e13e2fd2e9e8c91a6",
      "tree": "21714dcd131324d7032a5411b0af58c0451d4430",
      "parents": [
        "b4ef0296f214a1e0e65f161f88663b0ca1acca31"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@sw.ru",
        "time": "Sun Jul 15 23:39:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:41 2007 -0700"
      },
      "message": "Make AFS use seq_list_xxx helpers\n\nThese proc files show some header before dumping the list, so the\nseq_list_start_head() is used.\n\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5ffc4ef45b3b0a57872f631b4e4ceb8ace0d7496",
      "tree": "437ec32a58ac5e4794565b2bbb3da6611f0d6a04",
      "parents": [
        "534f2aaa6ab07cd71164180bc958a7dcde41db11"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 01 11:49:19 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:13 2007 +0200"
      },
      "message": "sendfile: remove .sendfile from filesystems that use generic_file_sendfile()\n\nThey can use generic_file_splice_read() instead. Since sys_sendfile() now\nprefers that, there should be no change in behaviour.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "00c541eae7a477e3d1adb1ebf27cccc0bdb5f824",
      "tree": "f2aded10cefcfd8c32cfa5268bef6668e71926dc",
      "parents": [
        "8ffa68755a0eddf3baeecd0e7612a5106cf2db23"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu May 31 00:40:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 31 07:58:14 2007 -0700"
      },
      "message": "afs: needs sched.h\n\nmips:\n\nfs/afs/flock.c: In function `afs_lock_may_be_available\u0027:\nfs/afs/flock.c:55: error: dereferencing pointer to incomplete type\nfs/afs/flock.c: In function `afs_lock_work\u0027:\nfs/afs/flock.c:84: error: dereferencing pointer to incomplete type\nfs/afs/flock.c:89: error: dereferencing pointer to incomplete type\nfs/afs/flock.c:109: error: dereferencing pointer to incomplete type\nfs/afs/flock.c:135: error: dereferencing pointer to incomplete type\nfs/afs/flock.c:143: error: dereferencing pointer to incomplete type\nfs/afs/flock.c:158: error: dereferencing pointer to incomplete type\nfs/afs/flock.c:161: error: dereferencing pointer to incomplete type\nfs/afs/flock.c:179: error: `TASK_UNINTERRUPTIBLE\u0027 undeclared (first use in this function)\nfs/afs/flock.c:179: error: (Each undeclared identifier is reported only once\nfs/afs/flock.c:179: error: for each function it appears in.)\nfs/afs/flock.c:179: error: `TASK_INTERRUPTIBLE\u0027 undeclared (first use in this function)\nfs/afs/flock.c:182: error: dereferencing pointer to incomplete type\n\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e8edc6e03a5c8562dc70a6d969f732bdb355a7e7",
      "tree": "fc86c863655128a7041dfe613d14393d761fa7b9",
      "parents": [
        "ff1be9ad61e3e17ba83702d8ed0b534e5b8ee15c"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon May 21 01:22:52 2007 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 21 09:18:19 2007 -0700"
      },
      "message": "Detach sched.h from mm.h\n\nFirst thing mm.h does is including sched.h solely for can_do_mlock() inline\nfunction which has \"current\" dereference inside. By dealing with can_do_mlock()\nmm.h can be detached from sched.h which is good. See below, why.\n\nThis patch\na) removes unconditional inclusion of sched.h from mm.h\nb) makes can_do_mlock() normal function in mm/mlock.c\nc) exports can_do_mlock() to not break compilation\nd) adds sched.h inclusions back to files that were getting it indirectly.\ne) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were\n   getting them indirectly\n\nNet result is:\na) mm.h users would get less code to open, read, preprocess, parse, ... if\n   they don\u0027t need sched.h\nb) sched.h stops being dependency for significant number of files:\n   on x86_64 allmodconfig touching sched.h results in recompile of 4083 files,\n   after patch it\u0027s only 3744 (-8.3%).\n\nCross-compile tested on\n\n\tall arm defconfigs, all mips defconfigs, all powerpc defconfigs,\n\talpha alpha-up\n\tarm\n\ti386 i386-up i386-defconfig i386-allnoconfig\n\tia64 ia64-up\n\tm68k\n\tmips\n\tparisc parisc-up\n\tpowerpc powerpc-up\n\ts390 s390-up\n\tsparc sparc-up\n\tsparc64 sparc64-up\n\tum-x86_64\n\tx86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig\n\nas well as my two usual configs.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a35afb830f8d71ec211531aeb9a621b09a2efb39",
      "tree": "198280081e1f8b2f6c450742a5075cc7904a3d58",
      "parents": [
        "5577bd8a85c8b7643a241789b14fafa9c8a6c7db"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed May 16 22:10:57 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 17 05:23:04 2007 -0700"
      },
      "message": "Remove SLAB_CTOR_CONSTRUCTOR\n\nSLAB_CTOR_CONSTRUCTOR is always specified. No point in checking it.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: David Chinner \u003cdgc@sgi.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": "bb33ed6345d6156484f39089aa8b52f44ce76609",
      "tree": "c27f2b0f62efceca5ab2289b524e688ec1c9d0f0",
      "parents": [
        "1800782016fda6fbc9990a0227fec581070f23af"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue May 15 23:57:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 16 21:19:15 2007 -0700"
      },
      "message": "AFS: Fix afs_prepare_write()\n\nafs_prepare_write() should not mark a page up to date if it only partially\nfills it in, in expectation of the caller filling in the rest prior to calling\ncommit_write().  commit_write(), however, should mark the page up to date.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "faab83bbcd9e001077e42a7c085f1e871997647f",
      "tree": "a3e41d25524d75a9f4ca2ec88ca51cad0e728936",
      "parents": [
        "5b58e21a27028a9f0399449d8bc8494fd9d9ff70"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue May 15 23:57:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 16 21:19:15 2007 -0700"
      },
      "message": "AFS: write back dirty data on unmount\n\nFix AFS to write back dirty on unmounting.  This didn\u0027t happen because\nafs_super_ops.drop_inode was pointing to generic_delete_inode.  Now this\npointer is left set to NULL so that the default behaviour occurs instead.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "45222b9e02fb282eb0a8007a3d992dd229ec2410",
      "tree": "2160228a23c700437bda0898d3a700ac499b941d",
      "parents": [
        "0f300ca9284caabdd2c07c7f91b90f1f530f614e"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu May 10 22:22:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:32 2007 -0700"
      },
      "message": "AFS: implement statfs\n\nImplement the statfs() op for AFS.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0f300ca9284caabdd2c07c7f91b90f1f530f614e",
      "tree": "12c64af9cbaeafbe47e63872a750badb623a7e81",
      "parents": [
        "9d577b6a31a53a19d3b0fe414d645a61ef201846"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu May 10 22:22:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:32 2007 -0700"
      },
      "message": "AFS: fix a couple of problems with unlinking AFS files\n\nFix a couple of problems with unlinking AFS files.\n\n (1) The parent directory wasn\u0027t being updated properly between unlink() and\n     the following lookup().\n\n     It seems that, for some reason, invalidate_remote_inode() wasn\u0027t\n     discarding the directory contents correctly, so this patch calls\n     invalidate_inode_pages2() instead on non-regular files.\n\n (2) afs_vnode_deleted_remotely() should handle vnodes that don\u0027t have a\n     source server recorded without oopsing.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9d577b6a31a53a19d3b0fe414d645a61ef201846",
      "tree": "3e2523ac386e16eb0b125f3933b9ebfbd03aed65",
      "parents": [
        "9393e1dc8e394bd59217178b26b2476dc43e8667"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu May 10 22:22:19 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 11 08:29:32 2007 -0700"
      },
      "message": "AFS: fix interminable loop in afs_write_back_from_locked_page()\n\nFollowing bug was uncovered by compiling with \u0027-W\u0027 flag:\n\n  CC [M]  fs/afs/write.o\nfs/afs/write.c: In function âafs_write_back_from_locked_pageâ:\nfs/afs/write.c:398: warning: comparison of unsigned expression \u003e\u003d 0 is always true\n\nLoop variable \u0027n\u0027 is unsigned, so wraps around happily as far as I can\nsee. Trival fix attached (compile tested only).\n\nSigned-off-by: Mika Kukkonen \u003cmikukkon@iki.fi\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5bbf5d39f88af9e8173f7331a3741a8b3ff16a1c",
      "tree": "8bd516e07d2cb8b7578d9783ca45d0a23290dc23",
      "parents": [
        "b9b1f8d5930a813879278d0cbfc8c658d6a038dc"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu May 10 03:15:23 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 10 09:26:52 2007 -0700"
      },
      "message": "AFS: further write support fixes\n\nFurther fixes for AFS write support:\n\n (1) The afs_send_pages() outer loop must do an extra iteration if it ends\n     with \u0027first \u003d\u003d last\u0027 because \u0027last\u0027 is inclusive in the page set\n     otherwise it fails to send the last page and complete the RxRPC op under\n     some circumstances.\n\n (2) Similarly, the outer loop in afs_pages_written_back() must also do an\n     extra iteration if it ends with \u0027first \u003d\u003d last\u0027, otherwise it fails to\n     clear PG_writeback on the last page under some circumstances.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b9b1f8d5930a813879278d0cbfc8c658d6a038dc",
      "tree": "1879e0e70ce946e3519a205698f4dd1b34a3a7ea",
      "parents": [
        "218e180e7ea5334e1f94121940ba82cd1f0f4e58"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu May 10 03:15:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 10 09:26:52 2007 -0700"
      },
      "message": "AFS: write support fixes\n\nAFS write support fixes:\n\n (1) Support large files using the 64-bit file access operations if available\n     on the server.\n\n (2) Use kmap_atomic() rather than kmap() in afs_prepare_page().\n\n (3) Don\u0027t do stuff in afs_writepage() that\u0027s done by the caller.\n\n[akpm@linux-foundation.org: fix right shift count \u003e\u003d width of type]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "31143d5d515ece617ffccb7df5ff75e4d1dfa120",
      "tree": "db28c26930f6a26db3e85da90f6668061425463a",
      "parents": [
        "416351f28d2b31d15ff73e9aff699b2163704c95"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed May 09 02:33:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:50 2007 -0700"
      },
      "message": "AFS: implement basic file write support\n\nImplement support for writing to regular AFS files, including:\n\n (1) write\n\n (2) truncate\n\n (3) fsync, fdatasync\n\n (4) chmod, chown, chgrp, utime.\n\nAFS writeback attempts to batch writes into as chunks as large as it can manage\nup to the point that it writes back 65535 pages in one chunk or it meets a\nlocked page.\n\nFurthermore, if a page has been written to using a particular key, then should\nanother write to that page use some other key, the first write will be flushed\nbefore the second is allowed to take place.  If the first write fails due to a\nsecurity error, then the page will be scrapped and reread before the second\nwrite takes place.\n\nIf a page is dirty and the callback on it is broken by the server, then the\ndirty data is not discarded (same behaviour as NFS).\n\nShared-writable mappings are not supported by this patch.\n\n[akpm@linux-foundation.org: fix a bunch of warnings]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "416351f28d2b31d15ff73e9aff699b2163704c95",
      "tree": "4b43838415b2cb95dfc66f9bc5fdb36b0f245e6c",
      "parents": [
        "ef71c15c46a053818f7e69098ebb052b31ffa56b"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed May 09 02:33:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:50 2007 -0700"
      },
      "message": "AFS: AFS fixups\n\nMake some miscellaneous changes to the AFS filesystem:\n\n (1) Assert RCU barriers on module exit to make sure RCU has finished with\n     callbacks in this module.\n\n (2) Correctly handle the AFS server returning a zero-length read.\n\n (3) Split out data zapping calls into one function (afs_zap_data).\n\n (4) Rename some afs_file_*() functions to afs_*() where they apply to\n     non-regular files too.\n\n (5) Be consistent about the presentation of volume ID:vnode ID in debugging\n     output.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "50953fe9e00ebbeffa032a565ab2f08312d51a87",
      "tree": "9f95f56f0b51600959a76cd88ce17f6e9c7a98a3",
      "parents": [
        "4b1d89290b62bb2db476c94c82cf7442aab440c8"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sun May 06 14:50:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:57 2007 -0700"
      },
      "message": "slab allocators: Remove SLAB_DEBUG_INITIAL flag\n\nI have never seen a use of SLAB_DEBUG_INITIAL.  It is only supported by\nSLAB.\n\nI think its purpose was to have a callback after an object has been freed\nto verify that the state is the constructor state again?  The callback is\nperformed before each freeing of an object.\n\nI would think that it is much easier to check the object state manually\nbefore the free.  That also places the check near the code object\nmanipulation of the object.\n\nAlso the SLAB_DEBUG_INITIAL callback is only performed if the kernel was\ncompiled with SLAB debugging on.  If there would be code in a constructor\nhandling SLAB_DEBUG_INITIAL then it would have to be conditional on\nSLAB_DEBUG otherwise it would just be dead code.  But there is no such code\nin the kernel.  I think SLUB_DEBUG_INITIAL is too problematic to make real\nuse of, difficult to understand and there are easier ways to accomplish the\nsame effect (i.e.  add debug code before kfree).\n\nThere is a related flag SLAB_CTOR_VERIFY that is frequently checked to be\nclear in fs inode caches.  Remove the pointless checks (they would even be\npointless without removeal of SLAB_DEBUG_INITIAL) from the fs constructors.\n\nThis is the last slab flag that SLUB did not support.  Remove the check for\nunimplemented flags from SLUB.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6fe6900e1e5b6fa9e5c59aa5061f244fe3f467e2",
      "tree": "8bbfe5072279227cc50a941ad4813908082426a1",
      "parents": [
        "714b8171af9c930a59a0da8f6fe50518e70ab035"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sun May 06 14:49:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:51 2007 -0700"
      },
      "message": "mm: make read_cache_page synchronous\n\nEnsure pages are uptodate after returning from read_cache_page, which allows\nus to cut out most of the filesystem-internal PageUptodate calls.\n\nI didn\u0027t have a great look down the call chains, but this appears to fixes 7\npossible use-before uptodate in hfs, 2 in hfsplus, 1 in jfs, a few in\necryptfs, 1 in jffs2, and a possible cleared data overwritten with readpage in\nblock2mtd.  All depending on whether the filler is async and/or can return\nwith a !uptodate page.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7562f876cd93800f2f8c89445f2a563590b24e09",
      "tree": "78a34c011af275efa0d55ba59c3bd49b771dd533",
      "parents": [
        "03fba0479600114f32d29eee74ca3eaa364606bf"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@openvz.org",
        "time": "Thu May 03 15:13:45 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 03 15:13:45 2007 -0700"
      },
      "message": "[NET]: Rework dev_base via list_head (v3)\n\nCleanup of dev_base list use, with the aim to simplify making device\nlist per-namespace. In almost every occasion, use of dev_base variable\nand dev-\u003enext pointer could be easily replaced by for_each_netdev\nloop. A few most complicated places were converted to using\nfirst_netdev()/next_netdev().\n\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nAcked-by: Kirill Korotaev \u003cdev@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ec9c948546a84d0dcee851be1009a8066958e69d",
      "tree": "a812ede303158d36e1d4a1530009044cd37f39ea",
      "parents": [
        "dc1f6bff6a9d6733a07b9b97905bc824c055e8f4"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu May 03 03:29:41 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 03 03:29:41 2007 -0700"
      },
      "message": "[AFS]: Adjust the new netdevice scanning code\n\nAdjust the new netdevice scanning code provided by Patrick McHardy:\n\n (1) Restore the function banner comments that were dropped.\n\n (2) Rather than using an array size of 6 in some places and an array size of\n     ETH_ALEN in others, pass a pointer instead and pass the array size\n     through so that we can actually check it.\n\n (3) Do the buffer fill count check before checking the for_primary_ifa\n     condition again.  This permits us to skip that check should maxbufs be\n     reached before we run out of interfaces.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dc1f6bff6a9d6733a07b9b97905bc824c055e8f4",
      "tree": "09c0ee7f91354b7d68ac2c0d6f53da6738530fdc",
      "parents": [
        "4e9cac2ba437fcb093c7417b1cd91a77ebd1756a"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu May 03 03:28:49 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 03 03:28:49 2007 -0700"
      },
      "message": "[AFS]: Replace rtnetlink client by direct dev_base walking\n\nReplace the large and complicated rtnetlink client by two simple\nfunctions for getting the MAC address for the first ethernet device\nand building a list of IPv4 addresses.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b35fad9d4fc2fcaf5c23887c1de1bc3eb28ab8c",
      "tree": "5df3ba320ad239d2a856cf300d920118709d112a",
      "parents": [
        "188ccb5583b8f501e1d0f5ba4f056afa141694e7"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu May 03 03:27:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 03 03:27:39 2007 -0700"
      },
      "message": "[AFS]: Fix memory leak in SRXAFSCB_GetCapabilities\n\nThe interface array is not freed on exit.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fbb3fcba72ff52ee3d9990c9dec0c95cd9d0ce17",
      "tree": "58186fa76d0f25e489d187d0f513a26f0b447860",
      "parents": [
        "80c72fe415698049a477314ac82790c1af0fa7e3"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu May 03 03:12:46 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 03 03:12:46 2007 -0700"
      },
      "message": "[AFS]: Fix use of __exit functions from __init path\n\nFix use of __exit functions from __init path.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "80c72fe415698049a477314ac82790c1af0fa7e3",
      "tree": "ae5fbc5ad3327d1c44cead49df8fb0e724baf56f",
      "parents": [
        "ef4533f8af7a8798cb8f52b06f47acf0c0d2d767"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu May 03 03:11:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 03 03:11:29 2007 -0700"
      },
      "message": "[AFS/AF_RXRPC]: Miscellaneous fixes.\n\nMake miscellaneous fixes to AFS and AF_RXRPC:\n\n (*) Make AF_RXRPC select KEYS rather than RXKAD or AFS_FS in Kconfig.\n\n (*) Don\u0027t use FS_BINARY_MOUNTDATA.\n\n (*) Remove a done \u0027TODO\u0027 item in a comemnt on afs_get_sb().\n\n (*) Don\u0027t pass a void * as the page pointer argument of kmap_atomic() as this\n     breaks on m68k.  Patch from Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e.\n\n (*) Use match_*() functions rather than doing my own parsing.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b1bdb691c3c38b4fbaf99fa8474f5cfa99b2d774",
      "tree": "aab0b09167997e5d5269bd5465bf99a41333e68b",
      "parents": [
        "47051a2152f8b2355ee70249a0faaf7b682e8ce5"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Apr 27 15:28:45 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 27 15:28:45 2007 -0700"
      },
      "message": "[AF_RXRPC/AFS]: Arch-specific fixes.\n\nFixes for various arch compilation problems:\n\n (*) Missing module exports.\n\n (*) Variable name collision when rxkad and af_rxrpc both built in\n     (rxrpc_debug).\n\n (*) Large constant representation problem (AFS_UUID_TO_UNIX_TIME).\n\n (*) Configuration dependencies.\n\n (*) printk() format warnings.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "47051a2152f8b2355ee70249a0faaf7b682e8ce5",
      "tree": "cf144c4e220598df2ea414e8f7ef558afd91b269",
      "parents": [
        "1a028e50729b85d0a038fad13daf0ee201a37454"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Apr 27 15:26:30 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 27 15:26:30 2007 -0700"
      },
      "message": "[AFS]: Fix VLocation record update wakeup\n\nFix the wakeup transitions after a VLocation record update completes\none way or another.  This builds on Dave Miller\u0027s partial fix.\n\nAlso move wakeups outside the spinlocked sections.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "39bf09493042200b967cdf2ee6e3f670b7963903",
      "tree": "081f76ef36a7ac43dd756dea1f9201caba7c821b",
      "parents": [
        "68c708fd5e90f6d178c84bb7e641589eb2842319"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Apr 26 20:39:14 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Apr 26 20:39:14 2007 -0700"
      },
      "message": "[AFS]: Eliminate cmpxchg() usage in vlocation code.\n\ncmpxchg() is not available on every processor so can\u0027t\nbe used in generic code.\n\nReplace with spinlock protection on the -\u003estate changes,\nwakeups, and wait loops.\n\nAdd what appears to be a missing wakeup on transition\nto AFS_VL_VALID state in afs_vlocation_updater().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ba3e0e1accd8d5bb12eaeb0977429d8dc04f6d1e",
      "tree": "eb4bf83c8089640845cc5f695105e1446cab2f6d",
      "parents": [
        "260a980317dac80182dd76140cf67c6e81d6d3dd"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Apr 26 16:06:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Apr 26 16:06:22 2007 -0700"
      },
      "message": "[AFS]: Fix u64 printing in debug logging.\n\nNeed \u0027unsigned long long\u0027 casts to quiet warnings on\n64-bit platforms when using %ll on a u64.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "260a980317dac80182dd76140cf67c6e81d6d3dd"
}
