)]}'
{
  "log": [
    {
      "commit": "713404d6082fee34a829a0c6d511e4aec72d7654",
      "tree": "dccfa03988c763b0b39241181f37cdffb5b0fdcc",
      "parents": [
        "d599edcaea987e233fad808f88850f725e8a5530",
        "db43910cb42285a99f45f7e0a0a32e32d0b61dcf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 17:21:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 17:21:24 2009 -0800"
      },
      "message": "Merge branch \u0027for-2.6.29\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.29\u0027 of git://linux-nfs.org/~bfields/linux: (67 commits)\n  nfsd: get rid of NFSD_VERSION\n  nfsd: last_byte_offset\n  nfsd: delete wrong file comment from nfsd/nfs4xdr.c\n  nfsd: git rid of nfs4_cb_null_ops declaration\n  nfsd: dprint each op status in nfsd4_proc_compound\n  nfsd: add etoosmall to nfserrno\n  NFSD: FIDs need to take precedence over UUIDs\n  SUNRPC: The sunrpc server code should not be used by out-of-tree modules\n  svc: Clean up deferred requests on transport destruction\n  nfsd: fix double-locks of directory mutex\n  svc: Move kfree of deferral record to common code\n  CRED: Fix NFSD regression\n  NLM: Clean up flow of control in make_socks() function\n  NLM: Refactor make_socks() function\n  nfsd: Ensure nfsv4 calls the underlying filesystem on LOCKT\n  SUNRPC: Ensure the server closes sockets in a timely fashion\n  NFSD: Add documenting comments for nfsctl interface\n  NFSD: Replace open-coded integer with macro\n  NFSD: Fix a handful of coding style issues in write_filehandle()\n  NFSD: clean up failover sysctl function naming\n  ...\n"
    },
    {
      "commit": "7c7758f99d39d529a64d4f60d22129bbf2f16d74",
      "tree": "8847b5e56812fe4c4c812cfffc78e391a91f4ebe",
      "parents": [
        "67acd8b4b7a3f1b183ae358e1dfdb8a80e170736",
        "8a70da82edc50aa7a4b54864babf2d72538ba1bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 15:37:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 15:37:24 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (123 commits)\n  wimax/i2400m: add CREDITS and MAINTAINERS entries\n  wimax: export linux/wimax.h and linux/wimax/i2400m.h with headers_install\n  i2400m: Makefile and Kconfig\n  i2400m/SDIO: TX and RX path backends\n  i2400m/SDIO: firmware upload backend\n  i2400m/SDIO: probe/disconnect, dev init/shutdown and reset backends\n  i2400m/SDIO: header for the SDIO subdriver\n  i2400m/USB: TX and RX path backends\n  i2400m/USB: firmware upload backend\n  i2400m/USB: probe/disconnect, dev init/shutdown and reset backends\n  i2400m/USB: header for the USB bus driver\n  i2400m: debugfs controls\n  i2400m: various functions for device management\n  i2400m: RX and TX data/control paths\n  i2400m: firmware loading and bootrom initialization\n  i2400m: linkage to the networking stack\n  i2400m: Generic probe/disconnect, reset and message passing\n  i2400m: host/device procotol and core driver definitions\n  i2400m: documentation and instructions for usage\n  wimax: Makefile, Kconfig and docbook linkage for the stack\n  ...\n"
    },
    {
      "commit": "67acd8b4b7a3f1b183ae358e1dfdb8a80e170736",
      "tree": "4418034f6e83f954337a17bc6a872fa5ae3c4b5e",
      "parents": [
        "b13d3720ecd29d5044334fdbbae3432f26802bae",
        "ad160d23198193135cb2bcc75222e0816b5838c0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 15:35:47 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 15:35:47 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async:\n  async: don\u0027t do the initcall stuff post boot\n  bootchart: improve output based on Dave Jones\u0027 feedback\n  async: make the final inode deletion an asynchronous event\n  fastboot: Make libata initialization even more async\n  fastboot: make the libata port scan asynchronous\n  fastboot: make scsi probes asynchronous\n  async: Asynchronous function calls to speed up kernel boot\n"
    },
    {
      "commit": "87df4de8073f922a1f643b9fa6ba0412d5529ecf",
      "tree": "8a7e5d7c5d531ac277c2e0026329f589ccdae101",
      "parents": [
        "4e65ebf08951326709817e654c149d0a94982e01"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Mon Dec 15 19:42:03 2008 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 17:38:31 2009 -0500"
      },
      "message": "nfsd: last_byte_offset\n\nrefactor the nfs4 server lock code to use last_byte_offset\nto compute the last byte covered by the lock.  Check for overflow\nso that the last byte is set to NFS4_MAX_UINT64 if offset + len\nwraps around.\n\nAlso, use NFS4_MAX_UINT64 for ~(u64)0 where appropriate.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "4e65ebf08951326709817e654c149d0a94982e01",
      "tree": "46364fb84a91985294ffa47945f0a422137e8497",
      "parents": [
        "df96fcf02a5fd2ae4e9b09e079dd6ef12d10ecd7"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Mon Dec 15 19:41:31 2008 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 17:32:48 2009 -0500"
      },
      "message": "nfsd: delete wrong file comment from nfsd/nfs4xdr.c\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "df96fcf02a5fd2ae4e9b09e079dd6ef12d10ecd7",
      "tree": "0e51b83a1d83dfb3e7e389fdad8762e338656f85",
      "parents": [
        "0407717d8587f60003f4904bff27650cd836c00c"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Mon Dec 15 19:41:10 2008 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 17:32:46 2009 -0500"
      },
      "message": "nfsd: git rid of nfs4_cb_null_ops declaration\n\nThere\u0027s no use for nfs4_cb_null_ops\u0027s declaration in fs/nfsd/nfs4callback.c\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "0407717d8587f60003f4904bff27650cd836c00c",
      "tree": "5e06a8ecf42e10e44d05d4b4036d17efec1a9486",
      "parents": [
        "b7aeda40d3010666d2c024c80557b6aa92a1a1ad"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Mon Dec 15 19:40:49 2008 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 17:32:45 2009 -0500"
      },
      "message": "nfsd: dprint each op status in nfsd4_proc_compound\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b7aeda40d3010666d2c024c80557b6aa92a1a1ad",
      "tree": "a869fbe934b41c4122f906f7fd70ec3009b1f6d7",
      "parents": [
        "30fa8c0157e4591ee2227aaa0b17cd3b0da5e6cb"
      ],
      "author": {
        "name": "Dean Hildebrand",
        "email": "dhildeb@us.ibm.com",
        "time": "Mon Dec 15 19:40:15 2008 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 17:32:45 2009 -0500"
      },
      "message": "nfsd: add etoosmall to nfserrno\n\nSigned-off-by: Dean Hildebrand \u003cdhildeb@us.ibm.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "30fa8c0157e4591ee2227aaa0b17cd3b0da5e6cb",
      "tree": "72d86ee99d280eebe611cf6e38a26809d75b7a52",
      "parents": [
        "24c3767e41a6a59d32bb45abe899eb194e6bf1b8"
      ],
      "author": {
        "name": "Steve Dickson",
        "email": "SteveD@redhat.com",
        "time": "Wed Jan 07 16:54:30 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 17:23:07 2009 -0500"
      },
      "message": "NFSD: FIDs need to take precedence over UUIDs\n\nWhen determining the fsid_type in fh_compose(), the setting of the FID\nvia fsid\u003d export option needs to take precedence over using the UUID\ndevice id.\n\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9a8d248e2d2e9c880ac4561f27fea5dc200655bd",
      "tree": "9033bfd8c10f7077d62095d5295e16acac9a4ab2",
      "parents": [
        "2779e3ae39645515cb6c1126634f47c28c9e7190"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 13:37:03 2009 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 15:40:45 2009 -0500"
      },
      "message": "nfsd: fix double-locks of directory mutex\n\nA number of nfsd operations depend on the i_mutex to cover more code\nthan just the fsync, so the approach of 4c728ef583b3d8 \"add a vfs_fsync\nhelper\" doesn\u0027t work for nfsd.  Revert the parts of those patches that\ntouch nfsd.\n\nNote: we can\u0027t, however, remove the logic from vfs_fsync that was needed\nonly for the special case of nfsd, because a vfs_fsync(NULL,...) call\ncan still result indirectly from a stackable filesystem that was called\nby nfsd.  (Thanks to Christoph Hellwig for pointing this out.)\n\nReported-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f05ef8db1abe68e3f6fc272efee51bc54ce528c5",
      "tree": "8e74dfecce221e51ec3631c66c0e4f8ce589b566",
      "parents": [
        "0dba7c2a9ed3d4a1e58f5d94fffa9f44dbe012e6"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Jan 05 17:19:37 2009 +0000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 15:40:44 2009 -0500"
      },
      "message": "CRED: Fix NFSD regression\n\nFix a regression in NFSD\u0027s permission checking introduced by the credentials\npatches.  There are two parts to the problem, both in nfsd_setuser():\n\n (1) The return value of set_groups() is -ve if in error, not 0, and should be\n     checked appropriately.  0 indicates success.\n\n (2) The UID to use for fs accesses is in new-\u003efsuid, not new-\u003euid (which is\n     0).  This causes CAP_DAC_OVERRIDE to always be set, rather than being\n     cleared if the UID is anything other than 0 after squashing.\n\nReported-by: J. Bruce Fields \u003cbfields@fieldses.org\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "0dba7c2a9ed3d4a1e58f5d94fffa9f44dbe012e6",
      "tree": "758e6f346d7aa5d4b987f3fa337de1864b61682f",
      "parents": [
        "d3fe5ea7cf815c037c90b1f1464ffc1ab5e8601b"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Dec 31 16:06:11 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 15:40:44 2009 -0500"
      },
      "message": "NLM: Clean up flow of control in make_socks() function\n\nClean up: Use Bruce\u0027s preferred control flow style in make_socks().\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d3fe5ea7cf815c037c90b1f1464ffc1ab5e8601b",
      "tree": "a2d8724d2c730dc1837aafc623f2139220884871",
      "parents": [
        "55ef1274dddd4de387c54d110e354ffbb6cdc706"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Wed Dec 31 16:06:04 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 15:40:44 2009 -0500"
      },
      "message": "NLM: Refactor make_socks() function\n\nClean up: extract common logic in NLM\u0027s make_socks() function\ninto a helper.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "55ef1274dddd4de387c54d110e354ffbb6cdc706",
      "tree": "27d67f6c6929a55239a18d532850807aeaf1b6c4",
      "parents": [
        "69b6ba3712b796a66595cfaf0a5ab4dfe1cf964a"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Dec 20 11:58:38 2008 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 15:40:27 2009 -0500"
      },
      "message": "nfsd: Ensure nfsv4 calls the underlying filesystem on LOCKT\n\nSince nfsv4 allows LOCKT without an open, but the -\u003elock() method is a\nfile method, we fake up a struct file in the nfsv4 code with just the\nfields we need initialized.  But we forgot to initialize the file\noperations, with the result that LOCKT never results in a call to the\nfilesystem\u0027s -\u003elock() method (if it exists).\n\nWe could just add that one more initialization.  But this hack of faking\nup a struct file with only some fields initialized seems the kind of\nthing that might cause more problems in the future.  We should either do\nan open and get a real struct file, or make lock-testing an inode (not a\nfile) method.\n\nThis patch does the former.\n\nReported-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nTested-by: Marc Eshel \u003ceshel@almaden.ibm.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a0c9f240a992c4c2b6ac40324ece27475cf3b71a",
      "tree": "e42e5231d0e551b1b1f726c06c2ca27c510efb7a",
      "parents": [
        "5bb47b9ff3d16d40f8d45380b373497a545fa280",
        "230e40fbda242544389a5428a2efac568178ddfe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 12:01:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 12:01:06 2009 -0800"
      },
      "message": "Merge branch \u0027proc-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc\n\n* \u0027proc-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc:\n  proc: remove write-only variable in proc_pident_lookup()\n  proc: fix sparse warning\n  proc: add /proc/*/stack\n  proc: remove \u0027##\u0027 usage\n  proc: remove useless WARN_ONs\n  proc: stop using BKL\n"
    },
    {
      "commit": "0d6326a100d7aec588d7c1da9ad77ca7cc7c5b71",
      "tree": "39d62df5761bde66d010ea68a76081de938b186c",
      "parents": [
        "52fefcec97c25b15887e6a9a885ca54e7f7c0928",
        "c8f554b947e80a90e1b43bbd4fd26c27765b5f96"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 11:58:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 11:58:06 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:\n  GFS2: Fix typo in gfs_page_mkwrite()\n  GFS2: LSF and LBD are now one and the same\n  GFS2: Set GFP_NOFS when allocating page on write\n"
    },
    {
      "commit": "57c44c5f6fb0a8002feb258c1af58e1a744b1fcb",
      "tree": "978bd46ca765a88e9c101cb705bbb0bf46015643",
      "parents": [
        "76052749143d03006271cc0ce8205ad756917062",
        "5a9e67b1a19e08a82387709f325d26e07b891d27"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 11:31:52 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 11:31:52 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (24 commits)\n  trivial: chack -\u003e check typo fix in main Makefile\n  trivial: Add a space (and a comma) to a printk in 8250 driver\n  trivial: Fix misspelling of \"firmware\" in docs for ncr53c8xx/sym53c8xx\n  trivial: Fix misspelling of \"firmware\" in powerpc Makefile\n  trivial: Fix misspelling of \"firmware\" in usb.c\n  trivial: Fix misspelling of \"firmware\" in qla1280.c\n  trivial: Fix misspelling of \"firmware\" in a100u2w.c\n  trivial: Fix misspelling of \"firmware\" in megaraid.c\n  trivial: Fix misspelling of \"firmware\" in ql4_mbx.c\n  trivial: Fix misspelling of \"firmware\" in acpi_memhotplug.c\n  trivial: Fix misspelling of \"firmware\" in ipw2100.c\n  trivial: Fix misspelling of \"firmware\" in atmel.c\n  trivial: Fix misspelled firmware in Kconfig\n  trivial: fix an -\u003e a typos in documentation and comments\n  trivial: fix then -\u003e than typos in comments and documentation\n  trivial: update Jesper Juhl CREDITS entry with new email\n  trivial: fix singal -\u003e signal typo\n  trivial: Fix incorrect use of \"loose\" in event.c\n  trivial: printk: fix indentation of new_text_line declaration\n  trivial: rtc-stk17ta8: fix sparse warning\n  ...\n"
    },
    {
      "commit": "5e07878787ad07361571150230cc3a8d522ae046",
      "tree": "5ad18b64184d84bf15d281ac1b5504aa399f295e",
      "parents": [
        "34c65d82e02147331701c7795e3144d511adf4e9"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Sat Dec 20 16:57:39 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 07 10:00:16 2009 -0800"
      },
      "message": "debugfs: add helpers for exporting a size_t simple value\n\nIn the same spirit as debugfs_create_*(), introduce helpers for\nexporting size_t values over debugfs.\n\nThe only trick done is that the format verifier is kept at %llu\ninstead of %zu; otherwise type warnings would pop up:\n\nformat ‘%zu’ expects type ‘size_t’, but argument 2 has type ‘long long unsigned int’\n\nThere is no real way to fix this one--however, we can consider %llu\nand %zu to be compatible if we consider that we are using the same for\nvalidating in debugfs_create_{x,u}{8,16,32}().\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "efaee192063a54749c56b7383803e16fe553630e",
      "tree": "b18e3072904e53701bdd7889bb32babf8cc7bf7c",
      "parents": [
        "f29d3b23238e1955a8094e038c72546e99308e61"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Tue Jan 06 07:20:54 2009 -0800"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Wed Jan 07 08:47:24 2009 -0800"
      },
      "message": "async: make the final inode deletion an asynchronous event\n\nthis makes \"rm -rf\" on a (names cached) kernel tree go from\n11.6 to 8.6 seconds on an ext3 filesystem\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "c8f554b947e80a90e1b43bbd4fd26c27765b5f96",
      "tree": "748e71063be2f9fab57d765e78d1571c86fc1a91",
      "parents": [
        "0027ce681e3cd49fa34dab023574611f4384291d"
      ],
      "author": {
        "name": "Benjamin Marzinski",
        "email": "bmarzins@redhat.com",
        "time": "Tue Jan 06 10:47:50 2009 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jan 07 08:58:28 2009 +0000"
      },
      "message": "GFS2: Fix typo in gfs_page_mkwrite()\n\nThere is a typo in gfs2_page_mkwrite()\n\ngfs2_write_alloc_required() expects pos to be the offset in bytes. However,\ninstead of the page index being shifted by by PAGE_CACHE_SHIFT, it was shifted\nby (PAGE_CACHE_SIZE - inode-\u003ei_blkbits).  This patch simply shifts the page\nindex by the proper amount.\n\nSigned-off-by: Benjamin Marzinski \u003cbmarzins@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "0027ce681e3cd49fa34dab023574611f4384291d",
      "tree": "7184919fe6bf71a2b7340a88b8e7eeec45911d68",
      "parents": [
        "e4fefbac6c5bcb0388d95e83801210e7d81a071b"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jan 06 14:56:26 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jan 07 08:57:35 2009 +0000"
      },
      "message": "GFS2: LSF and LBD are now one and the same\n\nAs a result of this recent patch:\nhttp://git.kernel.org/?p\u003dlinux/kernel/git/torvalds/linux-2.6.git;a\u003dcommitdiff;h\u003db3a6ffe16b5cc48abe7db8d04882dc45280eb693\nWe only need to depend on LBD.\n\nReported-by: Fabio M. Di Nitto \u003cfdinitto@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e4fefbac6c5bcb0388d95e83801210e7d81a071b",
      "tree": "b9147be1dd2f388d21b6a8e898ee0b21a97ff39d",
      "parents": [
        "ede6f5aea054d3fb67c78857f7abdee602302043"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jan 06 10:08:33 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jan 07 08:57:04 2009 +0000"
      },
      "message": "GFS2: Set GFP_NOFS when allocating page on write\n\nWe need to ensure that we always set GFP_NOFS in this one\nparticular case when allocating pages for write.\n\nReported-by: Fabio M. Di Nitto \u003cfdinitto@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "40d7ee5d162203b40b5f4fbb312ab016edddb97f",
      "tree": "432db33df85f7f244676127a189a828dfbf2877b",
      "parents": [
        "5fec8bdbf9a1c4df4ad3f20e52aa2d8caed490c8",
        "b8ac9fc0e8cda9f9776019c5b0464b0c6d2d4c90"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:02:07 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:02:07 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (60 commits)\n  uio: make uio_info\u0027s name and version const\n  UIO: Documentation for UIO ioport info handling\n  UIO: Pass information about ioports to userspace (V2)\n  UIO: uio_pdrv_genirq: allow custom irq_flags\n  UIO: use pci_ioremap_bar() in drivers/uio\n  arm: struct device - replace bus_id with dev_name(), dev_set_name()\n  libata: struct device - replace bus_id with dev_name(), dev_set_name()\n  avr: struct device - replace bus_id with dev_name(), dev_set_name()\n  block: struct device - replace bus_id with dev_name(), dev_set_name()\n  chris: struct device - replace bus_id with dev_name(), dev_set_name()\n  dmi: struct device - replace bus_id with dev_name(), dev_set_name()\n  gadget: struct device - replace bus_id with dev_name(), dev_set_name()\n  gpio: struct device - replace bus_id with dev_name(), dev_set_name()\n  gpu: struct device - replace bus_id with dev_name(), dev_set_name()\n  hwmon: struct device - replace bus_id with dev_name(), dev_set_name()\n  i2o: struct device - replace bus_id with dev_name(), dev_set_name()\n  IA64: struct device - replace bus_id with dev_name(), dev_set_name()\n  i7300_idle: struct device - replace bus_id with dev_name(), dev_set_name()\n  infiniband: struct device - replace bus_id with dev_name(), dev_set_name()\n  ISDN: struct device - replace bus_id with dev_name(), dev_set_name()\n  ...\n"
    },
    {
      "commit": "5fec8bdbf9a1c4df4ad3f20e52aa2d8caed490c8",
      "tree": "e8c1b1a9f3ea6b6a0edb972f082d0d7338c98af4",
      "parents": [
        "59e3af21e94bd56f6a31ba774786a2bfc753581b",
        "5d9ec854bfb6f1e122b1d96b344164a71eac5be8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:01:20 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:01:20 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:\n  fuse: clean up annotations of fc-\u003elock\n  fuse: fix sparse warning in ioctl\n  fuse: update interface version\n  fuse: add fuse_conn-\u003erelease()\n  fuse: separate out fuse_conn_init() from new_conn()\n  fuse: add fuse_ prefix to several functions\n  fuse: implement poll support\n  fuse: implement unsolicited notification\n  fuse: add file kernel handle\n  fuse: implement ioctl support\n  fuse: don\u0027t let fuse_req-\u003eend() put the base reference\n  fuse: move FUSE_MINOR to miscdevice.h\n  fuse: style fixes\n"
    },
    {
      "commit": "50682bb4de35544466c264c017030de826614367",
      "tree": "9e5fc77230deaa459ea4c12fdc3241ad991117e7",
      "parents": [
        "e1f89ec95bd28b0927e76c46a7cc0927b7521c1d"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Tue Jan 06 14:43:13 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:31 2009 -0800"
      },
      "message": "bfs: check that filesystem fits on the blockdevice\n\nSince all sanity checks rely on the validity of s_start which gets only\nchecked to be smaller than s_end, we should also check if s_end is sane.\nNow we also try to retrieve the last block of the filesystem, which is\ncomputed by s_end.  If this fails, something is bogus.\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nAcked-by: Tigran Aivazian \u003ctigran@aivazian.fsnet.co.uk\u003e\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e1f89ec95bd28b0927e76c46a7cc0927b7521c1d",
      "tree": "7edb722c036ee9aaec0621a25a2e58326c55fffc",
      "parents": [
        "58c6d3dfe436eb8cfb451981d8fdc9044eaf42da"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Tue Jan 06 14:43:12 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:31 2009 -0800"
      },
      "message": "bfs: add some basic sanity checks\n\nbfs_fill_super() already touches all inodes, so we can easily add some\ncheap sanity checks and check if the inode start and end blocks are\nsmaller than the maximum number of blocks, the inode start block lies\nbehind the end block or the file end offset is behind the end of the\nfilesystem.  Also check if the start of data offset in the super block\nfits the filesystem.\n\nThe added sanity checks catch softlockup issues early when we try to\nsb_bread() lots of blocks in a loop in bfs_readdir() and bfs_find_entry().\n In addition an oom issue in bfs_fill_super() is prevented by this when\ns_start is corrupted, which influences imap_len and we try to allocate a\nhuge info-\u003esi_imap.\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nAcked-by: Tigran Aivazian \u003ctigran@aivazian.fsnet.co.uk\u003e\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8cd3ac3aca3f2afe8570708066d64d893da468e8",
      "tree": "ff8d828f3da57880e5d679f32485b5d77d5d3679",
      "parents": [
        "4cb0e11b15d2badad455fcd538af0cccf05dc012"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "wangcong@zeuux.org",
        "time": "Tue Jan 06 14:42:48 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:29 2009 -0800"
      },
      "message": "fs/exec.c: make do_coredump() void\n\nNo one cares do_coredump()\u0027s return value, and also it seems that it\nis also not necessary. So make it void.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: WANG Cong \u003cwangcong@zeuux.org\u003e\nCc: Alexander 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": "d6b54841f4ddd836c886d1e6ac381cf309ee98a3",
      "tree": "106537060ff79fc597942743acd32fa8b3e8a0fd",
      "parents": [
        "4fb6de2561d5c47f3539a7b412108164d79fbb96"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Tue Jan 06 14:42:38 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:27 2009 -0800"
      },
      "message": "minix: fix add link\u0027s wrong position calculation\n\nFix the add link method.  The oosition in the directory was calculated in\nwrong way - it had the incorrect shift direction.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.lots]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bae8ec66554b27967f057a4b7888b09481ff1b8b",
      "tree": "89dffc974d4b6bb899d0419527a574a143c9bf6d",
      "parents": [
        "a92daf6ba1f9ace8584edc8eb557a77aa7c2c71d"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Tue Jan 06 14:42:09 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:23 2009 -0800"
      },
      "message": "autofs4: fix string validation check order\n\nIn function validate_dev_ioctl() we check that the string we\u0027ve been sent\nis a valid path.  The function that does this check assumes the string is\nNULL terminated but our NULL termination check isn\u0027t done until after this\ncall.  This patch changes the order of the check.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nAcked-by: Jeff Moyer \u003cjmoyer@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": "a92daf6ba1f9ace8584edc8eb557a77aa7c2c71d",
      "tree": "a4734bb761e762af714710ab53c4b3c3c58516f8",
      "parents": [
        "41cfef2eb87694a8d64105c059b39f7bd6b7d4fe"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Tue Jan 06 14:42:08 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:23 2009 -0800"
      },
      "message": "autofs4: make autofs type usage explicit\n\n- the type assigned at mount when no type is given is changed\n  from 0 to AUTOFS_TYPE_INDIRECT. This was done because 0 and\n  AUTOFS_TYPE_INDIRECT were being treated implicitly as the same\n  type.\n\n- previously, an offset mount had it\u0027s type set to\n  AUTOFS_TYPE_DIRECT|AUTOFS_TYPE_OFFSET but the mount control\n  re-implementation needs to be able distinguish all three types.\n  So this was changed to make the type setting explicit.\n\n- a type AUTOFS_TYPE_ANY was added for use by the re-implementation\n  when checking if a given path is a mountpoint. It\u0027s not really a\n  type as we use this to ask if a given path is a mountpoint in the\n  autofs_dev_ioctl_ismountpoint() function.\n\n- functions to set and test the autofs mount types have been added to\n  improve readability and make the type usage explicit.\n\n- the mount type is used from user space for the mount control\n  re-implementtion so, for consistency, all the definitions have\n  been moved to the user space include file include/linux/auto_fs4.h.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Jeff Moyer \u003cjmoyer@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": "41cfef2eb87694a8d64105c059b39f7bd6b7d4fe",
      "tree": "413fa68364341d94366b2d36e537464db739ad5e",
      "parents": [
        "730c9eeca9808fc2cfb506cc68c90aa330da17b0"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Tue Jan 06 14:42:07 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:23 2009 -0800"
      },
      "message": "autofs4: fix var shadowed by local delaration\n\nA local definition of devid in autofs_dev_ioctl_ismountpoint() shadows\nthe fuction wide definition.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "730c9eeca9808fc2cfb506cc68c90aa330da17b0",
      "tree": "95de85ecf2ee6c071af151ba4e33f1017868a776",
      "parents": [
        "f70f582f0072f37790d2984647198deb3e7782a3"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Tue Jan 06 14:42:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:23 2009 -0800"
      },
      "message": "autofs4: improve parameter usage\n\nThe parameter usage in the device node ioctl code uses arg1 and arg2 as\nparameter names.  This patch redefines the parameter names to reflect what\nthey actually are in an effort to make the code more readable.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Jeff Moyer \u003cjmoyer@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": "f70f582f0072f37790d2984647198deb3e7782a3",
      "tree": "acdeaf347fdd017346c15d9da858ee02f1b99224",
      "parents": [
        "71c11c378f46e42ca67c1e227646ce23bf43a8c6"
      ],
      "author": {
        "name": "Qinghuang Feng",
        "email": "qhfeng.kernel@gmail.com",
        "time": "Tue Jan 06 14:42:05 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:22 2009 -0800"
      },
      "message": "fs/ecryptfs/inode.c: cleanup kerneldoc\n\nArguments lower_dentry and ecryptfs_dentry in ecryptfs_create_underlying_file()\nhave been merged into dentry, now fix it.\n\nSigned-off-by: Qinghuang Feng \u003cqhfeng.kernel@gmail.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@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": "71c11c378f46e42ca67c1e227646ce23bf43a8c6",
      "tree": "5762c267801a47bc5efd54242661820472827960",
      "parents": [
        "7d8bc2be51706152828164b305e969b4a8471041"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Jan 06 14:42:05 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:22 2009 -0800"
      },
      "message": "eCryptfs: Clean up ecryptfs_decode_from_filename()\n\nFlesh out the comments for ecryptfs_decode_from_filename(). Remove the\nreturn condition, since it is always 0.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Dustin Kirkland \u003cdustin.kirkland@gmail.com\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Tyler Hicks \u003ctchicks@us.ibm.com\u003e\nCc: David Kleikamp \u003cshaggy@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": "7d8bc2be51706152828164b305e969b4a8471041",
      "tree": "3020b62d6e94005ed20e59361e10c0891ceba796",
      "parents": [
        "a8f12864c52f8ab8520568dc97969c1749ae60bf"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Jan 06 14:42:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:22 2009 -0800"
      },
      "message": "eCryptfs: kerneldoc for ecryptfs_parse_tag_70_packet()\n\nKerneldoc updates for ecryptfs_parse_tag_70_packet().\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Dustin Kirkland \u003cdustin.kirkland@gmail.com\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Tyler Hicks \u003ctchicks@us.ibm.com\u003e\nCc: David Kleikamp \u003cshaggy@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": "a8f12864c52f8ab8520568dc97969c1749ae60bf",
      "tree": "9b65cf578ce80fb0fc139371b7dd7594ed79a6f0",
      "parents": [
        "df261c52abdef147084c76ecf14473184e907547"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Jan 06 14:42:03 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:22 2009 -0800"
      },
      "message": "eCryptfs: Fix data types (int/size_t)\n\nCorrect several format string data type specifiers.  Correct filename size\ndata types; they should be size_t rather than int when passed as\nparameters to some other functions (although note that the filenames will\nnever be larger than int).\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Dustin Kirkland \u003cdustin.kirkland@gmail.com\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Tyler Hicks \u003ctchicks@us.ibm.com\u003e\nCc: David Kleikamp \u003cshaggy@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": "df261c52abdef147084c76ecf14473184e907547",
      "tree": "f1f423ba612dbacace82193f2b088252f169a9c6",
      "parents": [
        "87c94c4df0149786ad91d8a03c738a03369ee9c8"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Jan 06 14:42:02 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:22 2009 -0800"
      },
      "message": "eCryptfs: Replace %Z with %z\n\n%Z is a gcc-ism. Using %z instead.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Dustin Kirkland \u003cdustin.kirkland@gmail.com\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Tyler Hicks \u003ctchicks@us.ibm.com\u003e\nCc: David Kleikamp \u003cshaggy@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": "87c94c4df0149786ad91d8a03c738a03369ee9c8",
      "tree": "6b7ee0b3c3e15d94fdeccb59e8bfab6c9d2a4498",
      "parents": [
        "addd65ad8d19a7d7982130b16f957d5d01d3f8df"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Jan 06 14:42:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:22 2009 -0800"
      },
      "message": "eCryptfs: Filename Encryption: mount option\n\nEnable mount-wide filename encryption by providing the Filename Encryption\nKey (FNEK) signature as a mount option.  Note that the ecryptfs-utils\nuserspace package versions 61 or later support this option.\n\nWhen mounting with ecryptfs-utils version 61 or later, the mount helper\nwill detect the availability of the passphrase-based filename encryption\nin the kernel (via the eCryptfs sysfs handle) and query the user\ninteractively as to whether or not he wants to enable the feature for the\nmount.  If the user enables filename encryption, the mount helper will\nthen prompt for the FNEK signature that the user wishes to use, suggesting\nby default the signature for the mount passphrase that the user has\nalready entered for encrypting the file contents.\n\nWhen not using the mount helper, the user can specify the signature for\nthe passphrase key with the ecryptfs_fnek_sig\u003d mount option.  This key\nmust be available in the user\u0027s keyring.  The mount helper usually takes\ncare of this step.  If, however, the user is not mounting with the mount\nhelper, then he will need to enter the passphrase key into his keyring\nwith some other utility prior to mounting, such as ecryptfs-manager.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Dustin Kirkland \u003cdustin.kirkland@gmail.com\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Tyler Hicks \u003ctchicks@us.ibm.com\u003e\nCc: David Kleikamp \u003cshaggy@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": "addd65ad8d19a7d7982130b16f957d5d01d3f8df",
      "tree": "2263b4a4b7a6269410bd161a3995d2b4af3f7bcf",
      "parents": [
        "51ca58dcc9f0d6b1e78954d08bd4954fb6a1421c"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Jan 06 14:42:00 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:22 2009 -0800"
      },
      "message": "eCryptfs: Filename Encryption: filldir, lookup, and readlink\n\nMake the requisite modifications to ecryptfs_filldir(), ecryptfs_lookup(),\nand ecryptfs_readlink() to call out to filename encryption functions.\nPropagate filename encryption policy flags from mount-wide crypt_stat to\ninode crypt_stat.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Dustin Kirkland \u003cdustin.kirkland@gmail.com\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Tyler Hicks \u003ctchicks@us.ibm.com\u003e\nCc: David Kleikamp \u003cshaggy@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": "51ca58dcc9f0d6b1e78954d08bd4954fb6a1421c",
      "tree": "0bd80a0a9322150527b2d2160d7b37d0e067f389",
      "parents": [
        "a34f60f748c6fe5d791e9b54cffe442201428254"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Jan 06 14:41:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:21 2009 -0800"
      },
      "message": "eCryptfs: Filename Encryption: Encoding and encryption functions\n\nThese functions support encrypting and encoding the filename contents.\nThe encrypted filename contents may consist of any ASCII characters.  This\npatch includes a custom encoding mechanism to map the ASCII characters to\na reduced character set that is appropriate for filenames.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Dustin Kirkland \u003cdustin.kirkland@gmail.com\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Tyler Hicks \u003ctchicks@us.ibm.com\u003e\nCc: David Kleikamp \u003cshaggy@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": "a34f60f748c6fe5d791e9b54cffe442201428254",
      "tree": "1b5378b49773c0f57bb5f892c3d2096da3c9a803",
      "parents": [
        "9c79f34f7ee71cd28272332b424ca64b2be006ab"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Jan 06 14:41:58 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:21 2009 -0800"
      },
      "message": "eCryptfs: Filename Encryption: Header updates\n\nExtensions to the header file to support filename encryption.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Dustin Kirkland \u003cdustin.kirkland@gmail.com\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Tyler Hicks \u003ctchicks@us.ibm.com\u003e\nCc: David Kleikamp \u003cshaggy@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": "9c79f34f7ee71cd28272332b424ca64b2be006ab",
      "tree": "1a818b78d8f0497c4b97a77a6464718dfaaf12c1",
      "parents": [
        "14bca6c39d8245a0313f55309bfeb6bf60cc17c8"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Jan 06 14:41:57 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:21 2009 -0800"
      },
      "message": "eCryptfs: Filename Encryption: Tag 70 packets\n\nThis patchset implements filename encryption via a passphrase-derived\nmount-wide Filename Encryption Key (FNEK) specified as a mount parameter.\nEach encrypted filename has a fixed prefix indicating that eCryptfs should\ntry to decrypt the filename.  When eCryptfs encounters this prefix, it\ndecodes the filename into a tag 70 packet and then decrypts the packet\ncontents using the FNEK, setting the filename to the decrypted filename.\nBoth unencrypted and encrypted filenames can reside in the same lower\nfilesystem.\n\nBecause filename encryption expands the length of the filename during the\nencoding stage, eCryptfs will not properly handle filenames that are\nalready near the maximum filename length.\n\nIn the present implementation, eCryptfs must be able to produce a match\nagainst the lower encrypted and encoded filename representation when given\na plaintext filename.  Therefore, two files having the same plaintext name\nwill encrypt and encode into the same lower filename if they are both\nencrypted using the same FNEK.  This can be changed by finding a way to\nreplace the prepended bytes in the blocked-aligned filename with random\ncharacters; they are hashes of the FNEK right now, so that it is possible\nto deterministically map from a plaintext filename to an encrypted and\nencoded filename in the lower filesystem.  An implementation using random\ncharacters will have to decode and decrypt every single directory entry in\nany given directory any time an event occurs wherein the VFS needs to\ndetermine whether a particular file exists in the lower directory and the\ndecrypted and decoded filenames have not yet been extracted for that\ndirectory.\n\nThanks to Tyler Hicks and David Kleikamp for assistance in the development\nof this patchset.\n\nThis patch:\n\nA tag 70 packet contains a filename encrypted with a Filename Encryption\nKey (FNEK).  This patch implements functions for writing and parsing tag\n70 packets.  This patch also adds definitions and extends structures to\nsupport filename encryption.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Dustin Kirkland \u003cdustin.kirkland@gmail.com\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Tyler Hicks \u003ctchicks@us.ibm.com\u003e\nCc: David Kleikamp \u003cshaggy@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": "ee9ef6b778fbe1cacbec4fcd18a93f322ff93354",
      "tree": "819a6ae3e8b348253ae7861738b1ba971b163c6f",
      "parents": [
        "87113e806a9ee48c6c989513ef3e9c1d31e06ac4"
      ],
      "author": {
        "name": "Qinghuang Feng",
        "email": "qhfeng.kernel@gmail.com",
        "time": "Tue Jan 06 14:41:39 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:19 2009 -0800"
      },
      "message": "fs/ncpfs/getopt.c: cleanup keneldoc\n\nThere are no argument named @flag in ncp_getopt(), remove it.\n\nSigned-off-by: Qinghuang Feng \u003cqhfeng.kernel@gmail.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Petr Vandrovec \u003cVANDROVE@vc.cvut.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "87113e806a9ee48c6c989513ef3e9c1d31e06ac4",
      "tree": "178fd57438b77ffa7e5d953018401aca7e2c7e29",
      "parents": [
        "5cf0cc4e670b8da2231a3375db87ec3b6cb84432"
      ],
      "author": {
        "name": "Qinghuang Feng",
        "email": "qhfeng.kernel@gmail.com",
        "time": "Tue Jan 06 14:41:38 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:19 2009 -0800"
      },
      "message": "fs/binfmt_misc.c: add terminating newline to /proc/sys/fs/binfmt_misc/status\n\nThe following is what it looks like before patching.\nIt is not much readable.\n\nuser@ubuntu:/proc/sys/fs/binfmt_misc$ cat status\nenableduser@ubuntu:/proc/sys/fs/binfmt_misc$\n\nSigned-off-by: Qinghuang Feng \u003cqhfeng.kernel@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": "94e2959e7a6a4ef0969932c30349ce6f4469a3cf",
      "tree": "fbab454d5b5696ee3cdc8c0050548ec71a9bdefc",
      "parents": [
        "8c3659347efb43857b2c2d7bc63a9c7d68d1a608"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Jan 06 14:41:15 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:14 2009 -0800"
      },
      "message": "fs: fix function param name in kernel-doc\n\nFix function parameter name in kernel-doc:\n\nWarning(linux-2.6.28-git5//fs/block_dev.c:1272): No description found for parameter \u0027pathname\u0027\nWarning(linux-2.6.28-git5//fs/block_dev.c:1272): Excess function parameter \u0027path\u0027 description in \u0027lookup_bdev\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0bc02f3fa433a98631a932e77c4b1f873da35aee",
      "tree": "2b502015c319f70681f294cd070bdd6bf8e308ad",
      "parents": [
        "67faaada1ebcccf29745346f1d7cb5392f46500a"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Jan 06 14:41:13 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:14 2009 -0800"
      },
      "message": "fs/inode: fix kernel-doc notation\n\nFix kernel-doc notation:\n\nWarning(linux-2.6.28-git3//fs/inode.c:120): No description found for parameter \u0027sb\u0027\nWarning(linux-2.6.28-git3//fs/inode.c:120): No description found for parameter \u0027inode\u0027\nWarning(linux-2.6.28-git3//fs/inode.c:588): No description found for parameter \u0027sb\u0027\nWarning(linux-2.6.28-git3//fs/inode.c:588): No description found for parameter \u0027inode\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.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": "350eaf791bebccb9ad5999351f3e328319545f03",
      "tree": "7a9b18b1c2ab34cf62ae5862fbf1cc629ed383fa",
      "parents": [
        "26e5438e4b77f04a51870f9415ffed68004fac1d"
      ],
      "author": {
        "name": "Tetsuo Handa",
        "email": "penguin-kernel@i-love.sakura.ne.jp",
        "time": "Tue Jan 06 14:41:11 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:14 2009 -0800"
      },
      "message": "do_coredump(): check return from argv_split()\n\ndo_coredump() accesses helper_argv[0] without checking helper_argv !\u003d\nNULL.  This can happen if page allocation failed.\n\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ca8a5bd28226d62c045e0e55b42b9d10b146c205",
      "tree": "ba770bf72dc0558c7009b7440a8c7a79abe45fa2",
      "parents": [
        "8c4018884a49eb2c6c7ca90804f331b12983561c"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Tue Jan 06 14:41:09 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:13 2009 -0800"
      },
      "message": "add missing accounting calls to compat_sys_{readv,writev}\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\nCc: Jay Lan \u003cjlan@engr.sgi.com\u003e\nCc: Balbir Singh \u003cbalbir@in.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": "8c4018884a49eb2c6c7ca90804f331b12983561c",
      "tree": "5a9b972e76c340db5feebda40d9643611a1b84d2",
      "parents": [
        "ba84be2338d3a2b6020d39279335bb06fcd332e1"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Tue Jan 06 14:41:08 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:13 2009 -0800"
      },
      "message": "fs: fix name overwrite in __register_chrdev_region()\n\nIt\u0027s possible to register a chrdev with a name size exactly the same as\nwas allocated in structure.  It seems it was not intended behaviour.\n\nAt least chrdev_show does not like it.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@gmail.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": "179f7ebff6be45738c6e2fa68c8d2cc5c2c6308e",
      "tree": "3d48b5f825cfa29f5b39656503c5157872454e9f",
      "parents": [
        "e3d5a27d5862b6425d0879272e24abecf7245105"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Jan 06 14:41:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:13 2009 -0800"
      },
      "message": "percpu_counter: FBC_BATCH should be a variable\n\nFor NR_CPUS \u003e\u003d 16 values, FBC_BATCH is 2*NR_CPUS\n\nConsidering more and more distros are using high NR_CPUS values, it makes\nsense to use a more sensible value for FBC_BATCH, and get rid of NR_CPUS.\n\nA sensible value is 2*num_online_cpus(), with a minimum value of 32 (This\nminimum value helps branch prediction in __percpu_counter_add())\n\nWe already have a hotcpu notifier, so we can adjust FBC_BATCH dynamically.\n\nWe rename FBC_BATCH to percpu_counter_batch since its not a constant\nanymore.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5f820f648c92a5ecc771a96b3c29aa6e90013bba",
      "tree": "0445b45fa33072d37b32c6ef592a4d0c102e05cc",
      "parents": [
        "67ec7d3ab779ad9001ef57a6b4cfdf80ac9f9acc"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Jan 06 14:40:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:12 2009 -0800"
      },
      "message": "poll: allow f_op-\u003epoll to sleep\n\nf_op-\u003epoll is the only vfs operation which is not allowed to sleep.  It\u0027s\nbecause poll and select implementation used task state to synchronize\nagainst wake ups, which doesn\u0027t have to be the case anymore as wait/wake\ninterface can now use custom wake up functions.  The non-sleep restriction\ncan be a bit tricky because -\u003epoll is not called from an atomic context\nand the result of accidentally sleeping in -\u003epoll only shows up as\ntemporary busy looping when the timing is right or rather wrong.\n\nThis patch converts poll/select to use custom wake up function and use\nseparate triggered variable to synchronize against wake up events.  The\nonly added overhead is an extra function call during wake up and\nnegligible.\n\nThis patch removes the one non-sleep exception from vfs locking rules and\nis beneficial to userland filesystem implementations like FUSE, 9p or\npeculiar fs like spufs as it\u0027s very difficult for those to implement\nnon-sleeping poll method.\n\nWhile at it, make the following cosmetic changes to make poll.h and\nselect.c checkpatch friendly.\n\n* s/type * symbol/type *symbol/\t\t   : three places in poll.h\n* remove blank line before EXPORT_SYMBOL() : two places in select.c\n\nOleg: spotted missing barrier in poll_schedule_timeout()\nDavide: spotted missing write barrier in pollwake()\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\nCc: Ron Minnich \u003crminnich@sandia.gov\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Brad Boyer \u003cflar@allandria.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Oleg Nesterov \u003coleg@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": "67ec7d3ab779ad9001ef57a6b4cfdf80ac9f9acc",
      "tree": "ee2d6963324c64bb2122f6d5d584063b77a0b4d4",
      "parents": [
        "5aea50b5c76b07f2b6bda3426dba998156eaf6d0"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Jan 06 14:40:57 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:12 2009 -0800"
      },
      "message": "fs: use menuconfig to control the Misc. filesystems menu\n\nHave one option to control Miscellaneous filesystems.  This makes it easy\nto disable all of them at one time.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eaccbfa564e48c87626594511f42dc8c0ad2daae",
      "tree": "9a23430bf4f82d4f3d26c9314d0149b14d0fab70",
      "parents": [
        "bca1033b092a6fab2ed00036e8a7f6e2df5d99a2"
      ],
      "author": {
        "name": "Luiz Fernando N. Capitulino",
        "email": "lcapitulino@mandriva.com.br",
        "time": "Tue Jan 06 14:40:44 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:11 2009 -0800"
      },
      "message": "fs/exec.c:__bprm_mm_init(): clean up error handling\n\nUntangle the error unwinding in this function, saving a test of local\nvariable `vma\u0027.\n\nSigned-off-by: Luiz Fernando N. Capitulino \u003clcapitulino@mandriva.com.br\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "856bf4d717feb8c55d4e2f817b71ebb70cfbc67b",
      "tree": "f44790d9b8f42223955d1866645103ac5f9c68a3",
      "parents": [
        "38f21977663126fef53f5585e7f1653d8ebe55c4"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Jan 06 14:40:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:09 2009 -0800"
      },
      "message": "fs: sys_sync fix\n\ns_syncing livelock avoidance was breaking data integrity guarantee of\nsys_sync, by allowing sys_sync to skip writing or waiting for superblocks\nif there is a concurrent sys_sync happening.\n\nThis livelock avoidance is much less important now that we don\u0027t have the\nget_super_to_sync() call after every sb that we sync.  This was replaced\nby __put_super_and_need_restart.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "38f21977663126fef53f5585e7f1653d8ebe55c4",
      "tree": "be5ee7a264fea0d9f4b2d109b7e08b7a1ec794c9",
      "parents": [
        "4f5a99d64c17470a784a6c68064207d82e3e74a5"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Jan 06 14:40:25 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:09 2009 -0800"
      },
      "message": "fs: sync_sb_inodes fix\n\nFix data integrity semantics required by sys_sync, by iterating over all\ninodes and waiting for any writeback pages after the initial writeout.\nComments explain the exact problem.\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": "4f5a99d64c17470a784a6c68064207d82e3e74a5",
      "tree": "2a3e0f0c3990bb8dbda2cdaa506a64180e5cbff2",
      "parents": [
        "e8ea1759138d4279869f52bfb7dca8f02f8ccfe5"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Jan 06 14:40:25 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:09 2009 -0800"
      },
      "message": "fs: remove WB_SYNC_HOLD\n\nRemove WB_SYNC_HOLD.  The primary motiviation is the design of my\nanti-starvation code for fsync.  It requires taking an inode lock over the\nsync operation, so we could run into lock ordering problems with multiple\ninodes.  It is possible to take a single global lock to solve the ordering\nproblem, but then that would prevent a future nice implementation of \"sync\nmultiple inodes\" based on lock order via inode address.\n\nSeems like a backward step to remove this, but actually it is busted\nanyway: we can\u0027t use the inode lists for data integrity wait: an inode can\nbe taken off the dirty lists but still be under writeback.  In order to\nsatisfy data integrity semantics, we should wait for it to finish\nwriteback, but if we only search the dirty lists, we\u0027ll miss it.\n\nIt would be possible to have a \"writeback\" list, for sys_sync, I suppose.\nBut why complicate things by prematurely optimise?  For unmounting, we\ncould avoid the \"livelock avoidance\" code, which would be easier, but\nagain premature IMO.\n\nFixing the existing data integrity problem will come next.\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": "e8ea1759138d4279869f52bfb7dca8f02f8ccfe5",
      "tree": "2e59ef400c9b79af6eeb80024c3923e21c915a8a",
      "parents": [
        "48b47c561e41525061b5bc0cfd67d6367fd11dc4"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Jan 06 14:40:23 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:09 2009 -0800"
      },
      "message": "UBIFS: do not use WB_SYNC_HOLD\n\nWB_SYNC_HOLD is going to be zapped so we should not use it. Use\n%WB_SYNC_NONE instead. Here is what akpm said:\n\n\"I think I\u0027ll just switch that to WB_SYNC_NONE.  The `wait\u003d\u003d0\u0027 mode is\njust an advisory thing to help the fs shove lots of data into the\nqueues.  If some gets missed then it\u0027ll be picked up on the second\n-\u003esync_fs call, with wait\u003d\u003d1.\"\n\nThanks to Randy Dunlap for catching this.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: 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": "69e9930993cfd70d82c8d9dd96fc3a88854d06fc",
      "tree": "2467f8e1fdb745f4ca5e94acf0aba09c74063125",
      "parents": [
        "4779280d1ea4d361af13ae77ba55217fbcd16d4c"
      ],
      "author": {
        "name": "Franck Bui-Huu",
        "email": "fbuihuu@gmail.com",
        "time": "Tue Jan 06 14:40:19 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:08 2009 -0800"
      },
      "message": "block_write_begin(): remove useless goto\n\nSigned-off-by: Franck Bui-Huu \u003cfbuihuu@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": "91bf189c3a766927694ce9de7d545e96b23f20fc",
      "tree": "c9b289cffce3bf7606b8c166b446d3a2185463b0",
      "parents": [
        "b555749aac87d7c2637f153e44bd77c7fdf4c65b"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Tue Jan 06 14:40:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:08 2009 -0800"
      },
      "message": "hugetlb: unsigned ret cannot be negative\n\nunsigned long ret cannot be negative, but ret can get -EFAULT.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nCc: Ken Chen \u003ckenchen@google.com\u003e\nCc: 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": "0f64415d42760379753e6088787ce3fd3e069509",
      "tree": "85c9d3be88e56fb2d62558689744dbdd386cc745",
      "parents": [
        "09f445e7f5107c91be12ed386350de6cd055e0a4"
      ],
      "author": {
        "name": "Dmitri Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Tue Jan 06 14:40:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:06 2009 -0800"
      },
      "message": "fs: truncate blocks outside i_size after O_DIRECT write error\n\nIn case of error extending write may have instantiated a few blocks\noutside i_size.  We need to trim these blocks.  We have to do it\n*regardless* to blocksize.  At least ext2, ext3 and reiserfs interpret\n(i_size \u003c biggest block) condition as error.  Fsck will complain about\nwrong i_size.  Then fsck will fix the error by changing i_size according\nto the biggest block.  This is bad because this blocks contain garbage\nfrom previous write attempt.  And result in data corruption.\n\n####TESTCASE_BEGIN\n$touch /mnt/test/BIG_FILE\n## at this moment /mnt/test/BIG_FILE size and blocks equal to zero\nopen(\"/mnt/test/BIG_FILE\", O_WRONLY|O_CREAT|O_DIRECT, 0666) \u003d 3\nwrite(3, \"aaaaaaaaaaaa\"..., 104857600) \u003d -1 ENOSPC (No space left on device)\n## size and block sould\u0027t be changed because write op failed.\n$stat /mnt/test/BIG_FILE\nFile: `/mnt/test/BIG_FILE\u0027\nSize: 0 Blocks: 110896 IO Block: 1024 regular empty file\n\u003c\u003c\u003c\u003c\u003c\u003c\u003c\u003c^^^^^^^^^^^^^^^^^^^^^^^^^^^^^file size is less than biggest block idx\nDevice: fe07h/65031d Inode: 14 Links: 1\nAccess: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)\nAccess: 2007-01-24 20:03:38.000000000 +0300\nModify: 2007-01-24 20:03:38.000000000 +0300\nChange: 2007-01-24 20:03:39.000000000 +0300\n\n#fsck.ext3 -f /dev/VG/test\ne2fsck 1.39 (29-May-2006)\nPass 1: Checking inodes, blocks, and sizes\nInode 14, i_size is 0, should be 56556544. Fix\u003cy\u003e? yes\nPass 2: Checking directory structure\n....\n#####TESTCASE_ENDdiff --git a/fs/direct-io.c b/fs/direct-io.c\nindex af0558d..4e88bea 100644\n\n[akpm@linux-foundation.org: use i_size_read()]\nSigned-off-by: Dmitri Monakhov \u003cdmonakhov@openvz.org\u003e\nCc: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3c1d43787b48c798f44dc32a6e6deb5ca2da3e68",
      "tree": "587da6031de37a716839656cf4fe4245aba2afb4",
      "parents": [
        "e5991371ee0d1c0ce19e133c6f9075b49c5b4ae8"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Jan 06 14:39:23 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:01 2009 -0800"
      },
      "message": "mm: remove GFP_HIGHUSER_PAGECACHE\n\nGFP_HIGHUSER_PAGECACHE is just an alias for GFP_HIGHUSER_MOVABLE, making\nthat harder to track down: remove it, and its out-of-work brothers\nGFP_NOFS_PAGECACHE and GFP_USER_PAGECACHE.\n\nSince we\u0027re making that improvement to hotremove_migrate_alloc(), I think\nwe can now also remove one of the \"o\"s from its comment.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.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": "39f0dee2d8abe902617622b71f8f6f73985ec71c",
      "tree": "95847d8fa625b1d23c9f04ddf2b2a430f63d4422",
      "parents": [
        "38e0edb15bd07c6a0caf0cfe39f8f90bd98601b2"
      ],
      "author": {
        "name": "Franck Bui-Huu",
        "email": "fbuihuu@gmail.com",
        "time": "Tue Jan 06 14:39:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:01 2009 -0800"
      },
      "message": "do_mpage_readpage(): remove useless clear_buffer_mapped() call\n\nIt is known that buffer_mapped() is false in this code path.\n\nSigned-off-by: Franck Bui-Huu \u003cfbuihuu@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": "ee53a891f47444c53318b98dac947ede963db400",
      "tree": "57cec3b7aadb120b5a2857bd212159a693a379f2",
      "parents": [
        "82fd1a9a8ced9607312b54859572bcc6211e8919"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Jan 06 14:39:12 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:00 2009 -0800"
      },
      "message": "mm: do_sync_mapping_range integrity fix\n\nChris Mason notices do_sync_mapping_range didn\u0027t actually ask for data\nintegrity writeout.  Unfortunately, it is advertised as being usable for\ndata integrity operations.\n\nThis is a data integrity bug.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "38c8e6180939e5619140b2e9e479cb26029ff8b1",
      "tree": "1980f3dadfa02ac6c1fc2ad7236205af54f7972a",
      "parents": [
        "75aa199410359dc5fbcf9025ff7af98a9d20f0d5"
      ],
      "author": {
        "name": "Miquel van Smoorenburg",
        "email": "mikevs@xs4all.net",
        "time": "Tue Jan 06 14:39:02 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:58:59 2009 -0800"
      },
      "message": "do_mpage_readpage(): don\u0027t submit lots of small bios on boundary\n\nWhile tracing I/O patterns with blktrace (a great tool) a few weeks ago I\nidentified a minor issue in fs/mpage.c\n\nAs the comment above mpage_readpages() says, a fs\u0027s get_block function\nwill set BH_Boundary when it maps a block just before a block for which\nextra I/O is required.\n\nSince get_block() can map a range of pages, for all these pages the\nBH_Boundary flag will be set.  But we only need to push what I/O we have\naccumulated at the last block of this range.\n\nThis makes do_mpage_readpage() send out the largest possible bio instead\nof a bunch of page-sized ones in the BH_Boundary case.\n\nSigned-off-by: Miquel van Smoorenburg \u003cmikevs@xs4all.net\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Jens Axboe \u003cjens.axboe@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": "3340289ddf29ca75c3acfb3a6b72f234b2f74d5c",
      "tree": "d5da94eb1cb0146160fcb0e7aa161bfa5b6ac807",
      "parents": [
        "08fba69986e20c1c9e5fe2e6064d146cc4f42480"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Jan 06 14:38:54 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:58:58 2009 -0800"
      },
      "message": "mm: report the MMU pagesize in /proc/pid/smaps\n\nThe KernelPageSize entry in /proc/pid/smaps is the pagesize used by the\nkernel to back a VMA.  This matches the size used by the MMU in the\nmajority of cases.  However, one counter-example occurs on PPC64 kernels\nwhereby a kernel using 64K as a base pagesize may still use 4K pages for\nthe MMU on older processor.  To distinguish, this patch reports\nMMUPageSize as the pagesize used by the MMU in /proc/pid/smaps.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: \"KOSAKI Motohiro\" \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: 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": "08fba69986e20c1c9e5fe2e6064d146cc4f42480",
      "tree": "40bd36a6778624527d91ede0eb51aa5b99aab01c",
      "parents": [
        "238c6d54830c624f34ac9cf123ac04aebfca5013"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Jan 06 14:38:53 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:58:58 2009 -0800"
      },
      "message": "mm: report the pagesize backing a VMA in /proc/pid/smaps\n\nIt is useful to verify a hugepage-aware application is using the expected\npagesizes for its memory regions. This patch creates an entry called\nKernelPageSize in /proc/pid/smaps that is the size of page used by the\nkernel to back a VMA. The entry is not called PageSize as it is possible\nthe MMU uses a different size. This extension should not break any sensible\nparser that skips lines containing unrecognised information.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: \"KOSAKI Motohiro\" \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: 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": "3ada8b7e980dac7cc42937d42d90ee51b19204fe",
      "tree": "6c23e272997cd5b68459c5a92a4490504f1c4be7",
      "parents": [
        "4383fc3d9a98759a1ec3c57a30781e95a4cfcfa9"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Tue Jan 06 10:44:43 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:43 2009 -0800"
      },
      "message": "block: struct device - replace bus_id with dev_name(), dev_set_name()\n\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "262a09823bb07c6aafb6c1d312cde613d0b90c85",
      "tree": "dbf609d729e18f1c98eff1fb8c91c9c95a6fbb3d",
      "parents": [
        "9e074856caf13ba83363f73759f5e395f74ccf41"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Dec 12 16:57:35 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:57 2009 -0500"
      },
      "message": "NFSD: Add documenting comments for nfsctl interface\n\nDocument the NFSD sysctl interface laid out in fs/nfsd/nfsctl.c.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9e074856caf13ba83363f73759f5e395f74ccf41",
      "tree": "8ab1362829f406276ebbdbe5b4cfe831f1b97a1b",
      "parents": [
        "54224f04ae95d86b27c0673cd773ebb120d86876"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Dec 12 16:57:27 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:57 2009 -0500"
      },
      "message": "NFSD: Replace open-coded integer with macro\n\nClean up: Instead of open-coding 2049, use the NFS_PORT macro.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "54224f04ae95d86b27c0673cd773ebb120d86876",
      "tree": "8f91b5388edbe6dd695ef224c95092a3bb11a856",
      "parents": [
        "b046ccdc1f8171f6d0129dcc2a28d49187b4bf69"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Dec 12 16:57:20 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:56 2009 -0500"
      },
      "message": "NFSD: Fix a handful of coding style issues in write_filehandle()\n\nClean up: follow kernel coding style.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b046ccdc1f8171f6d0129dcc2a28d49187b4bf69",
      "tree": "f8f75d62a5a17b41ea3659ed0a2b94537d9974d5",
      "parents": [
        "b064ec038a6180b13e5f89b6a30b42cb5ce8febc"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Dec 12 16:57:13 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:56 2009 -0500"
      },
      "message": "NFSD: clean up failover sysctl function naming\n\nClean up: Rename recently-added failover functions to match the naming\nconvention in fs/nfsd/nfsctl.c.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b064ec038a6180b13e5f89b6a30b42cb5ce8febc",
      "tree": "942e1e6ff64868a4cd72df5d2bb8724963cc2de3",
      "parents": [
        "57ef692588bc225853ca3267ca5b7cea2b07e058"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 11 17:56:59 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:56 2009 -0500"
      },
      "message": "lockd: Enable NLM use of AF_INET6\n\nIf the kernel is configured to support IPv6 and the RPC server can register\nservices via rpcbindv4, we are all set to enable IPv6 support for lockd.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aime Le Rouzic \u003caime.le-rouzic@bull.net\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "49b5699b3fc22b363534c509c1b7dba06bc677bf",
      "tree": "e5c1e0d74918a902f1830dddf170d8c07155204e",
      "parents": [
        "b7ba597fb964dfa44284904b3b3d74d44b8e1c42"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 11 17:56:37 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:56 2009 -0500"
      },
      "message": "NSM: Move nsm_create()\n\nClean up: one last thing... relocate nsm_create() to eliminate the forward\ndeclaration and group it near the only function that actually uses it.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b7ba597fb964dfa44284904b3b3d74d44b8e1c42",
      "tree": "a03c62f761cc823c29b9bafd083490b2a3627986",
      "parents": [
        "8529bc51d30b8f001734b29b21a51b579c260f5b"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 11 17:56:29 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:55 2009 -0500"
      },
      "message": "NSM: Move nsm_use_hostnames to mon.c\n\nClean up.\n\nTreat the nsm_use_hostnames global variable like nsm_local_state.\nNote that the default value of nsm_use_hostnames is still zero.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "8529bc51d30b8f001734b29b21a51b579c260f5b",
      "tree": "af1fe6d5cb2d67259d1c977731f523f2337a59eb",
      "parents": [
        "e6765b83977f07983c7a10e6bbb19d6c7bbfc3a4"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 11 17:56:22 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:55 2009 -0500"
      },
      "message": "NSM: Move nsm_addr() to fs/lockd/mon.c\n\nClean up: nsm_addr_in() is no longer used, and nsm_addr() is used only in\nfs/lockd/mon.c, so move it there.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e6765b83977f07983c7a10e6bbb19d6c7bbfc3a4",
      "tree": "87ea535ec91aaa56263ffbb5a34c8e9541e77136",
      "parents": [
        "94da7663db26530a8377f7219f8be8bd4d4822c2"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 11 17:56:14 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:55 2009 -0500"
      },
      "message": "NSM: Remove include/linux/lockd/sm_inter.h\n\nClean up: The include/linux/lockd/sm_inter.h header is nearly empty\nnow.  Remove it.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "94da7663db26530a8377f7219f8be8bd4d4822c2",
      "tree": "a19b8cac6ce9010d58776cae18b96091a2137efb",
      "parents": [
        "77a3ef33e2de6fc8aabd7cb1700bfef81757c28a"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 11 17:56:07 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:55 2009 -0500"
      },
      "message": "NSM: Replace IP address as our nlm_reboot lookup key\n\nNLM provides file locking services for NFS files.  Part of this service\nincludes a second protocol, known as NSM, which is a reboot\nnotification service.  NLM uses this service to determine when to\nreclaim locks or enter a grace period after a client or server reboots.\n\nThe NLM service (implemented by lockd in the Linux kernel) contacts\nthe local NSM service (implemented by rpc.statd in Linux user space)\nvia NSM protocol upcalls to register a callback when a particular\nremote peer reboots.\n\nTo match the callback to the correct remote peer, the NLM service\nconstructs a cookie that it passes in the request.  The NSM service\npasses that cookie back to the NLM service when it is notified that\nthe given remote peer has indeed rebooted.\n\nCurrently on Linux, the cookie is the raw 32-bit IPv4 address of the\nremote peer.  To support IPv6 addresses, which are larger, we could\nuse all 16 bytes of the cookie to represent a full IPv6 address,\nalthough we still can\u0027t represent an IPv6 address with a scope ID in\njust 16 bytes.\n\nInstead, to avoid the need for future changes to support additional\naddress types, we\u0027ll use a manufactured value for the cookie, and use\nthat to find the corresponding nsm_handle struct in the kernel during\nthe NLMPROC_SM_NOTIFY callback.\n\nThis should provide complete support in the kernel\u0027s NSM\nimplementation for IPv6 hosts, while remaining backwards compatible\nwith older rpc.statd implementations.\n\nNote we also deal with another case where nsm_use_hostnames can change\nwhile there are outstanding notifications, possibly resulting in the\nloss of reboot notifications.  After this patch, the priv cookie is\nalways used to lookup rebooted hosts in the kernel.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "77a3ef33e2de6fc8aabd7cb1700bfef81757c28a",
      "tree": "bb403f4517d49c7756921a70ba27ddce3963a05d",
      "parents": [
        "b39b897c259fc1fd1998505f2b1d4ec1f115bce1"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 11 17:55:59 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:55 2009 -0500"
      },
      "message": "NSM: More clean up of nsm_get_handle()\n\nClean up: refactor nsm_get_handle() so it is organized the same way that\nnsm_reboot_lookup() is.\n\nThere is an additional micro-optimization here.  This change moves the\n\"hostname \u0026 nsm_use_hostnames\" test out of the list_for_each_entry()\nclause in nsm_get_handle(), since it is loop-invariant.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b39b897c259fc1fd1998505f2b1d4ec1f115bce1",
      "tree": "1b331bb4d1d71401d2dec0c7f23c86795c09267a",
      "parents": [
        "92fd91b998a5216a6d6606704e71d541a180216c"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 11 17:55:52 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:55 2009 -0500"
      },
      "message": "NSM: Refactor nsm_handle creation into a helper function\n\nClean up.  Refactor the creation of nsm_handles into a helper.  Fields\nare initialized in increasing address order to make efficient use of\nCPU caches.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "92fd91b998a5216a6d6606704e71d541a180216c",
      "tree": "e3c181450d40e3d448a48c560aac858ea0e7aee5",
      "parents": [
        "8c7378fd2a5f22016542931b887a2ae98d146eaf"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Dec 05 19:04:01 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:54 2009 -0500"
      },
      "message": "NLM: Remove \"create\" argument from nsm_find()\n\nClean up: nsm_find() now has only one caller, and that caller\nunconditionally sets the @create argument. Thus the @create\nargument is no longer needed.\n\nSince nsm_find() now has a more specific purpose, pick a more\nappropriate name for it.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "8c7378fd2a5f22016542931b887a2ae98d146eaf",
      "tree": "e274fe98455ee385b8ba88917e7465c9332b8184",
      "parents": [
        "3420a8c4359a189f7d854ed7075d151257415447"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Dec 05 19:03:54 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:54 2009 -0500"
      },
      "message": "NLM: Call nsm_reboot_lookup() instead of nsm_find()\n\nInvoke the newly introduced nsm_reboot_lookup() function in\nnlm_host_rebooted() instead of nsm_find().\n\nThis introduces just one behavioral change: debugging messages\nproduced during reboot notification will now appear when the\nNLMDBG_MONITOR flag is set, but not when the NLMDBG_HOSTCACHE flag\nis set.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "3420a8c4359a189f7d854ed7075d151257415447",
      "tree": "dbcfbcdd9383bc4a9bb832f6b4a8876461495dc8",
      "parents": [
        "576df4634e37e46b441fefb91915184edb13bb94"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Dec 05 19:03:46 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:54 2009 -0500"
      },
      "message": "NSM: Add nsm_lookup() function\n\nIntroduce a new API to fs/lockd/mon.c that allows nlm_host_rebooted()\nto lookup up nsm_handles via the contents of an nlm_reboot struct.\n\nThe new function is equivalent to calling nsm_find() with @create set\nto zero, but it takes a struct nlm_reboot instead of separate\narguments.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "576df4634e37e46b441fefb91915184edb13bb94",
      "tree": "85dc6dc6dcf7eec104b7c78885a9e38123bb220f",
      "parents": [
        "7fefc9cb9d5f129c238d93166f705c96ca2e7e51"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Dec 05 19:03:39 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:54 2009 -0500"
      },
      "message": "NLM: Decode \"priv\" argument of NLMPROC_SM_NOTIFY as an opaque\n\nThe NLM XDR decoders for the NLMPROC_SM_NOTIFY procedure should treat\ntheir \"priv\" argument truly as an opaque, as defined by the protocol,\nand let the upper layers figure out what is in it.\n\nThis will make it easier to modify the contents and interpretation of\nthe \"priv\" argument, and keep knowledge about what\u0027s in \"priv\" local\nto fs/lockd/mon.c.\n\nFor now, the NLM and NSM implementations should behave exactly as they\ndid before.\n\nThe formation of the address of the rebooted host in\nnlm_host_rebooted() may look a little strange, but it is the inverse\nof how nsm_init_private() forms the private cookie.  Plus, it\u0027s\ngoing away soon anyway.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7fefc9cb9d5f129c238d93166f705c96ca2e7e51",
      "tree": "3309560f4539ea8af3943524475cd9405f3c9c49",
      "parents": [
        "cab2d3c99165abbba2943f1b269003b17fd3b1cb"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Dec 05 19:03:31 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:54 2009 -0500"
      },
      "message": "NLM: Change nlm_host_rebooted() to take a single nlm_reboot argument\n\nPass the nlm_reboot data structure directly from the NLMPROC_SM_NOTIFY\nXDR decoders to nlm_host_rebooted().  This eliminates some packing and\nunpacking of the NLMPROC_SM_NOTIFY results, and prepares for passing\nthese results, including the \"priv\" cookie, directly to a lookup\nroutine in fs/lockd/mon.c.\n\nThis patch changes code organization but should not cause any\nbehavioral change.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "cab2d3c99165abbba2943f1b269003b17fd3b1cb",
      "tree": "8e5fe08d1caf86564e56a1936f7e32af7eebd0e0",
      "parents": [
        "7e44d3bea21fbb9494930d1cd35ca92a9a4a3279"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Dec 05 19:03:24 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:54 2009 -0500"
      },
      "message": "NSM: Encode the new \"priv\" cookie for NSMPROC_MON requests\n\nPass the new \"priv\" cookie to NSMPROC_MON\u0027s XDR encoder, instead of\ncreating the \"priv\" argument in the encoder at call time.\n\nThis patch should not cause a behavioral change: the contents of the\ncookie remain the same for the time being.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7e44d3bea21fbb9494930d1cd35ca92a9a4a3279",
      "tree": "377fe5801ab1108aee2bc7f72d1b32618aa35e7f",
      "parents": [
        "05f3a9af58180d24a9decedd71d4587935782d70"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Dec 05 19:03:16 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:53 2009 -0500"
      },
      "message": "NSM: Generate NSMPROC_MON\u0027s \"priv\" argument when nsm_handle is created\n\nIntroduce a new data type, used by both the in-kernel NLM and NSM\nimplementations, that is used to manage the opaque \"priv\" argument\nfor the NSMPROC_MON and NLMPROC_SM_NOTIFY calls.\n\nConstruct the \"priv\" cookie when the nsm_handle is created.\n\nThe nsm_init_private() function may look a little strange, but it is\nroughly equivalent to how the XDR encoder formed the \"priv\" argument.\nIt\u0027s going to go away soon.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "05f3a9af58180d24a9decedd71d4587935782d70",
      "tree": "c5c53a1aa8ba8fdf47f2613970c85ec0a4b0d63d",
      "parents": [
        "bc1cc6c4e476b60df48227165990c87a22db6bb7"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Dec 05 19:03:09 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:53 2009 -0500"
      },
      "message": "NSM: Remove !nsm check from nsm_release()\n\nThe nsm_release() function should never be called with a NULL handle\npoint.  If it is, that\u0027s a bug.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "bc1cc6c4e476b60df48227165990c87a22db6bb7",
      "tree": "19919f4787df34201bd575ebf741a53e9879e084",
      "parents": [
        "5cf1c4b19db99d21d44c2ab457cfd44eb86b4439"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Dec 05 19:03:01 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:53 2009 -0500"
      },
      "message": "NSM: Remove NULL pointer check from nsm_find()\n\nThe nsm_find() function should never be called with a NULL IP address\npointer.  If it is, that\u0027s a bug.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5cf1c4b19db99d21d44c2ab457cfd44eb86b4439",
      "tree": "83cc059073da8610351b64731f12e0505d11dc0d",
      "parents": [
        "67c6d107a689243979a2b5f15244b5261634a924"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Dec 05 19:02:53 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:53 2009 -0500"
      },
      "message": "NSM: Add dprintk() calls in nsm_find and nsm_release\n\nIntroduce some dprintk() calls in fs/lockd/mon.c that are enabled by\nthe NLMDBG_MONITOR flag.  These report when we find, create, and\nrelease nsm_handles.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "67c6d107a689243979a2b5f15244b5261634a924",
      "tree": "36e2093df96a449c284640c9cc329fc251e98bd0",
      "parents": [
        "03eb1dcbb799304b58730f4dba65812f49fb305e"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Dec 05 19:02:45 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:53 2009 -0500"
      },
      "message": "NSM: Move nsm_find() to fs/lockd/mon.c\n\nThe nsm_find() function sets up fresh nsm_handle entries.  This is\nwhere we will store the \"priv\" cookie used to lookup nsm_handles during\nreboot recovery.  The cookie will be constructed when nsm_find()\ncreates a new nsm_handle.\n\nAs much as possible, I would like to keep everything that handles a\n\"priv\" cookie in fs/lockd/mon.c so that all the smarts are in one\nsource file.  That organization should make it pretty simple to see how\nall this works.\n\nTo me, it makes more sense than the current arrangement to keep\nnsm_find() with nsm_monitor() and nsm_unmonitor().\n\nSo, start reorganizing by moving nsm_find() into fs/lockd/mon.c.  The\nnsm_release() function comes along too, since it shares the nsm_lock\nglobal variable.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "03eb1dcbb799304b58730f4dba65812f49fb305e",
      "tree": "310306a570ae554fd420bdde1fdabe7f1157c255",
      "parents": [
        "36e8e668d3e6a61848a8921ddeb663b417299fa5"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Dec 05 19:02:15 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:53 2009 -0500"
      },
      "message": "NSM: move to xdr_stream-based XDR encoders and decoders\n\nIntroduce xdr_stream-based XDR encoder and decoder functions, which are\nmore careful about preventing RPC buffer overflows.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "36e8e668d3e6a61848a8921ddeb663b417299fa5",
      "tree": "c5ad964c566341f24ecf7d67f4b34173205e9143",
      "parents": [
        "9c1bfd037f7ff8badaecb47418f109148d88bf45"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Dec 05 19:02:07 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:52 2009 -0500"
      },
      "message": "NSM: Move NSM program and procedure numbers to fs/lockd/mon.c\n\nClean up: Move the RPC program and procedure numbers for NSM into the\none source file that needs them: fs/lockd/mon.c.\n\nAnd, as with NLM, NFS, and rpcbind calls, use NSMPROC_FOO instead of\nSM_FOO for NSM procedure numbers.\n\nFinally, make a couple of comments more precise: what is referred to\nhere as SM_NOTIFY is really the NLM (lockd) NLMPROC_SM_NOTIFY downcall,\nnot NSMPROC_NOTIFY.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9c1bfd037f7ff8badaecb47418f109148d88bf45",
      "tree": "23435f76798f026e5cb1cdeb91077d854b359ac4",
      "parents": [
        "0c7aef4569f8680951b7dee01dddffb9d2f809ff"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Dec 05 19:01:59 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:52 2009 -0500"
      },
      "message": "NSM: Move NSM-related XDR data structures to lockd\u0027s xdr.h\n\nClean up: NSM\u0027s XDR data structures are used only in fs/lockd/mon.c,\nso move them there.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "0c7aef4569f8680951b7dee01dddffb9d2f809ff",
      "tree": "04a78e99cf53549dd8d32d6dbab5923f4f212f8d",
      "parents": [
        "356c3eb466fd1a12afd6448d90fba3922836e5f1"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 04 14:21:46 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:52 2009 -0500"
      },
      "message": "NSM: Check result of SM_UNMON upcall\n\nMake sure any error returned by rpc.statd during an SM_UNMON call is\nreported rather than ignored completely.  There isn\u0027t much to do with\nsuch an error, but we should log it in any case.\n\nSimilar to a recent change to nsm_monitor().\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "356c3eb466fd1a12afd6448d90fba3922836e5f1",
      "tree": "1b30ed40ea9ee8c0e548f71d7e36bafd293ad764",
      "parents": [
        "c8c23c423dec49cb439697d3dc714e1500ff1610"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 04 14:21:38 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:52 2009 -0500"
      },
      "message": "NLM: Move the public declaration of nsm_unmonitor() to lockd.h\n\nClean up.\n\nMake the nlm_host argument \"const,\" and move the public declaration to\nlockd.h.  Add a documenting comment.\n\nBruce observed that nsm_unmonitor()\u0027s only caller doesn\u0027t care about\nits return code, so make nsm_unmonitor() return void.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "c8c23c423dec49cb439697d3dc714e1500ff1610",
      "tree": "161035f51e31cce6d9f8dc104bad62a329496a77",
      "parents": [
        "1e49323c4ab044d05bbc68cf13cadcbd4372468c"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 04 14:21:31 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:52 2009 -0500"
      },
      "message": "NSM: Release nsmhandle in nlm_destroy_host\n\nThe nsm_handle\u0027s reference count is bumped in nlm_lookup_host().  It\nshould be decremented in nlm_destroy_host() to make it easier to see\nthe balance of these two operations.\n\nMove the nsm_release() call to fs/lockd/host.c.\n\nThe h_nsmhandle pointer is set in nlm_lookup_host(), and never cleared.\nThe nlm_destroy_host() function is never called for the same nlm_host\ntwice, so h_nsmhandle won\u0027t ever be NULL when nsm_unmonitor() is\ncalled.\n\nAll references to the nlm_host are gone before it is freed.  We can\nskip making h_nsmhandle NULL just before the nlm_host is deallocated.\n\nIt\u0027s also likely we can remove the h_nsmhandle NULL check in\nnlmsvc_is_client() as well, but we can do that later when rearchitect-\ning the nlm_host cache.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "1e49323c4ab044d05bbc68cf13cadcbd4372468c",
      "tree": "5d997638d8595d3698d6e3b2c81292fb09b42ad8",
      "parents": [
        "5d254b119823658cc318f88589c6c426b3d0a153"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 04 14:21:24 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:52 2009 -0500"
      },
      "message": "NLM: Move the public declaration of nsm_monitor() to lockd.h\n\nClean up.\n\nMake the nlm_host argument \"const,\" and move the public declaration to\nlockd.h with other NSM public function (nsm_release, eg) and global\nvariable declarations.\n\nAdd a documenting comment.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5d254b119823658cc318f88589c6c426b3d0a153",
      "tree": "147bba86428c33650a686b70cbc32643c8547f86",
      "parents": [
        "5bc74bef7c9b652f0f2aa9c5a8d5ac86881aba79"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 04 14:21:15 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:51 2009 -0500"
      },
      "message": "NSM: Make sure to return an error if the SM_MON call result is not zero\n\nThe nsm_monitor() function reports an error and does not set sm_monitored\nif the SM_MON upcall reply has a non-zero result code, but nsm_monitor()\ndoes not return an error to its caller in this case.\n\nSince sm_monitored is not set, the upcall is retried when the next NLM\nrequest invokes nsm_monitor().  However, that may not come for a while.\nIn the meantime, at least one NLM request will potentially proceed\nwithout the peer being monitored properly.\n\nHave nsm_monitor() return an error if the result code is non-zero.\nThis will cause all NLM requests to fail immediately if the upcall\ncompleted successfully but rpc.statd returned an error.\n\nThis may be inconvenient in some cases (for example if rpc.statd\ncannot complete a proper DNS reverse lookup of the hostname), but will\nmake the reboot monitoring service more robust by forcing such issues\nto be corrected by an admin.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5bc74bef7c9b652f0f2aa9c5a8d5ac86881aba79",
      "tree": "476bb3b039e814e46f2675933a88470781fec5f2",
      "parents": [
        "501c1ed3fb5c2648ba1709282c71617910917f66"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 04 14:21:08 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:51 2009 -0500"
      },
      "message": "NSM: Remove BUG_ON() in nsm_monitor()\n\nClean up: Remove the BUG_ON() invocation in nsm_monitor().  It\u0027s not\nlikely that nsm_monitor() is ever called with a NULL host pointer, and\nthe code will die anyway if host is NULL.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "501c1ed3fb5c2648ba1709282c71617910917f66",
      "tree": "600bb4b00d4d222fceea5a8187f513e8eb979e61",
      "parents": [
        "9fee49024ed19d849413df4ab6ec1a1a60aaae94"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Dec 04 14:21:01 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 06 11:53:51 2009 -0500"
      },
      "message": "NLM: Remove redundant printk() in nlmclnt_lock()\n\nThe nsm_monitor() function already generates a printk(KERN_NOTICE) if\nthe SM_MON upcall fails, so the similar printk() in the nlmclnt_lock()\nfunction is redundant.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    }
  ],
  "next": "9fee49024ed19d849413df4ab6ec1a1a60aaae94"
}
