)]}'
{
  "log": [
    {
      "commit": "67cde595374dd0e4e4a537dbf9dff70fd3d7bd7b",
      "tree": "5c6e9b52d4ecc912fdb8482c94ed533556023723",
      "parents": [
        "6b09ae66922ca198e5830c0a4d74400a507a9170"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Apr 29 00:58:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:00 2008 -0700"
      },
      "message": "make vfs_ioctl() static\n\nMake the needlessly global vfs_ioctl() static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Christoph Hellwig \u003chch@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": "6b09ae66922ca198e5830c0a4d74400a507a9170",
      "tree": "f434f8927f972e98637cc1cfdbc226d6f3c742de",
      "parents": [
        "8b1919a1e8b8968e0ac9030a4f14f0d2cd69e7cf"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Apr 29 00:58:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:00 2008 -0700"
      },
      "message": "make __put_super() static\n\nMake the needlessly global __put_super() static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@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": "70688e4dd1647f0ceb502bbd5964fa344c5eb411",
      "tree": "e0bd8c3b4b6050c067a453d800c2e87948d1abaf",
      "parents": [
        "30afcb4bd2762fa4b87b17ada9500aa46dc10b1b"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Mon Apr 28 02:13:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:23 2008 -0700"
      },
      "message": "xip: support non-struct page backed memory\n\nConvert XIP to support non-struct page backed memory, using VM_MIXEDMAP for\nthe user mappings.\n\nThis requires the get_xip_page API to be changed to an address based one.\nImprove the API layering a little bit too, while we\u0027re here.\n\nThis is required in order to support XIP filesystems on memory that isn\u0027t\nbacked with struct page (but memory with struct page is still supported too).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nCc: Jared Hulbert \u003cjaredeh@gmail.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.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": "30afcb4bd2762fa4b87b17ada9500aa46dc10b1b",
      "tree": "0920f491a37683a8784c146270b98f82a7e0aa2c",
      "parents": [
        "423bad600443c590f34ed7ce357591f76f48f137"
      ],
      "author": {
        "name": "Jared Hulbert",
        "email": "jaredeh@gmail.com",
        "time": "Mon Apr 28 02:13:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:23 2008 -0700"
      },
      "message": "return pfn from direct_access, for XIP\n\nAlter the block device -\u003edirect_access() API to work with the new\nget_xip_mem() API (that requires both kaddr and pfn are returned).\n\nSome architectures will not do the right thing in their virt_to_page() for use\nby XIP (to translate from the kernel virtual address returned by\ndirect_access(), to a user mappable pfn in XIP\u0027s page fault handler.\n\nHowever, we can\u0027t switch it to just return the pfn and not the kaddr, because\nwe have no good way to get a kva from a pfn, and XIP requires the kva for its\nread(2) and write(2) handlers.  So we have to return both.\n\nSigned-off-by: Jared Hulbert \u003cjaredeh@gmail.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Carsten Otte \u003ccotte@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: linux-mm@kvack.org\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bc84e0a160e383deb56568f4e03bc51b1ce16775",
      "tree": "3c8cf1ae23c2f9c165bd7ce63a40b1d5c3aee275",
      "parents": [
        "a92910723a5af54f81373875fd95133c88df94bd",
        "f8f95702f0c4529b0f59488f4509608f0c160e77"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 25 19:05:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 25 19:05:55 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] sanitize locate_fd()\n  [PATCH] sanitize unshare_files/reset_files_struct\n  [PATCH] sanitize handling of shared descriptor tables in failing execve()\n  [PATCH] close race in unshare_files()\n  [PATCH] restore sane -\u003eumount_begin() API\n  cifs: timeout dfs automounts +little fix.\n"
    },
    {
      "commit": "1a747ee0cc11a198f9e2435add821bd0dfedb7c1",
      "tree": "10b5a55bde30bef3f466e5126bd44fc0e111fc5a",
      "parents": [
        "17efa372cfe4d189705edf6cd4fbe283827a5dc7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Apr 24 10:08:22 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Apr 25 13:00:11 2008 -0400"
      },
      "message": "locks: don\u0027t call -\u003ecopy_lock methods on return of conflicting locks\n\nThe file_lock structure is used both as a heavy-weight representation of\nan active lock, with pointers to reference-counted structures, etc., and\nas a simple container for parameters that describe a file lock.\n\nThe conflicting lock returned from __posix_lock_file is an example of\nthe latter; so don\u0027t call the filesystem or lock manager callbacks when\ncopying to it.  This also saves the need for an unnecessary\nlocks_init_lock in the nfsv4 server.\n\nThanks to Trond for pointing out the error.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3b1253880b7a9e6db54b943b2d40bcf2202f58ab",
      "tree": "5301be7b4d4310faa8db5a0d027b81421e36570e",
      "parents": [
        "fd8328be874f4190a811c58cd4778ec2c74d2c05"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Apr 22 05:31:30 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Apr 25 09:23:59 2008 -0400"
      },
      "message": "[PATCH] sanitize unshare_files/reset_files_struct\n\n* let unshare_files() give caller the displaced files_struct\n* don\u0027t bother with grabbing reference only to drop it in the\n  caller if it hadn\u0027t been shared in the first place\n* in that form unshare_files() is trivially implemented via\n  unshare_fd(), so we eliminate the duplicate logics in fork.c\n* reset_files_struct() is not just only called for current;\n  it will break the system if somebody ever calls it for anything\n  else (we can\u0027t modify -\u003efiles of somebody else).  Lose the\n  task_struct * argument.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "42faad99658eed7ca8bd328ffa4bcb7d78c9bcca",
      "tree": "8b57fb69d1922939c6ba13f512a0ae54a3a171ef",
      "parents": [
        "78d31a3a87f84cf56004b7bc154831f2ee1186e8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Apr 24 07:21:56 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Apr 25 09:23:25 2008 -0400"
      },
      "message": "[PATCH] restore sane -\u003eumount_begin() API\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6d59e7f582ef1c1988542d0fc3b36d0087b757ce",
      "tree": "2e6e2e7d42af8f89f7b87aeaf5261d4cfbd9b625",
      "parents": [
        "807501475fce0ebe68baedf87f202c3e4ee0d12c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Mar 22 15:48:17 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 21 23:11:01 2008 -0400"
      },
      "message": "[PATCH] move a bunch of declarations to fs/internal.h\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "429f731dea577bdd43693940cdca524135287e6a",
      "tree": "932337b7d23dd736612c6b6e6601c50bc24cfc5f",
      "parents": [
        "85b375a613085b78531ec86369a51c2f3b922f95",
        "d2f5e80862d33a7746a40569840248a592dbc395"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:41:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:41:27 2008 -0700"
      },
      "message": "Merge branch \u0027semaphore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc\n\n* \u0027semaphore\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc:\n  Deprecate the asm/semaphore.h files in feature-removal-schedule.\n  Convert asm/semaphore.h users to linux/semaphore.h\n  security: Remove unnecessary inclusions of asm/semaphore.h\n  lib: Remove unnecessary inclusions of asm/semaphore.h\n  kernel: Remove unnecessary inclusions of asm/semaphore.h\n  include: Remove unnecessary inclusions of asm/semaphore.h\n  fs: Remove unnecessary inclusions of asm/semaphore.h\n  drivers: Remove unnecessary inclusions of asm/semaphore.h\n  net: Remove unnecessary inclusions of asm/semaphore.h\n  arch: Remove unnecessary inclusions of asm/semaphore.h\n"
    },
    {
      "commit": "ad775f5a8faa5845377f093ca11caf577404add9",
      "tree": "f124ff1038672b8d2ef004d75c844f740d8fe52b",
      "parents": [
        "2e4b7fcd926006531935a4c79a5e9349fe51125b"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Fri Feb 15 14:38:01 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:29:28 2008 -0400"
      },
      "message": "[PATCH] r/o bind mounts: debugging for missed calls\n\nThere have been a few oopses caused by \u0027struct file\u0027s with NULL f_vfsmnts.\nThere was also a set of potentially missed mnt_want_write()s from\ndentry_open() calls.\n\nThis patch provides a very simple debugging framework to catch these kinds of\nbugs.  It will WARN_ON() them, but should stop us from having any oopses or\nmnt_writer count imbalances.\n\nI\u0027m quite convinced that this is a good thing because it found bugs in the\nstuff I was working on as soon as I wrote it.\n\n[hch: made it conditional on a debug option.\n      But it\u0027s still a little bit too ugly]\n\n[hch: merged forced remount r/o fix from Dave and akpm\u0027s fix for the fix]\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a70e65df8812c52252fa07a2eb92a46451a4427f",
      "tree": "b8154bebeb898743e89aeeea5971b410c7e49bf7",
      "parents": [
        "d57999e1527f0b0c818846dcba5a23015beb4823"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Feb 15 14:37:28 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 19 00:25:32 2008 -0400"
      },
      "message": "[PATCH] merge open_namei() and do_filp_open()\n\nopen_namei() will, in the future, need to take mount write counts\nover its creation and truncation (via may_open()) operations.  It\nneeds to keep these write counts until any potential filp that is\ncreated gets __fput()\u0027d.\n\nThis gets complicated in the error handling and becomes very murky\nas to how far open_namei() actually got, and whether or not that\nmount write count was taken.  That makes it a bad interface.\n\nAll that the current do_filp_open() really does is allocate the\nnameidata on the stack, then call open_namei().\n\nSo, this merges those two functions and moves filp_open() over\nto namei.c so it can be close to its buddy: do_filp_open().  It\nalso gets a kerneldoc comment in the process.\n\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6188e10d38b8d7244ee7776d5f1f88c837b4b93f",
      "tree": "6675e02c47fb684a613e10513816b5dcc5de28a9",
      "parents": [
        "d7b1acd3b524b39f418e463e836b48ac041954d6"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Apr 18 22:21:05 2008 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Fri Apr 18 22:22:54 2008 -0400"
      },
      "message": "Convert asm/semaphore.h users to linux/semaphore.h\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "4c54ac62dceecedd82d4a865017bba0b738e2897",
      "tree": "01cc1b13a97b550bd7e64fe4042ffe920cab876b",
      "parents": [
        "52ff4cae65b45dcdfa23de09619754d6f380f31e"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Feb 18 13:48:31 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Feb 19 10:04:00 2008 +0100"
      },
      "message": "make struct def_blk_aops static\n\nThis patch makes the needlessly global struct def_blk_aops static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003caxboe@carl.home.kernel.dk\u003e\n"
    },
    {
      "commit": "000cb48ee18165776b5a2beb72ed18f66bc61878",
      "tree": "0f2f689f93c5ef08641d659c8b624e23ebbca8db",
      "parents": [
        "0778361837bfaaa0bcf9ee79f0edd10e3a220899"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Feb 14 19:31:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 20:58:06 2008 -0800"
      },
      "message": "vfs: add explanation of I_DIRTY_DATASYNC bit\n\nAdd explanation of I_DIRTY_DATASYNC bit.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Joern Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "922f9cfa79b52c85b6002d96cb0eefd13437c58c",
      "tree": "9198426091e535e4a5dec8875af6ae8267dbe551",
      "parents": [
        "b55ab616fa4b00bdd5c470c70fdf87bab85eec68"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Fri Feb 08 04:22:00 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:42 2008 -0800"
      },
      "message": "fs/char_dev.c: chrdev_open marked static and removed from fs.h\n\nThere is an outdated comment in serial_core.c also fixed.\n\nSigned-off-by: Denis Cheng \u003ccrquan@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": "b3b304a23a8f7ae4c40c7b512ee45afae0010a70",
      "tree": "04ada9ae35e912b6c3d56c0aefdc297216f2e0a5",
      "parents": [
        "f84e3f521e1449300e0fdc314b7b43b418a66dc3"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Feb 08 04:21:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:39 2008 -0800"
      },
      "message": "mount options: add generic_show_options()\n\nAdd a new s_options field to struct super_block.  Filesystems can save\nmount options passed to them in mount or remount.  It is automatically\nfreed when the superblock is destroyed.\n\nA new helper function, generic_show_options() is introduced, which uses\nthis field to display the mount options in /proc/mounts.\n\nAnother helper function, save_mount_options() may be used by\nfilesystems to save the options in the super block.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "36e789144267105e0b3f2b9bca7db3184fce50dc",
      "tree": "cff6b92b2d54cf5e88db3f0fd71071a6b80b06f5",
      "parents": [
        "7437a51b30743ff1488981a393fc9e67894bf757"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Feb 08 04:21:24 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:39 2008 -0800"
      },
      "message": "kill do_generic_mapping_read\n\ndo_generic_mapping_read was used by gfs2 for internals reads, but this use\nof the interface was rather suboptimal (as was the whole interface) and has\nbeen replaced by an internal helper now.  This patch kills\ndo_generic_mapping_read and surrounding damage in preparation of additional\ncleanups for the buffered read path.\n\nSigned-off-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": "74bedc4d56211b30686c6f2f574bf6c6a9654887",
      "tree": "ce9e18f9f52c76a05c8a7ec91510da6041cca7e1",
      "parents": [
        "9261303ab7589cda6a3b95f9f80c9063538dc335"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Feb 08 04:20:28 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:34 2008 -0800"
      },
      "message": "libfs: rename simple_attr_close to simple_attr_release\n\nsimple_attr_close implementes -\u003erelease so it should be named accordingly.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \u003cstefano.brivio@polimi.it\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8b88b0998e35d239e74446cc30f354bdab86df89",
      "tree": "c13773b744cf12b1e30ec9336a4acaf21e46c6d9",
      "parents": [
        "efae09f3e99fcc1bdead7bc23a508b3bade3f82f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Feb 08 04:20:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:34 2008 -0800"
      },
      "message": "libfs: allow error return from simple attributes\n\nSometimes simple attributes might need to return an error, e.g. for\nacquiring a mutex interruptibly.  In fact we have that situation in\nspufs already which is the original user of the simple attributes.  This\npatch merged the temporarily forked attributes in spufs back into the\nmain ones and allows to return errors.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \u003cstefano.brivio@polimi.it\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "12debc4248a4a7f1873e47cda2cdd7faca80b099",
      "tree": "1ad80b77d213ea09cb746d6e4d50c4316462a452",
      "parents": [
        "755aedc15900ff7d83dd046f632af9a680b0c28f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:52 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:29 2008 -0800"
      },
      "message": "iget: remove iget() and the read_inode() super op as being obsolete\n\nRemove the old iget() call and the read_inode() superblock operation it uses\nas these are really obsolete, and the use of read_inode() does not produce\nproper error handling (no distinction between ENOMEM and EIO when marking an\ninode bad).\n\nFurthermore, this removes the temptation to use iget() to find an inode by\nnumber in a filesystem from code outside that filesystem.\n\niget_locked() should be used instead.  A new function is added in an earlier\npatch (iget_failed) that is to be called to mark an inode as bad, unlock it\nand release it should the get routine fail.  Mark iget() and read_inode() as\nbeing obsolete and remove references to them from the documentation.\n\nTypically a filesystem will be modified such that the read_inode function\nbecomes an internal iget function, for example the following:\n\n\tvoid thingyfs_read_inode(struct inode *inode)\n\t{\n\t\t...\n\t}\n\nwould be changed into something like:\n\n\tstruct inode *thingyfs_iget(struct super_block *sp, unsigned long ino)\n\t{\n\t\tstruct inode *inode;\n\t\tint ret;\n\n\t\tinode \u003d iget_locked(sb, ino);\n\t\tif (!inode)\n\t\t\treturn ERR_PTR(-ENOMEM);\n\t\tif (!(inode-\u003ei_state \u0026 I_NEW))\n\t\t\treturn inode;\n\n\t\t...\n\t\tunlock_new_inode(inode);\n\t\treturn inode;\n\terror:\n\t\tiget_failed(inode);\n\t\treturn ERR_PTR(ret);\n\t}\n\nand then thingyfs_iget() would be called rather than iget(), for example:\n\n\tret \u003d -EINVAL;\n\tinode \u003d iget(sb, ino);\n\tif (!inode || is_bad_inode(inode))\n\t\tgoto error;\n\nbecomes:\n\n\tinode \u003d thingyfs_iget(sb, ino);\n\tif (IS_ERR(inode)) {\n\t\tret \u003d PTR_ERR(inode);\n\t\tgoto error;\n\t}\n\nNote that is_bad_inode() does not need to be called.  The error returned by\nthingyfs_iget() should render it unnecessary.\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": "b46980feed937868d3333514028bfbe9a651e4ca",
      "tree": "97e610932986223932887af3c0ea00234856e540",
      "parents": [
        "e231c2ee64eb1c5cd3c63c31da9dac7d888dcf7f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:27 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:26 2008 -0800"
      },
      "message": "iget: introduce a function to register iget failure\n\nIntroduce a function to register failure in an inode construction path.  This\nincludes marking the inode under construction as bad, unlocking it and\nreleasing it.\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": "deb21db7788b97a2bccdefe605433ef97f482689",
      "tree": "9adc35a3f7271c7c328f6b835203150763683ddb",
      "parents": [
        "c9845ff1df5ba007b576c26c4f1e7ca43b7c7e87"
      ],
      "author": {
        "name": "Erez Zadok",
        "email": "ezk@cs.sunysb.edu",
        "time": "Thu Feb 07 00:13:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:16 2008 -0800"
      },
      "message": "VFS: swap do_ioctl and vfs_ioctl names\n\nRename old vfs_ioctl to do_ioctl, because the comment above it clearly\nindicates that it is an internal function not to be exported to modules;\ntherefore it should have a more traditional do_XXX name.  The new do_ioctl\nis exported in fs.h but not to modules.\n\nRename the old do_ioctl to vfs_ioctl because the names vfs_XXX should\npreferably be reserved to callable VFS functions which modules may call, as\nmany other vfs_XXX functions already do.  Export the new vfs_ioctl to GPL\nmodules so others can use it (including Unionfs and eCryptfs).  Add DocBook\nfor new vfs_ioctl.\n\n[akpm@linux-foundation.org: fix build]\nSigned-off-by: Erez Zadok \u003cezk@cs.sunysb.edu\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9cfe015aa424b3c003baba3841a60dd9b5ad319b",
      "tree": "5575e06efcf91018f860f2db43979e8e91aba1c3",
      "parents": [
        "774ed22c21ab95d582dfff38560f11cf290baeb4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Feb 06 01:37:16 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:06 2008 -0800"
      },
      "message": "get rid of NR_OPEN and introduce a sysctl_nr_open\n\nNR_OPEN (historically set to 1024*1024) actually forbids processes to open\nmore than 1024*1024 handles.\n\nUnfortunatly some production servers hit the not so \u0027ridiculously high\nvalue\u0027 of 1024*1024 file descriptors per process.\n\nChanging NR_OPEN is not considered safe because of vmalloc space potential\nexhaust.\n\nThis patch introduces a new sysctl (/proc/sys/fs/nr_open) wich defaults to\n1024*1024, so that admins can decide to change this limit if their workload\nneeds it.\n\n[akpm@linux-foundation.org: export it for sparc64]\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "797074e44d78835adbde2ca527718b0e50226b95",
      "tree": "7a54757b7201f4e0085ad1a654fa319eb7e07816",
      "parents": [
        "e8462caa915d4d12846db7aae2557b6db7c054d5"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Feb 06 01:37:08 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:05 2008 -0800"
      },
      "message": "fs: use list_for_each_entry_reverse and kill sb_entry\n\nUse list_for_each_entry_reverse for super_blocks list and remove\nunused sb_entry macro.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@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": "e7ca2d41a029577a8cff453d1445951d4f96bfd8",
      "tree": "60262e34e937ea9bfae7709a913ca940b928eae3",
      "parents": [
        "20420bba13bf79c86cab1e5bdfc4c938d9e44bc9"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Wed Feb 06 01:36:59 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:03 2008 -0800"
      },
      "message": "Document I_SYNC and I_DATASYNC\n\nAfter some archeology (see http://logfs.org/logfs/inode_state_bits) I\nfinally figured out what the three I_DIRTY bits do.  Maybe others would\nprefer less effort to reach this insight.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "011e3fcd1e1f14ef54db30b93404ab7caa726477",
      "tree": "2d8b5dc618f370cb8f2aafd16f15e324fca872bb",
      "parents": [
        "c166f23cb56a76983ce860739d95c8296e57d6b3"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Feb 06 01:36:47 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:02 2008 -0800"
      },
      "message": "proper prototype for get_filesystem_list()\n\nAd a proper prototype for migration_init() in include/linux/fs.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@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": "f5bb3a5e9dcdb8435471562b6cada89525cf4df1",
      "tree": "7b7cf9b90bacd0e2fe07cb3387516e9243f1ab66",
      "parents": [
        "9853832c49dc1685587abeb4e1decd4be690d256",
        "1560a79a2c2ea0c3826150da8029991d685de990"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 07:58:52 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 07:58:52 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (79 commits)\n  Jesper Juhl is the new trivial patches maintainer\n  Documentation: mention email-clients.txt in SubmittingPatches\n  fs/binfmt_elf.c: spello fix\n  do_invalidatepage() comment typo fix\n  Documentation/filesystems/porting fixes\n  typo fixes in net/core/net_namespace.c\n  typo fix in net/rfkill/rfkill.c\n  typo fixes in net/sctp/sm_statefuns.c\n  lib/: Spelling fixes\n  kernel/: Spelling fixes\n  include/scsi/: Spelling fixes\n  include/linux/: Spelling fixes\n  include/asm-m68knommu/: Spelling fixes\n  include/asm-frv/: Spelling fixes\n  fs/: Spelling fixes\n  drivers/watchdog/: Spelling fixes\n  drivers/video/: Spelling fixes\n  drivers/ssb/: Spelling fixes\n  drivers/serial/: Spelling fixes\n  drivers/scsi/: Spelling fixes\n  ...\n"
    },
    {
      "commit": "ab1f16116527e42dec8aee176d673a41a881b809",
      "tree": "0d20fa10151e43f9f104986a2b89ec88ca0135af",
      "parents": [
        "4321e01e7dce8042758349ffa2929c723b0d4107"
      ],
      "author": {
        "name": "Vitaliy Gusev",
        "email": "vgusev@openvz.org",
        "time": "Thu Jan 17 00:07:08 2008 +0000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Feb 03 17:51:36 2008 -0500"
      },
      "message": "pid-namespaces-vs-locks-interaction\n\nfcntl(F_GETLK,..) can return pid of process for not current pid namespace\n(if process is belonged to the several namespaces).  It is true also for\npids in /proc/locks.  So correct behavior is saving pointer to the struct\npid of the process lock owner.\n\nSigned-off-by: Vitaliy Gusev \u003cvgusev@openvz.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "fd3f8984f6fa1ad1a6c2283eef48ba6e5242bcc5",
      "tree": "12f69b5301ece00daff4a73aa9ed92e9e88d07a0",
      "parents": [
        "ab690d9fedf5103bc3057bcd20555159f613b5f2"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Feb 03 17:45:46 2008 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sun Feb 03 17:45:46 2008 +0200"
      },
      "message": "include/linux/: Spelling fixes\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "25ec56b518257a56d2ff41a941d288e4b5ff9488",
      "tree": "77e84d38a5ad242f9d73a006f009649f223378f1",
      "parents": [
        "7a224228ed79d587ece2304869000aad1b8e97dd"
      ],
      "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": "ext4: Add inode version support in ext4\n\nThis patch adds 64-bit inode version support to ext4. The lower 32 bits\nare stored in the osd1.linux1.l_i_version field while the high 32 bits\nare stored in the i_version_hi field newly created in the ext4_inode.\nThis field is incremented in case the ext4_inode is large enough. A\ni_version mount option has been added to enable the feature.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Kalpak Shah \u003ckalpak@clusterfs.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Jean Noel Cordenner \u003cjean-noel.cordenner@bull.net\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": "00d2666623368ffd39afc875ff8a2eead2a0436c",
      "tree": "9b16b85167f1bd86c02c0ebeb74510d8029783a3",
      "parents": [
        "917e865df7eb020f20ffc2b4204f282a587df94f"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Oct 29 14:17:23 2007 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:13 2008 -0800"
      },
      "message": "kobject: convert main fs kobject to use kobject_create\n\nThis also renames fs_subsys to fs_kobj to catch all current users with a\nbuild error instead of a build warning which can easily be missed.\n\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "39655164405940d4818224a085e35420e2f97aed",
      "tree": "6b019b3bc77eecac1731fe64e5c031790c2b5223",
      "parents": [
        "cfaea787c05822acbb4d8963baee5edd1cc0258f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sun Oct 21 16:42:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 22 08:13:21 2007 -0700"
      },
      "message": "exportfs: make struct export_operations const\n\nNow that nfsd has stopped writing to the find_exported_dentry member we an\nmark the export_operations const\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: Timothy Shimmin \u003ctes@sgi.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Chris Mason \u003cmason@suse.com\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: \"Vladimir V. Saveliev\" \u003cvs@namesys.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8aec08094570562bc305df33b088926d983c3540",
      "tree": "399f4590f81428d1f72d754d336da13c449120f9",
      "parents": [
        "5a190ae69766da9a34bf31200c5cea4c0667cf94"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 07 12:20:32 2007 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Oct 21 02:37:25 2007 -0400"
      },
      "message": "[PATCH] new helpers - collect_mounts() and release_collected_mounts()\n\nGet a snapshot of a subtree, creating private clones of vfsmounts\nfor all its components and release such snapshot resp.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8e8a1407ac23b43cec0412338c1b4f5e1c664550",
      "tree": "0efed870d299e7f031df4bd75788c13ab00ac246",
      "parents": [
        "3932bf60590064dbd1d5bc6f19faf4469e964082"
      ],
      "author": {
        "name": "Jason Uhlenkott",
        "email": "juhlenko@akamai.com",
        "time": "Sat Oct 20 03:16:18 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sat Oct 20 03:16:18 2007 +0200"
      },
      "message": "fix do_sys_open() prototype\n\nFix an argument name in do_sys_open()\u0027s prototype.\n\nSigned-off-by: Jason Uhlenkott \u003cjuhlenko@akamai.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "8bf9725c29f2589237dd696d06a204230add0ba3",
      "tree": "abe1a29924a592808250121435dcd12789336e8a",
      "parents": [
        "2e4a707269a409950c3f315010c20f9719c594e2"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:38 2007 -0700"
      },
      "message": "pid namespaces: introduce MS_KERNMOUNT flag\n\nThis flag tells the .get_sb callback that this is a kern_mount() call so that\nit can trust *data pointer to be valid in-kernel one.  If this flag is passed\nfrom the user process, it is cleared since the *data pointer is not a valid\nkernel object.\n\nRunning a few steps forward - this will be needed for proc to create the\nsuperblock and store a valid pid namespace on it during the namespace\ncreation.  The reason, why the namespace cannot live without proc mount is\ndescribed in the appropriate patch.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.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": "c18479fe017b9d3b65b7682f2b9e711389441186",
      "tree": "510d56a218d4542e337368276ada7e2c5482cee3",
      "parents": [
        "50899561aa15b9227009ae40e58852c32fc81944"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Oct 18 23:39:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:33 2007 -0700"
      },
      "message": "put declaration of put_filesystem() in fs.h\n\nDeclarations go into headers.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Ram Pai \u003clinuxram@us.ibm.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": "d139d7ffd0c1e81e2a809909b4f8b121a0dc119a",
      "tree": "e8c9dd746bfd8ae16d17596009608c4c1a153217",
      "parents": [
        "49d4914fd7c10ae846d0f30d5f6f4732cc68499c"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Oct 18 03:07:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:30 2007 -0700"
      },
      "message": "VFS: allow filesystems to implement atomic open+truncate\n\nAdd a new attribute flag ATTR_OPEN, with the meaning: \"truncation was\ninitiated by open() due to the O_TRUNC flag\".\n\nThis way filesystems wanting to implement truncation within their -\u003eopen()\nmethod can ignore such truncate requests.\n\nThis is a quick \u0026 dirty hack, but it comes for free.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b53767719b6cd8789392ea3e7e2eb7b8906898f0",
      "tree": "a0279dc93c79b94d3865b0f19f6b7b353e20608c",
      "parents": [
        "57c521ce6125e15e99e56c902cb8da96bee7b36d"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Tue Oct 16 23:31:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:07 2007 -0700"
      },
      "message": "Implement file posix capabilities\n\nImplement file posix capabilities.  This allows programs to be given a\nsubset of root\u0027s powers regardless of who runs them, without having to use\nsetuid and giving the binary all of root\u0027s powers.\n\nThis version works with Kaigai Kohei\u0027s userspace tools, found at\nhttp://www.kaigai.gr.jp/index.php.  For more information on how to use this\npatch, Chris Friedhoff has posted a nice page at\nhttp://www.friedhoff.org/fscaps.html.\n\nChangelog:\n\tNov 27:\n\tIncorporate fixes from Andrew Morton\n\t(security-introduce-file-caps-tweaks and\n\tsecurity-introduce-file-caps-warning-fix)\n\tFix Kconfig dependency.\n\tFix change signaling behavior when file caps are not compiled in.\n\n\tNov 13:\n\tIntegrate comments from Alexey: Remove CONFIG_ ifdef from\n\tcapability.h, and use %zd for printing a size_t.\n\n\tNov 13:\n\tFix endianness warnings by sparse as suggested by Alexey\n\tDobriyan.\n\n\tNov 09:\n\tAddress warnings of unused variables at cap_bprm_set_security\n\twhen file capabilities are disabled, and simultaneously clean\n\tup the code a little, by pulling the new code into a helper\n\tfunction.\n\n\tNov 08:\n\tFor pointers to required userspace tools and how to use\n\tthem, see http://www.friedhoff.org/fscaps.html.\n\n\tNov 07:\n\tFix the calculation of the highest bit checked in\n\tcheck_cap_sanity().\n\n\tNov 07:\n\tAllow file caps to be enabled without CONFIG_SECURITY, since\n\tcapabilities are the default.\n\tHook cap_task_setscheduler when !CONFIG_SECURITY.\n\tMove capable(TASK_KILL) to end of cap_task_kill to reduce\n\taudit messages.\n\n\tNov 05:\n\tAdd secondary calls in selinux/hooks.c to task_setioprio and\n\ttask_setscheduler so that selinux and capabilities with file\n\tcap support can be stacked.\n\n\tSep 05:\n\tAs Seth Arnold points out, uid checks are out of place\n\tfor capability code.\n\n\tSep 01:\n\tDefine task_setscheduler, task_setioprio, cap_task_kill, and\n\ttask_setnice to make sure a user cannot affect a process in which\n\tthey called a program with some fscaps.\n\n\tOne remaining question is the note under task_setscheduler: are we\n\tok with CAP_SYS_NICE being sufficient to confine a process to a\n\tcpuset?\n\n\tIt is a semantic change, as without fsccaps, attach_task doesn\u0027t\n\tallow CAP_SYS_NICE to override the uid equivalence check.  But since\n\tit uses security_task_setscheduler, which elsewhere is used where\n\tCAP_SYS_NICE can be used to override the uid equivalence check,\n\tfixing it might be tough.\n\n\t     task_setscheduler\n\t\t note: this also controls cpuset:attach_task.  Are we ok with\n\t\t     CAP_SYS_NICE being used to confine to a cpuset?\n\t     task_setioprio\n\t     task_setnice\n\t\t sys_setpriority uses this (through set_one_prio) for another\n\t\t process.  Need same checks as setrlimit\n\n\tAug 21:\n\tUpdated secureexec implementation to reflect the fact that\n\teuid and uid might be the same and nonzero, but the process\n\tmight still have elevated caps.\n\n\tAug 15:\n\tHandle endianness of xattrs.\n\tEnforce capability version match between kernel and disk.\n\tEnforce that no bits beyond the known max capability are\n\tset, else return -EPERM.\n\tWith this extra processing, it may be worth reconsidering\n\tdoing all the work at bprm_set_security rather than\n\td_instantiate.\n\n\tAug 10:\n\tAlways call getxattr at bprm_set_security, rather than\n\tcaching it at d_instantiate.\n\n[morgan@kernel.org: file-caps clean up for linux/capability.h]\n[bunk@kernel.org: unexport cap_inode_killpriv]\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Andrew Morgan \u003cmorgan@kernel.org\u003e\nSigned-off-by: Andrew Morgan \u003cmorgan@kernel.org\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@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": "1c0eeaf5698597146ed9b873e2f9e0961edcf0f9",
      "tree": "5265eac8437e8ce517a62db8fe2bd99db5b7019b",
      "parents": [
        "2e6883bdf49abd0e7f0d9b6297fc3be7ebb2250b"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Tue Oct 16 23:30:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:02 2007 -0700"
      },
      "message": "introduce I_SYNC\n\nI_LOCK was used for several unrelated purposes, which caused deadlock\nsituations in certain filesystems as a side effect.  One of the purposes\nnow uses the new I_SYNC bit.\n\nAlso document the various bits and change their order from historical to\nlogical.\n\n[bunk@stusta.de: make fs/inode.c:wake_up_inode() static]\nSigned-off-by: Joern Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nCc: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: Anton Altaparmakov \u003caia21@cam.ac.uk\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "08d8e9749e7f0435ba4683b620e8d30d59276b4c",
      "tree": "a973ab68d1f10f02e13f8d536ba0bf2cb8f2ffba",
      "parents": [
        "2c1365791048e8aff42138ed5f6040b3c7824a69"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Tue Oct 16 23:30:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:02 2007 -0700"
      },
      "message": "writeback: fix ntfs with sb_has_dirty_inodes()\n\nNTFS\u0027s if-condition on dirty inodes is not complete.  Fix it with\nsb_has_dirty_inodes().\n\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Ken Chen \u003ckenchen@google.com\u003e\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0e0f4fc22ece8e593167eccbb1a4154565c11faa",
      "tree": "564ab2eabb31ab945c334706662854bb227f45e9",
      "parents": [
        "670e4def6ef5f44315d62748134e535b479c784f"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Tue Oct 16 23:30:38 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:02 2007 -0700"
      },
      "message": "writeback: fix periodic superblock dirty inode flushing\n\nCurrent -mm tree has bucketful of bug fixes in periodic writeback path.\nHowever, we still hit a glitch where dirty pages on a given inode aren\u0027t\ncompletely flushed to the disk, and system will accumulate large amount of\ndirty pages beyond what dirty_expire_interval is designed for.\n\nThe problem is __sync_single_inode() will move an inode to sb-\u003es_dirty list\neven when there are more pending dirty pages on that inode.  If there is\nanother inode with a small number of dirty pages, we hit a case where the loop\niteration in wb_kupdate() terminates prematurely because wbc.nr_to_write \u003e 0.\nThus leaving the inode that has large amount of dirty pages behind and it has\nto wait for another dirty_writeback_interval before we flush it again.  We\neffectively only write out MAX_WRITEBACK_PAGES every dirty_writeback_interval.\nIf the rate of dirtying is sufficiently high, the system will start\naccumulate a large number of dirty pages.\n\nSo fix it by having another sb-\u003es_more_io list on which to park the inode\nwhile we iterate through sb-\u003es_io and to allow each dirty inode which resides\non that sb to have an equal chance of flushing some amount of dirty pages.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2b47c3611de05c585e2d81204f6c7e3e255a3461",
      "tree": "24a14614fb9bf507b4b6ad3fa6a7cfa5a92318fb",
      "parents": [
        "41d10da3717409de33d5441f2f6d8f072ab3fbb6"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Tue Oct 16 23:27:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:53 2007 -0700"
      },
      "message": "Fix f_version type: should be u64 instead of unsigned long\n\nFix f_version type: should be u64 instead of long\n\nThere is a type inconsistency between struct inode i_version and struct file\nf_version.\n\nfs.h:\n\nstruct inode\n  u64                     i_version;\n\nand\n\nstruct file\n  unsigned long           f_version;\n\nUsers do:\n\nfs/ext3/dir.c:\n\nif (filp-\u003ef_version !\u003d inode-\u003ei_version) {\n\nSo why isn\u0027t f_version a u64 ? It becomes a problem if versions gets\nhigher than 2^32 and we are on an architecture where longs are 32 bits.\n\nThis patch changes the f_version type to u64, and updates the users accordingly.\n\nIt applies to 2.6.23-rc2-mm2.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Martin Bligh \u003cmbligh@google.com\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4a239427f23c7850a33445178ec5f71e19d040b2",
      "tree": "8e16020bba040a457cdd669048f071c79617e972",
      "parents": [
        "ba2a631b14fe8a9c122801c648c49a543d020d8d"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Oct 16 23:27:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:53 2007 -0700"
      },
      "message": "make fs/libfs.c:simple_commit_write() static\n\nsimple_commit_write() can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@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": "74bf17cffc32511c7c6d70fe7f376b92662e186e",
      "tree": "e770b056d4a83f847a04fc92e119aa607ec0edaf",
      "parents": [
        "1d99493b3a68e40e56459ea3565d4402fb6e5f3a"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Tue Oct 16 23:26:30 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:49 2007 -0700"
      },
      "message": "fs: remove the unused mempages parameter\n\nSince the mempages parameter is actually not used, they should be removed.\n\nNow there is only files_init use the mempages parameter,\n\n \tfiles_init(mempages);\n\nbut I don\u0027t think the adaptation to mempages in files_init is really\nuseful; and if files_init also changed to the prototype void (*func)(void),\nthe wrapper vfs_caches_init would also not need the mempages parameter.\n\nSigned-off-by: Denis Cheng \u003ccrquan@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": "4be28540ee2f5af6f21764cde25154208750611e",
      "tree": "db1c3d2a49e790537fe0f3d3a1e4285ded84a9d2",
      "parents": [
        "2b571a066a2fee14189a297ce8adc5212c58074c"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Oct 16 23:26:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:48 2007 -0700"
      },
      "message": "Remove sysctl.h from fs.h\n\nRrrr, addition of sysctl.h to fs.h was\u0027t very smart, because simple\nediting of the former will buy you big recompile, where it shouldn\u0027t\nhave to.\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": "55144768e100b68447f44c5e5c9deb155ad661bd",
      "tree": "9889682ee3b64627ad9eb504f30672fad844752f",
      "parents": [
        "03158cd7eb3374843de68421142ca5900df845d9"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Oct 16 01:25:26 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:58 2007 -0700"
      },
      "message": "fs: remove some AOP_TRUNCATED_PAGE\n\nprepare/commit_write no longer returns AOP_TRUNCATED_PAGE since OCFS2 and\nGFS2 were converted to the new aops, so we can make some simplifications\nfor that.\n\n[michal.k.k.piotrowski@gmail.com: fix warning]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: Michal Piotrowski \u003cmichal.k.k.piotrowski@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": "89e107877b65bf6eff1d63a1302dee9a091586f5",
      "tree": "8a120a04c46f19229d1cf9b9c546f1818cf84c44",
      "parents": [
        "7765ec26ae1c01bb29bedf910e4efcced8cc81d2"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Oct 16 01:25:07 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:55 2007 -0700"
      },
      "message": "fs: new cont helpers\n\nRework the generic block \"cont\" routines to handle the new aops.  Supporting\ncont_prepare_write would take quite a lot of code to support, so remove it\ninstead (and we later convert all filesystems to use it).\n\nwrite_begin gets passed AOP_FLAG_CONT_EXPAND when called from\ngeneric_cont_expand, so filesystems can avoid the old hacks they used.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "afddba49d18f346e5cc2938b6ed7c512db18ca68",
      "tree": "4726e3d3b0e9e8e5b5d3b2b0cccb36446bbdf3ca",
      "parents": [
        "637aff46f94a754207c80c8c64bf1b74f24b967d"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Oct 16 01:25:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:55 2007 -0700"
      },
      "message": "fs: introduce write_begin, write_end, and perform_write aops\n\nThese are intended to replace prepare_write and commit_write with more\nflexible alternatives that are also able to avoid the buffered write\ndeadlock problems efficiently (which prepare_write is unable to do).\n\n[mark.fasheh@oracle.com: API design contributions, code review and fixes]\n[akpm@linux-foundation.org: various fixes]\n[dmonakhov@sw.ru: new aop block_write_begin fix]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nSigned-off-by: Dmitriy Monakhov \u003cdmonakhov@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": "2f718ffc16c43a435d12919c75dbfad518abd056",
      "tree": "55588cb2815d844e9d0b2404cf8ceafe98b5c55d",
      "parents": [
        "08291429cfa6258c4cd95d8833beb40f828b194e"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Oct 16 01:24:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:55 2007 -0700"
      },
      "message": "mm: buffered write iterator\n\nAdd an iterator data structure to operate over an iovec.  Add usercopy\noperators needed by generic_file_buffered_write, and convert that function\nover.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f4e6b498d6e06742d72706ef50593a9c4dd72214",
      "tree": "74a573302b2ea086c0d21907175be604f110f5b1",
      "parents": [
        "0bb7ba6b9c358c12084a3cbc6ac08c8d1e973937"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Tue Oct 16 01:24:33 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:52 2007 -0700"
      },
      "message": "readahead: combine file_ra_state.prev_index/prev_offset into prev_pos\n\nCombine the file_ra_state members\n\t\t\t\tunsigned long prev_index\n\t\t\t\tunsigned int prev_offset\ninto\n\t\t\t\tloff_t prev_pos\n\nIt is more consistent and better supports huge files.\n\nThanks to Peter for the nice proposal!\n\n[akpm@linux-foundation.org: fix shift overflow]\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0bb7ba6b9c358c12084a3cbc6ac08c8d1e973937",
      "tree": "81dc745c660557af4d9ea8b9816846d0395ece20",
      "parents": [
        "937085aa35cc873d427d250a1e304d641af24628"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Tue Oct 16 01:24:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:52 2007 -0700"
      },
      "message": "readahead: mmap read-around simplification\n\nFold file_ra_state.mmap_hit into file_ra_state.mmap_miss and make it an int.\n\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "937085aa35cc873d427d250a1e304d641af24628",
      "tree": "99b0d2d9e6721a72e65b4cb5ad0fc30ec04f4aa2",
      "parents": [
        "43fac94dd62667c83dd2daa5b7ac548512af780a"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Tue Oct 16 01:24:31 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:52 2007 -0700"
      },
      "message": "readahead: compacting file_ra_state\n\nUse \u0027unsigned int\u0027 instead of \u0027unsigned long\u0027 for readahead sizes.\n\nThis helps reduce memory consumption on 64bit CPU when a lot of files are\nopened.\n\nCC: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\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": "14358e6ddaed27499d7d366b3e65c3e46b39e1c4",
      "tree": "de5a8919db855568577d0388fe30b5d7689e1f90",
      "parents": [
        "d475fd428ce77aa2a8bc650d230e17663a4f49c3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sun Oct 14 01:38:33 2007 +0200"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sun Oct 14 01:38:33 2007 +0200"
      },
      "message": "lockdep: annotate dir vs file i_mutex\n\nOn Mon, 2007-09-24 at 22:13 -0400, Steven Rostedt wrote:\n\u003e The circular lock seems to be this:\n\u003e \n\u003e #1:\n\u003e \n\u003e   sys_mmap2:              down_write(\u0026mm-\u003emmap_sem);\n\u003e   nfs_revalidate_mapping: mutex_lock(\u0026inode-\u003ei_mutex);\n\u003e \n\u003e \n\u003e #0:\n\u003e \n\u003e   vfs_readdir:     mutex_lock(\u0026inode-\u003ei_mutex);\n\u003e    - during the readdir (filldir64), we take a user fault (missing page?)\n\u003e     and call do_page_fault -\n\u003e   do_page_fault:   down_read(\u0026mm-\u003emmap_sem);\n\u003e \n\u003e \n\u003e So it does indeed look like a circular locking. Now the question is, \"is\n\u003e this a bug?\".  Looking like the inode of #1 must be a file or something\n\u003e else that you can mmap and the inode of #0 seems it must be a directory.\n\u003e I would say \"no\".\n\u003e \n\u003e Now if you can readdir on a file or mmap a directory, then this could be\n\u003e an issue.\n\u003e \n\u003e Otherwise, I\u0027d love to see someone teach lockdep about this issue! ;-)\n\nMake a distinction between file and dir usage of i_mutex.\nThe inode should be complete and unused at unlock_new_inode(), re-init\ni_mutex depending on its type.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "d475fd428ce77aa2a8bc650d230e17663a4f49c3",
      "tree": "19ba4a1b688a758b2e674f792e1d605896419cc8",
      "parents": [
        "58dfe883d3bc3b4c08c53a7f39e2ca3ec84f089e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Oct 15 14:51:31 2007 +0200"
      },
      "committer": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Oct 15 14:51:31 2007 +0200"
      },
      "message": "lockdep: per filesystem inode lock class\nGive each filesystem its own inode lock class. The various filesystems have\ndifferent locking order wrt the inode locks; esp. the pseudo filesystems differ\nfrom the rest.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "7f8ada98d9edd83d6ebd01e431e15b024a4a3dc4",
      "tree": "1231947efa06478714eeabac3bdbffc663f453c7",
      "parents": [
        "094f2825218fec1b240cb8537d2d0a10edf5ddc9"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 01 14:41:15 2007 -0700"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:32:46 2007 -0400"
      },
      "message": "Rework /proc/locks via seq_files and seq_list helpers\n\nCurrently /proc/locks is shown with a proc_read function, but its behavior\nis rather complex as it has to manually handle current offset and buffer\nlength.  On the other hand, files that show objects from lists can be\neasily reimplemented using the sequential files and the seq_list_XXX()\nhelpers.\n\nThis saves (as usually) 16 lines of code and more than 200 from\nthe .text section.\n\n[akpm@linux-foundation.org: no externs in C]\n[akpm@linux-foundation.org: warning fixes]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a16877ca9cec211708a161057a7cbfbf2cbc3a53",
      "tree": "a114bfe588af58047b1eb2aa1f57ac4b890c01a6",
      "parents": [
        "98257af5a2ad0c5b502ebd07094d9fd8ce87acef"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 01 14:41:11 2007 -0700"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:32:46 2007 -0400"
      },
      "message": "Cleanup macros for distinguishing mandatory locks\n\nThe combination of S_ISGID bit set and S_IXGRP bit unset is used to mark the\ninode as \"mandatory lockable\" and there\u0027s a macro for this check called\nMANDATORY_LOCK(inode).  However, fs/locks.c and some filesystems still perform\nthe explicit i_mode checking.  Besides, Andrew pointed out, that this macro is\nbuggy itself, as it dereferences the inode arg twice.\n\nConvert this macro into static inline function and switch its users to it,\nmaking the code shorter and more readable.\n\nThe __mandatory_lock() helper is to be used in places where the IS_MANDLOCK()\nfor superblock is already known to be true.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\nCc: Ron Minnich \u003crminnich@sandia.gov\u003e\nCc: Latchesar Ionkov \u003clucho@ionkov.net\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ec05b297f91a443aa26b74059b573bfad49c9ebb",
      "tree": "4890ea53de4373e51688e72576781909588515a3",
      "parents": [
        "ac07860264bd2b18834d3fa3be47032115524cea"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Jul 30 08:24:27 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Aug 11 22:34:47 2007 +0200"
      },
      "message": "[PATCH] remove mm/filemap.c:file_send_actor()\n\nThis patch removes the no longer used file_send_actor().\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0af1a4504699524c876361845bc2e301ecc45d0f",
      "tree": "72c6d1ac9d7dfb44d25c58eea599c2df63aa2562",
      "parents": [
        "86d0004abc87025bae1cca43c94e99a27b7bbbd6"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Jul 31 00:39:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 31 15:39:43 2007 -0700"
      },
      "message": "rename setlease to generic_setlease\n\nMake it a little more clear that this is the default implementation for\nthe setleast operation.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nAcked-by: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f9acc8c7b35a100f3a9e0e6977f7807b0169f9a5",
      "tree": "6a4dcd227bb698a217a1d42d37e3f0135a444ea4",
      "parents": [
        "cf914a7d656e62b9dd3e0dffe4f62b953ae6048d"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Thu Jul 19 01:48:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:44 2007 -0700"
      },
      "message": "readahead: sanify file_ra_state names\n\nRename some file_ra_state variables and remove some accessors.\n\nIt results in much simpler code.\nKudos to Rusty!\n\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c743d96b6d2ff55a94df7b5ac7c74987bb9c343b",
      "tree": "391e5dad21e62590e343c63e5ba05322d0fc76ad",
      "parents": [
        "dc7868fcb9a73990e6f30371c1be465c436a7a7f"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Thu Jul 19 01:48:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:44 2007 -0700"
      },
      "message": "readahead: remove the old algorithm\n\nRemove the old readahead algorithm.\n\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nCc: Steven Pratt \u003cslpratt@austin.ibm.com\u003e\nCc: Ram Pai \u003clinuxram@us.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5ce1110b92b31d079aa443e967f43a2294e01194",
      "tree": "eff95b4c8ede07d0777ca68a30d686d1acbb5c73",
      "parents": [
        "f615bfca468c9b80ed2d09be5fdbaf470a32c045"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Thu Jul 19 01:47:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:44 2007 -0700"
      },
      "message": "readahead: data structure and routines\n\nExtend struct file_ra_state to support the on-demand readahead logic.  Also\ndefine some helpers for it.\n\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nCc: Steven Pratt \u003cslpratt@austin.ibm.com\u003e\nCc: Ram Pai \u003clinuxram@us.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e53252d97e670a38b1d2e9723b48077bba11ddda",
      "tree": "a9909f22d7f0424214e2576912c0a3300dde3df0",
      "parents": [
        "68fc4fabca897a09f75f53bac14cdc7a98f52210"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Thu Jul 19 01:47:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:43 2007 -0700"
      },
      "message": "unregister_chrdev() return void\n\nunregister_chrdev() does not return meaningful value.  This patch makes it\nreturn void like most unregister_* functions.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@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": "a8dcf12f9e8ba113251c04d602f1695d537fb142",
      "tree": "1b36a19e34a8471e847bfea88dc66ee6683b7b07",
      "parents": [
        "d796e641a3eea2109381d6b0af533454f44916fa",
        "6924c55492c904695f13c552c461c2211f4fdd6a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 18 18:27:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jul 18 18:27:00 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-linus\u0027 of git://linux-nfs.org/~bfields/linux:\n  locks: fix vfs_test_lock() comment\n  locks: make posix_test_lock() interface more consistent\n  nfs: disable leases over NFS\n  gfs2: stop giving out non-cluster-coherent leases\n  locks: export setlease to filesystems\n  locks: provide a file lease method enabling cluster-coherent leases\n  locks: rename lease functions to reflect locks.c conventions\n  locks: share more common lease code\n  locks: clean up lease_alloc()\n  locks: convert an -EINVAL return to a BUG\n  leases: minor break_lease() comment clarification\n"
    },
    {
      "commit": "6d34ac199a4af5c678a3a8f3275aeb2586b72da3",
      "tree": "4ab6cffcfe993baa0afb2ab361a8c94ebfc3a444",
      "parents": [
        "370f6599e8bc03fd9fc6d1a1be00ae0c6373ca59"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri May 11 16:09:32 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jul 18 19:17:19 2007 -0400"
      },
      "message": "locks: make posix_test_lock() interface more consistent\n\nSince posix_test_lock(), like fcntl() and -\u003elock(), indicates absence or\npresence of a conflict lock by setting fl_type to, respectively, F_UNLCK\nor something other than F_UNLCK, the return value is no longer needed.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "4698afe8e3a725576366f86560a8a8242b21b9f7",
      "tree": "dfa312e0a6bce21a6f502b8b9cf0844281d094a2",
      "parents": [
        "f9ffed26d6f3e6ac9988947242821579d615fda7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jul 04 17:21:37 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jul 18 19:17:06 2007 -0400"
      },
      "message": "locks: export setlease to filesystems\n\nExport setlease so it can used by filesystems to implement their lease\nmethods.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f9ffed26d6f3e6ac9988947242821579d615fda7",
      "tree": "f7dc037b9b1a90511751532be5ebc47c820ed407",
      "parents": [
        "a9933cea7a1d80dd9efae9f1acd857f5dce742b9"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Nov 14 15:51:40 2006 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jul 18 19:14:47 2007 -0400"
      },
      "message": "locks: provide a file lease method enabling cluster-coherent leases\n\nCurrently leases are only kept locally, so there\u0027s no way for a distributed\nfilesystem to enforce them against multiple clients.  We\u0027re particularly\ninterested in the case of nfsd exporting a cluster filesystem, in which\ncase nfsd needs cluster-coherent leases in order to implement delegations\ncorrectly.\n\nAlso add some documentation.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a9933cea7a1d80dd9efae9f1acd857f5dce742b9",
      "tree": "d931351589579ce141110350de9ff11154328399",
      "parents": [
        "6d5e8b05caf074ae5676ad9aaf92e381226a14a7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jun 07 17:09:49 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jul 18 19:14:12 2007 -0400"
      },
      "message": "locks: rename lease functions to reflect locks.c conventions\n\nWe\u0027ve been using the convention that vfs_foo is the function that calls\na filesystem-specific foo method if it exists, or falls back on a\ngeneric method if it doesn\u0027t; thus vfs_foo is what is called when some\nother part of the kernel (normally lockd or nfsd) wants to get a lock,\nwhereas foo is what filesystems call to use the underlying local\nfunctionality as part of their lock implementation.\n\nSo rename setlease to vfs_setlease (which will call a\nfilesystem-specific setlease after a later patch) and __setlease to\nsetlease.\n\nAlso, vfs_setlease need only be GPL-exported as long as it\u0027s only needed\nby lockd and nfsd.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "97ac73506c0ba93f30239bb57b4cfc5d73e68a62",
      "tree": "4d02848d6c792a70b413deadcaffd7bf8c8d61de",
      "parents": [
        "cb32da0416b823b7f4b65e7e85d6cba16ca4d1e1"
      ],
      "author": {
        "name": "Amit Arora",
        "email": "aarora@in.ibm.com",
        "time": "Tue Jul 17 21:42:44 2007 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jul 17 21:42:44 2007 -0400"
      },
      "message": "sys_fallocate() implementation on i386, x86_64 and powerpc\n\nfallocate() is a new system call being proposed here which will allow\napplications to preallocate space to any file(s) in a file system.\nEach file system implementation that wants to use this feature will need\nto support an inode operation called -\u003efallocate().\nApplications can use this feature to avoid fragmentation to certain\nlevel and thus get faster access speed. With preallocation, applications\nalso get a guarantee of space for particular file(s) - even if later the\nthe system becomes full.\n\nCurrently, glibc provides an interface called posix_fallocate() which\ncan be used for similar cause. Though this has the advantage of working\non all file systems, but it is quite slow (since it writes zeroes to\neach block that has to be preallocated). Without a doubt, file systems\ncan do this more efficiently within the kernel, by implementing\nthe proposed fallocate() system call. It is expected that\nposix_fallocate() will be modified to call this new system call first\nand incase the kernel/filesystem does not implement it, it should fall\nback to the current implementation of writing zeroes to the new blocks.\nToDos:\n1. Implementation on other architectures (other than i386, x86_64,\n   and ppc). Patches for s390(x) and ia64 are already available from\n   previous posts, but it was decided that they should be added later\n   once fallocate is in the mainline. Hence not including those patches\n   in this take.\n2. Changes to glibc,\n   a) to support fallocate() system call\n   b) to make posix_fallocate() and posix_fallocate64() call fallocate()\n\nSigned-off-by: Amit Arora \u003caarora@in.ibm.com\u003e\n"
    },
    {
      "commit": "3bd858ab1c451725c07a805dcb315215dc85b86e",
      "tree": "5d49c4300e350d64fd81eb3230b81f754117e0c1",
      "parents": [
        "49c13b51a15f1ba9f6d47e26e4a3886c4f3931e2"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "ssatyam@cse.iitk.ac.in",
        "time": "Tue Jul 17 15:00:08 2007 +0530"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 12:00:03 2007 -0700"
      },
      "message": "Introduce is_owner_or_cap() to wrap CAP_FOWNER use with fsuid check\n\nIntroduce is_owner_or_cap() macro in fs.h, and convert over relevant\nusers to it. This is done because we want to avoid bugs in the future\nwhere we check for only effective fsuid of the current task against a\nfile\u0027s owning uid, without simultaneously checking for CAP_FOWNER as\nwell, thus violating its semantics.\n[ XFS uses special macros and structures, and in general looked ...\nuntouchable, so we leave it alone -- but it has been looked over. ]\n\nThe (current-\u003efsuid !\u003d inode-\u003ei_uid) check in generic_permission() and\nexec_permission_lite() is left alone, because those operations are\ncovered by CAP_DAC_OVERRIDE and CAP_DAC_READ_SEARCH. Similarly operations\nfalling under the purview of CAP_CHOWN and CAP_LEASE are also left alone.\n\nSigned-off-by: Satyam Sharma \u003cssatyam@cse.iitk.ac.in\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nAcked-by: Serge E. Hallyn \u003cserge@hallyn.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a569425512253992cc64ebf8b6d00a62f986db3e",
      "tree": "7ea72c75c54697bddbad807af89cc549d7426a69",
      "parents": [
        "6dd4ac3b30b81b5bd0d628af1c89b7da689a38ea"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Jul 17 04:04:28 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:06 2007 -0700"
      },
      "message": "knfsd: exportfs: add exportfs.h header\n\ncurrently the export_operation structure and helpers related to it are in\nfs.h.  fs.h is already far too large and there are very few places needing the\nexport bits, so split them off into a separate header.\n\n[akpm@linux-foundation.org: fix cifs build]\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\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": "f4480240f700587c15507b7815e75989b16825b2",
      "tree": "96eac4ec200cf49cb1cbbdf185befca34d83b629",
      "parents": [
        "c6d4d63489f2e3ce38c80e7073952f0c58d4c2bc"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Jul 17 04:03:47 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:03 2007 -0700"
      },
      "message": "unregister_blkdev(): return void\n\nPut WARN_ON and fixed all callers of unregister_blkdev().  Now we can make\nunregister_blkdev return void.\n\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@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": "62239ac2b301abc397e70986649666cfb7835907",
      "tree": "296ddcc9a0aa9ce847b9eab3eb3af29e8c148f13",
      "parents": [
        "f284ce7269031947326bac6bb19a977705276222"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Jul 17 04:03:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:03 2007 -0700"
      },
      "message": "proper prototype for proc_nr_files()\n\nAdd a proper prototype for proc_nr_files() in include/linux/fs.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e7bf24b1b979db256ddc84d0d4ac6040d706da6",
      "tree": "edb5aed9b2f8c2001d8dd11de1e505b87893965d",
      "parents": [
        "e84845c4bf9a00533352e5805b35f42acdb04a1e"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sun Jul 15 23:40:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:45 2007 -0700"
      },
      "message": "fs: clarify \"dummy\" member in struct inodes_stat_t\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "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": "fc9a07e7bf1a76e710f5df017abb07628db1781d",
      "tree": "bf2a288f97cbf9cfd82a4306a7d9c615abc7c887",
      "parents": [
        "45426812d6b601430d560cb6049757b5b0bc71c4"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Sun Jul 15 23:38:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:36 2007 -0700"
      },
      "message": "invalidate_mapping_pages(): add cond_resched\n\ninvalidate_mapping_pages() can sometimes take a long time (millions of pages\nto free).  Long enough for the softlockup detector to trigger.\n\nWe used to have a cond_resched() in there but I took it out because the\ndrop_caches code calls invalidate_mapping_pages() under inode_lock.\n\nThe patch adds a nasty flag and puts the cond_resched() back.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d96e6e71647846e0dab097efd9b8bf3a3a556dca",
      "tree": "b6d88df83dae5ab470ad51af77b42a5c22a93dc9",
      "parents": [
        "d054fe3d10cc1f9aec01378c38caa32dffdd0090"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jun 11 12:18:52 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:15 2007 +0200"
      },
      "message": "Remove remnants of sendfile()\n\nThere are now zero users of .sendfile() in the kernel, so kill\nit from the file_operations structure and in do_sendfile().\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d054fe3d10cc1f9aec01378c38caa32dffdd0090",
      "tree": "3c54ddbac87b25eb44526cf2ad4303f21dbe3cdd",
      "parents": [
        "932cc6d4f7c35bbf70bce8cc865b6033ff49c9c0"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Fri Jun 15 08:16:22 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:15 2007 +0200"
      },
      "message": "xip sendfile removal\n\nThis patch removes xip_file_sendfile, the sendfile implementation for\nxip without replacement. Those customers that use xip on s390 are not\nusing sendfile() as far as we know, and so far s390 is the only platform\nthis could potentially be used on so far.\nHaving sendfile is not a popular feature for execute in place file\nsystems, however we have a working implementation of splice_read() based\non fs/splice.c if anyone asks for it.\nAt this point in time, it does not seem preferable to merge\nsplice_read() for xip because it causes extra maintenence effort due to\ncode duplication and it requires struct page behind the xip memory\nsegment. We\u0027d like to get rid of that in favor of supporting flash based\nembedded platforms (Monta Vista work) soon.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0452a4e5d021900b07ebdeecb9ed03b49f164f3f",
      "tree": "c03b50882723102bf51fade26f6a24d9dd0a182e",
      "parents": [
        "5ffc4ef45b3b0a57872f631b4e4ceb8ace0d7496"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 01 11:55:49 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:14 2007 +0200"
      },
      "message": "sendfile: kill generic_file_sendfile()\n\nIt\u0027s no longer used.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "71c42157904404a37f89fff3b2536c55115823a5",
      "tree": "477793f825fa8777640ad4e9b705ccb98b83d18d",
      "parents": [
        "0faa45480261a52323fe88bfab6aea1e8eb87b65"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Sat Jun 23 17:16:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jun 24 08:59:11 2007 -0700"
      },
      "message": "document nlink function\n\nThese should have been documented from the beginning.  Fix it.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ec4883b015c3212f6f6d04fb2ff45f528492f598",
      "tree": "0e393eb198a35a90adafcd8129564d0173aafad4",
      "parents": [
        "464cf177df7727efcc5506322fc5d0c8b896f545",
        "0477d24e2a87a9077b62298b01b031929f5cf2a2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jun 04 17:54:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jun 04 17:54:09 2007 -0700"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6:\n  [JFFS2] Fix obsoletion of metadata nodes in jffs2_add_tn_to_tree()\n  [MTD] Fix error checking after get_mtd_device() in get_sb_mtd functions\n  [JFFS2] Fix buffer length calculations in jffs2_get_inode_nodes()\n  [JFFS2] Fix potential memory leak of dead xattrs on unmount.\n  [JFFS2] Fix BUG() caused by failing to discard xattrs on deleted files.\n  [MTD] generalise the handling of MTD-specific superblocks\n  [MTD] [MAPS] don\u0027t force uclinux mtd map to be root dev\n"
    },
    {
      "commit": "acaebfd8a7af0019b2edfcf4045c56c3e18375c5",
      "tree": "312d91a96fbc6ed3672220e2c4087a196e5ab6cf",
      "parents": [
        "33672f72b24191fb17c3666ec1c620f3fa617b50"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu May 10 22:51:50 2007 -0700"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Fri May 11 12:14:15 2007 +0100"
      },
      "message": "[MTD] generalise the handling of MTD-specific superblocks\n\nGeneralise the handling of MTD-specific superblocks so that JFFS2 and ROMFS\ncan both share it.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "ef51c97623b94f51e439ac91d2736aab3d1b6594",
      "tree": "5c020421f1e5a6e28b5a9f341fec32479a8ffb3a",
      "parents": [
        "524e6752912a891a396a9cf74c5d7d60fff5510a"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Tue May 08 00:27:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:04 2007 -0700"
      },
      "message": "Remove do_sync_file_range()\n\nRemove do_sync_file_range() and convert callers to just use\ndo_sync_mapping_range().\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "79c0b2df79eb56fc71e54c75cd7fb3acf84370f9",
      "tree": "f19be816fef3565b7f9cc746786e29fee0ac62e6",
      "parents": [
        "880afc4d76af452267174b5989943f081c1db2c0"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue May 08 00:25:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:01 2007 -0700"
      },
      "message": "add filesystem subtype support\n\nThere\u0027s a slight problem with filesystem type representation in fuse\nbased filesystems.\n\nFrom the kernel\u0027s view, there are just two filesystem types: fuse and\nfuseblk.  From the user\u0027s view there are lots of different filesystem\ntypes.  The user is not even much concerned if the filesystem is fuse based\nor not.  So there\u0027s a conflict of interest in how this should be\nrepresented in fstab, mtab and /proc/mounts.\n\nThe current scheme is to encode the real filesystem type in the mount\nsource.  So an sshfs mount looks like this:\n\n  sshfs#user@server:/   /mnt/server    fuse   rw,nosuid,nodev,...\n\nThis url-ish syntax works OK for sshfs and similar filesystems.  However\nfor block device based filesystems (ntfs-3g, zfs) it doesn\u0027t work, since\nthe kernel expects the mount source to be a real device name.\n\nA possibly better scheme would be to encode the real type in the type\nfield as \"type.subtype\".  So fuse mounts would look like this:\n\n  /dev/hda1       /mnt/windows   fuseblk.ntfs-3g   rw,...\n  user@server:/   /mnt/server    fuse.sshfs        rw,nosuid,nodev,...\n\nThis patch adds the necessary code to the kernel so that this can be\ncorrectly displayed in /proc/mounts.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1ae7075bcd805c3aa5e8f53effc63a4562d6110e",
      "tree": "76ce9da136deee264b1642169522981b5175af82",
      "parents": [
        "7b8e89249ba54fb6e12358bbed7e3070fa1d1e6a"
      ],
      "author": {
        "name": "Chris Snook",
        "email": "csnook@redhat.com",
        "time": "Tue May 08 00:24:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:14:59 2007 -0700"
      },
      "message": "use use SEEK_MAX to validate user lseek arguments\n\nAdd SEEK_MAX and use it to validate lseek arguments from userspace.\n\nSigned-off-by: Chris Snook \u003ccsnook@redhat.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": "0ceb331433e8aad9c5f441a965d7c681f8b9046f",
      "tree": "fd3d679a4015242dd65f0721f52242ad47619910",
      "parents": [
        "b46b8f19c9cd435ecac4d9d12b39d78c137ecd66"
      ],
      "author": {
        "name": "Dmitriy Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Tue May 08 00:23:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:14:57 2007 -0700"
      },
      "message": "mm: move common segment checks to separate helper function\n\n[akpm@linux-foundation.org: cleanup]\nSigned-off-by: Monakhov Dmitriy \u003cdmonakhov@openvz.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: Anton Altaparmakov \u003caia21@cam.ac.uk\u003e\nAcked-by: David Chinner \u003cdgc@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": "2d56d3c43cc97ae48586745556f5a5b564d61582",
      "tree": "28f2edc1e69b79e94d99023041dd0358861b6956",
      "parents": [
        "0f9008ef38d5a6305d94bbdd8f20d68fc75c63b6",
        "586759f03e2e9031ac5589912a51a909ed53c30a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:34:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:34:24 2007 -0700"
      },
      "message": "Merge branch \u0027server-cluster-locking-api\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027server-cluster-locking-api\u0027 of git://linux-nfs.org/~bfields/linux:\n  gfs2: nfs lock support for gfs2\n  lockd: add code to handle deferred lock requests\n  lockd: always preallocate block in nlmsvc_lock()\n  lockd: handle test_lock deferrals\n  lockd: pass cookie in nlmsvc_testlock\n  lockd: handle fl_grant callbacks\n  lockd: save lock state on deferral\n  locks: add fl_grant callback for asynchronous lock return\n  nfsd4: Convert NFSv4 to new lock interface\n  locks: add lock cancel command\n  locks: allow {vfs,posix}_lock_file to return conflicting lock\n  locks: factor out generic/filesystem switch from setlock code\n  locks: factor out generic/filesystem switch from test_lock\n  locks: give posix_test_lock same interface as -\u003elock\n  locks: make -\u003elock release private data before returning in GETLK case\n  locks: create posix-to-flock helper functions\n  locks: trivial removal of unnecessary parentheses\n"
    },
    {
      "commit": "6ce745ed39d35f9d547d00d406db2be7c6c175b3",
      "tree": "16f471389c9f619c37891fdb6e1843e1f2721c78",
      "parents": [
        "ec0f16372277052a29a6c17527c6cae5e898b3fd"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Sun May 06 14:49:26 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:52 2007 -0700"
      },
      "message": "readahead: code cleanup\n\nRename file_ra_state.prev_page to prev_index and file_ra_state.offset to\nprev_offset.  Also update of prev_index in do_generic_mapping_read() is now\nmoved close to the update of prev_offset.\n\n[wfg@mail.ustc.edu.cn: fix it]\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: WU Fengguang \u003cwfg@mail.ustc.edu.cn\u003e\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ec0f16372277052a29a6c17527c6cae5e898b3fd",
      "tree": "35636edac6ed01baf301f3aca96f090caae82c9d",
      "parents": [
        "b813e931b4c8235bb42e301096ea97dbdee3e8fe"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Sun May 06 14:49:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 07 12:12:52 2007 -0700"
      },
      "message": "readahead: improve heuristic detecting sequential reads\n\nIntroduce ra.offset and store in it an offset where the previous read\nended.  This way we can detect whether reads are really sequential (and\nthus we should not mark the page as accessed repeatedly) or whether they\nare random and just happen to be in the same page (and the page should\nreally be marked accessed again).\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nAcked-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: WU Fengguang \u003cwfg@mail.ustc.edu.cn\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2beb6614f5e36c6165b704c167d82ef3e4ceaa0c",
      "tree": "7c5c1277f139c754d7b73a1822016574de655bd6",
      "parents": [
        "fd85b8170dabbf021987875ef7f903791f4f181e"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Tue Dec 05 23:31:28 2006 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun May 06 20:38:49 2007 -0400"
      },
      "message": "locks: add fl_grant callback for asynchronous lock return\n\nAcquiring a lock on a cluster filesystem may require communication with\nremote hosts, and to avoid blocking lockd or nfsd threads during such\ncommunication, we allow the results to be returned asynchronously.\n\nWhen a -\u003elock() call needs to block, the file system will return\n-EINPROGRESS, and then later return the results with a call to the\nroutine in the fl_grant field of the lock_manager_operations struct.\n\nThis differs from the case when -\u003elock returns -EAGAIN to a blocking\nlock request; in that case, the filesystem calls fl_notify when the lock\nis granted, and the caller retries the original lock.  So while\nfl_notify is merely a hint to the caller that it should retry, fl_grant\nactually communicates the final result of the lock operation (with the\nlock already acquired in the succesful case).\n\nTherefore fl_grant takes a lock, a status and, for the test lock case, a\nconflicting lock.  We also allow fl_grant to return an error to the\nfilesystem, to handle the case where the fl_grant requests arrives after\nthe lock manager has already given up waiting for it.\n\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9b9d2ab4154a42ea4a119f7d3e4e0288bfe0bb79",
      "tree": "62af6b2eff0885c26aa2af4b01890cc02cf0b2f0",
      "parents": [
        "150b393456e5a23513cace286a019e87151e47f0"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Thu Jan 18 17:52:58 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun May 06 20:38:28 2007 -0400"
      },
      "message": "locks: add lock cancel command\n\nLock managers need to be able to cancel pending lock requests.  In the case\nwhere the exported filesystem manages its own locks, it\u0027s not sufficient just\nto call posix_unblock_lock(); we need to let the filesystem know what\u0027s\nhappening too.\n\nWe do this by adding a new fcntl lock command: FL_CANCELLK.  Some day this\nmight also be made available to userspace applications that could benefit from\nan asynchronous locking api.\n\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "150b393456e5a23513cace286a019e87151e47f0",
      "tree": "91599ec9b759f7e3c5defcb8dd361acd7288154c",
      "parents": [
        "7723ec9777d9832849b76475b1a21a2872a40d20"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Thu Jan 18 16:15:35 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun May 06 19:23:24 2007 -0400"
      },
      "message": "locks: allow {vfs,posix}_lock_file to return conflicting lock\n\nThe nfsv4 protocol\u0027s lock operation, in the case of a conflict, returns\ninformation about the conflicting lock.\n\nIt\u0027s unclear how clients can use this, so for now we\u0027re not going so far as to\nadd a filesystem method that can return a conflicting lock, but we may as well\nreturn something in the local case when it\u0027s easy to.\n\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7723ec9777d9832849b76475b1a21a2872a40d20",
      "tree": "af712e690d1de0a2e693830f6e056455c1725a92",
      "parents": [
        "3ee17abd14c728d4e0ca7a991c58f2250cb091af"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Thu Jan 18 15:08:55 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun May 06 18:08:49 2007 -0400"
      },
      "message": "locks: factor out generic/filesystem switch from setlock code\n\nFactor out the code that switches between generic and filesystem-specific lock\nmethods; eventually we want to call this from lock managers (lockd and nfsd)\ntoo; currently they only call the generic methods.\n\nThis patch does that for all the setlk code.\n\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "3ee17abd14c728d4e0ca7a991c58f2250cb091af",
      "tree": "6f49a9893dc656fac4d5a334946ccbf4e911891f",
      "parents": [
        "9d6a8c5c213e34c475e72b245a8eb709258e968c"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Feb 21 00:58:50 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun May 06 18:06:44 2007 -0400"
      },
      "message": "locks: factor out generic/filesystem switch from test_lock\n\nFactor out the code that switches between generic and filesystem-specific lock\nmethods; eventually we want to call this from lock managers (lockd and nfsd)\ntoo; currently they only call the generic methods.\n\nThis patch does that for test_lock.\n\nNote that this hasn\u0027t been necessary until recently, because the few\nfilesystems that define -\u003elock() (nfs, cifs...) aren\u0027t exportable via NFS.\nHowever GFS (and, in the future, other cluster filesystems) need to implement\ntheir own locking to get cluster-coherent locking, and also want to be able to\nexport locking to NFS (lockd and NFSv4).\n\nSo we accomplish this by factoring out code such as this and exporting it for\nthe use of lockd and nfsd.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9d6a8c5c213e34c475e72b245a8eb709258e968c",
      "tree": "96110535c2bd9485129c0753a9e0f012083b220f",
      "parents": [
        "70cc6487a4e08b8698c0e2ec935fb48d10490162"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Wed Feb 21 00:55:18 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun May 06 17:39:00 2007 -0400"
      },
      "message": "locks: give posix_test_lock same interface as -\u003elock\n\nposix_test_lock() and -\u003elock() do the same job but have gratuitously\ndifferent interfaces.  Modify posix_test_lock() so the two agree,\nsimplifying some code in the process.\n\nSigned-off-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "823bccfc4002296ba88c3ad0f049e1abd8108d30",
      "tree": "5338ae0b32409446af4cd00c5107d9405d5bf0b6",
      "parents": [
        "2609e7b9bebfd433254c02538ba803dc516ff674"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 13 13:15:19 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 02 18:57:59 2007 -0700"
      },
      "message": "remove \"struct subsystem\" as it is no longer needed\n\nWe need to work on cleaning up the relationship between kobjects, ksets and\nktypes.  The removal of \u0027struct subsystem\u0027 is the first step of this,\nespecially as it is not really needed at all.\n\nThanks to Kay for fixing the bugs in this patch.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5b04aa3a64f854244bc40a6f528176ed50b5c4f6",
      "tree": "2bdee522ce482f06a9f3adc8e66e4ff23be06860",
      "parents": [
        "60b11392f1a09433740bda3048202213daa27736"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Mar 01 11:01:55 2007 -0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Apr 26 15:02:26 2007 -0700"
      },
      "message": "[PATCH] Turn do_sync_file_range() into do_sync_mapping_range()\n\ndo_sync_file_range() accepts a file * from which it takes an address_space to\nsync.  Abstract out the bulk of the function into do_sync_mapping_range()\nwhich takes the address_space directly.  This way callers who want to sync an\naddress_space directly can take advantage of the functionality provided.\n\ndo_sync_file_range() is preserved as a small wrapper around\ndo_sync_mapping_range().\n\nOcfs2 in particular would like to use this to initiate a sync of a specific\ninode range during truncate, where a file * may not be available.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ee9b6d61a2a43c5952eb43283f8db284a4e70b8a",
      "tree": "afb0340e79d3e9d14f39df20e165ce2efe941b18",
      "parents": [
        "c5ef1c42c51b1b5b4a401a6517bdda30933ddbaf"
      ],
      "author": {
        "name": "Josef \u0027Jeff\u0027 Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Mon Feb 12 00:55:41 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:47 2007 -0800"
      },
      "message": "[PATCH] Mark struct super_operations const\n\nThis patch is inspired by Arjan\u0027s \"Patch series to mark struct\nfile_operations and struct inode_operations const\".\n\nCompile tested with gcc \u0026 sparse.\n\nSigned-off-by: Josef \u0027Jeff\u0027 Sipek \u003cjsipek@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "c5ef1c42c51b1b5b4a401a6517bdda30933ddbaf"
}
