)]}'
{
  "log": [
    {
      "commit": "8e9d2089723d08d51e66c5eea49253d76e27941e",
      "tree": "cf15609d5eeb0c1f3a39231d8ce793d3c8ad0ed0",
      "parents": [
        "ba1eb95cf3cc666769afe42eaa15a3a34ae82f94",
        "60aa49243d09afc873f082567d2e3c16634ced84"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 16:14:02 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 16:14:02 2009 -0700"
      },
      "message": "Merge branch \u0027bkl-removal\u0027 of git://git.lwn.net/linux-2.6\n\n* \u0027bkl-removal\u0027 of git://git.lwn.net/linux-2.6:\n  Rationalize fasync return values\n  Move FASYNC bit handling to f_op-\u003efasync()\n  Use f_lock to protect f_flags\n  Rename struct file-\u003ef_ep_lock\n"
    },
    {
      "commit": "21cdbc1378e8aa96e1ed4a606dce1a8e7daf7fdf",
      "tree": "55b6c294b912ccdc3eede15960b0ece53a69d902",
      "parents": [
        "86d9c070175de65890794fa227b68297da6206d8",
        "ef3500b2b2955af4fa6b0564b51c0c604e38c571"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 16:04:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 16:04:22 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6\n\n* \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6: (81 commits)\n  [S390] remove duplicated #includes\n  [S390] cpumask: use mm_cpumask() wrapper\n  [S390] cpumask: Use accessors code.\n  [S390] cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.\n  [S390] cpumask: remove cpu_coregroup_map\n  [S390] fix clock comparator save area usage\n  [S390] Add hwcap flag for the etf3 enhancement facility\n  [S390] Ensure that ipl panic notifier is called late.\n  [S390] fix dfp elf hwcap/facility bit detection\n  [S390] smp: perform initial cpu reset before starting a cpu\n  [S390] smp: fix memory leak on __cpu_up\n  [S390] ipl: Improve checking logic and remove switch defaults.\n  [S390] s390dbf: Remove needless check for NULL pointer.\n  [S390] s390dbf: Remove redundant initilizations.\n  [S390] use kzfree()\n  [S390] BUG to BUG_ON changes\n  [S390] zfcpdump: Prevent zcore from beeing built as a kernel module.\n  [S390] Use csum_partial in checksum.h\n  [S390] cleanup lowcore.h\n  [S390] eliminate ipl_device from lowcore\n  ...\n"
    },
    {
      "commit": "86d9c070175de65890794fa227b68297da6206d8",
      "tree": "1aa4f1d1ecf397bd0d745a67b9d828420a99a8b4",
      "parents": [
        "413e3376485e6cf81f4cf6a4dbc0de0326535093",
        "a2a9537ac0b37a5da6fbe7e1e9cb06c524d2a9c4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 16:03:04 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 16:03:04 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.30\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.30\u0027 of git://git.kernel.dk/linux-2.6-block:\n  Get rid of pdflush_operation() in emergency sync and remount\n  btrfs: get rid of current_is_pdflush() in btrfs_btree_balance_dirty\n  Move the default_backing_dev_info out of readahead.c and into backing-dev.c\n  block: Repeated lines in switching-sched.txt\n  bsg: Remove bogus check against request_queue-\u003emax_sectors\n  block: WARN in __blk_put_request() for potential bio leak\n  loop: fix circular locking in loop_clr_fd()\n  loop: support barrier writes\n  bsg: add support for tail queuing\n  cpqarray: enable bus mastering\n  block: genhd.h cleanup patch\n  block: add private bio_set for bio integrity allocations\n  block: genhd.h comment needs updating\n  block: get rid of unused blkdev_free_rq() define\n  block: remove various blk_queue_*() setting functions in blk_init_queue_node()\n  cciss: add BUILD_BUG_ON() for catching bad CommandList_struct alignment\n  block: don\u0027t create bio_vec slabs of less than the inline number\n  block: cleanup bio_alloc_bioset()\n"
    },
    {
      "commit": "13220a94d35708d5378114e96ffcc88d0a74fe99",
      "tree": "be6530677d5f9536c7211e05ba012923e4c0b307",
      "parents": [
        "8690d8a9f6c2d5728a9c9f68231f1bb4de109e3a",
        "08abe18af1f78ee80c3c3a5ac47c3e0ae0beadf6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 15:54:36 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 15:54:36 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1750 commits)\n  ixgbe: Allow Priority Flow Control settings to survive a device reset\n  net: core: remove unneeded include in net/core/utils.c.\n  e1000e: update version number\n  e1000e: fix close interrupt race\n  e1000e: fix loss of multicast packets\n  e1000e: commonize tx cleanup routine to match e1000 \u0026 igb\n  netfilter: fix nf_logger name in ebt_ulog.\n  netfilter: fix warning in ebt_ulog init function.\n  netfilter: fix warning about invalid const usage\n  e1000: fix close race with interrupt\n  e1000: cleanup clean_tx_irq routine so that it completely cleans ring\n  e1000: fix tx hang detect logic and address dma mapping issues\n  bridge: bad error handling when adding invalid ether address\n  bonding: select current active slave when enslaving device for mode tlb and alb\n  gianfar: reallocate skb when headroom is not enough for fcb\n  Bump release date to 25Mar2009 and version to 0.22\n  r6040: Fix second PHY address\n  qeth: fix wait_event_timeout handling\n  qeth: check for completion of a running recovery\n  qeth: unregister MAC addresses during recovery.\n  ...\n\nManually fixed up conflicts in:\n\tdrivers/infiniband/hw/cxgb3/cxio_hal.h\n\tdrivers/infiniband/hw/nes/nes_nic.c\n"
    },
    {
      "commit": "39f15003c7b268e4199d5ddce60a6944a74a14b7",
      "tree": "47d4513321aa16bcdc608619390f4f5dbf1d1e5e",
      "parents": [
        "7676b8fd701beb47cc1b4cc291acaa07287ea69a",
        "b363b3304bcf68c4541683b2eff70b29f0446a5b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 15:46:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 15:46:37 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  [CIFS] Fix memory overwrite when saving nativeFileSystem field during mount\n  [CIFS]  Rename compose_mount_options to cifs_compose_mount_options.\n  [CIFS] work around bug in Samba server handling for posix open\n  [CIFS] Use posix open on file open when server supports it\n  cifs: fix buffer format byte on NT Rename/hardlink\n  [CIFS] Add definitions for remoteably fsctl calls\n  [CIFS] add extra null attr check\n  [CIFS] fix build error\n  [CIFS] reopen file via newer posix open protocol operation if available\n  [CIFS] Add new nostrictsync cifs mount option to avoid slow SMB flush\n  [CIFS] DFS no longer experimental\n  [CIFS] Send SMB flush in cifs_fsync\n"
    },
    {
      "commit": "9e80d407736161d9b8b0c5a0d44f786e44c322ea",
      "tree": "1d60b5b3e766cd123189278c3576f79d26315426",
      "parents": [
        "0384e2959127a56d0640505d004d8dd92f9c29f5"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Mar 26 13:08:04 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 15:44:59 2009 -0700"
      },
      "message": "ext3: Avoid starting a transaction in writepage when not necessary\n\nWe don\u0027t have to start a transaction in writepage() when all the blocks\nare a properly allocated. Even in ordered mode either the data has been\nwritten via write() and they are thus already added to transaction\u0027s list\nor the data was written via mmap and then it\u0027s random in which transaction\nthey get written anyway.\n\nThis should help VM to pageout dirty memory without blocking on transaction\ncommits.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "08abe18af1f78ee80c3c3a5ac47c3e0ae0beadf6",
      "tree": "2be39bf8942edca1bcec735145e144a682ca9cd3",
      "parents": [
        "f0de70f8bb56952f6e016a65a8a8d006918f5bf6",
        "0384e2959127a56d0640505d004d8dd92f9c29f5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 26 15:23:24 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 26 15:23:24 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n\nConflicts:\n\tdrivers/net/wimax/i2400m/usb-notif.c\n"
    },
    {
      "commit": "0c93ea4064a209cdc36de8a9a3003d43d08f46f7",
      "tree": "ff19952407c523a1349ef56c05993416dd28437e",
      "parents": [
        "bc2fd381d8f9dbeb181f82286cdca1567e3d0def",
        "e6e66b02e11563abdb7f69dcb7a2efbd8d577e77"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 11:17:04 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 11:17:04 2009 -0700"
      },
      "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: (61 commits)\n  Dynamic debug: fix pr_fmt() build error\n  Dynamic debug: allow simple quoting of words\n  dynamic debug: update docs\n  dynamic debug: combine dprintk and dynamic printk\n  sysfs: fix some bin_vm_ops errors\n  kobject: don\u0027t block for each kobject_uevent\n  sysfs: only allow one scheduled removal callback per kobj\n  Driver core: Fix device_move() vs. dpm list ordering, v2\n  Driver core: some cleanup on drivers/base/sys.c\n  Driver core: implement uevent suppress in kobject\n  vcs: hook sysfs devices into object lifetime instead of \"binding\"\n  driver core: fix passing platform_data\n  driver core: move platform_data into platform_device\n  sysfs: don\u0027t block indefinitely for unmapped files.\n  driver core: move knode_bus into private structure\n  driver core: move knode_driver into private structure\n  driver core: move klist_children into private structure\n  driver core: create a private portion of struct device\n  driver core: remove polling for driver_probe_done(v5)\n  sysfs: reference sysfs_dirent from sysfs inodes\n  ...\n\nFixed conflicts in drivers/sh/maple/maple.c manually\n"
    },
    {
      "commit": "8ff64b539bfd998792614481ccb67139b97075ef",
      "tree": "76bdba9fde912de766112a1e5476eec97850e9c5",
      "parents": [
        "61a9dc26d3d4ef61b0ead9930561c9ce0efa1919",
        "df3647b24510e23523f81a77bb179cd9ae3d613b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 11:08:47 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 11:08:47 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw:\n  GFS2: Fix freeze issue\n  Fix a minor bug in the previous patch\n  GFS2: Clean up of glops.c\n  GFS2: Fix locking bug in failed shared to exclusive conversion\n  GFS2: Pagecache usage optimization on GFS2\n  GFS2: fix sparse warning: Should it be static?\n  GFS2: fix sparse warnings: constant is so big it is ...\n  GFS2: Support quota/noquota mount arguments\n  GFS2: Fix alignment issue and tidy gfs2_bitfit\n  GFS2: Add a \"demote a glock\" interface to sysfs\n  GFS2: Expose UUID via sysfs/uevent\n  GFS2: Support generation of discard requests\n  GFS2: Fix deadlock on journal flush\n  GFS2: Fix error path ref counting for root inode\n  GFS2: Remove unused field from glock\n  GFS2: Merge lock_dlm module into GFS2\n  GFS2: Remove \"double\" locking in quota\n  GFS2: change gfs2_quota_scan into a shrinker\n  GFS2: Bring back lvb-related stuff to lock_nolock to support quotas\n  GFS2: Fix remount argument parsing\n"
    },
    {
      "commit": "8d80ce80e1d58ba9cd3e3972b112cccd6b4008f4",
      "tree": "16d3cca8d260c731d02a4e5e1ea5b9817c9c3626",
      "parents": [
        "1646df40bb111715a90ce0b86448dabbcc5b3f3d",
        "703a3cd72817e99201cef84a8a7aecc60b2b3581"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 11:03:39 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 11:03:39 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (71 commits)\n  SELinux: inode_doinit_with_dentry drop no dentry printk\n  SELinux: new permission between tty audit and audit socket\n  SELinux: open perm for sock files\n  smack: fixes for unlabeled host support\n  keys: make procfiles per-user-namespace\n  keys: skip keys from another user namespace\n  keys: consider user namespace in key_permission\n  keys: distinguish per-uid keys in different namespaces\n  integrity: ima iint radix_tree_lookup locking fix\n  TOMOYO: Do not call tomoyo_realpath_init unless registered.\n  integrity: ima scatterlist bug fix\n  smack: fix lots of kernel-doc notation\n  TOMOYO: Don\u0027t create securityfs entries unless registered.\n  TOMOYO: Fix exception policy read failure.\n  SELinux: convert the avc cache hash list to an hlist\n  SELinux: code readability with avc_cache\n  SELinux: remove unused av.decided field\n  SELinux: more careful use of avd in avc_has_perm_noaudit\n  SELinux: remove the unused ae.used\n  SELinux: check seqno when updating an avc_node\n  ...\n"
    },
    {
      "commit": "0a1c01c9477602ee8b44548a9405b2c1d587b5a2",
      "tree": "4f9f77b34bf1f2f497a8f99b8976599a6b2be8cc",
      "parents": [
        "d0adde574b8487ef30f69e2d08bba769e4be513f"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Mar 26 17:53:14 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 11:01:10 2009 -0700"
      },
      "message": "Make relatime default\n\nChange the default behaviour of the kernel to use relatime for all\nfilesystems. This can be overridden with the \"strictatime\" mount\noption.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d0adde574b8487ef30f69e2d08bba769e4be513f",
      "tree": "fa8b98978bc9ebe607cbdf78c4ed13eeb545ba80",
      "parents": [
        "11ff6f05f1e836a6a02369a4c4b64757e484adc1"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Mar 26 17:49:56 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 10:56:35 2009 -0700"
      },
      "message": "Add a strictatime mount option\n\nAdd support for explicitly requesting full atime updates. This makes it\npossible for kernels to default to relatime but still allow userspace to\noverride it.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "11ff6f05f1e836a6a02369a4c4b64757e484adc1",
      "tree": "325ab926d670d7fe1ca289a3b39fb913bc3b8cf3",
      "parents": [
        "8e0ee43bc2c3e19db56a4adaa9a9b04ce885cd84"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Mar 26 17:32:14 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 10:48:13 2009 -0700"
      },
      "message": "Allow relatime to update atime once a day\n\nAllow atime to be updated once per day even with relatime. This lets\nutilities like tmpreaper (which delete files based on last access time)\ncontinue working, making relatime a plausible default for distributions.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nReviewed-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nAcked-by: Valerie Aurora Henson \u003cvaurora@redhat.com\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b44b0ab3bac16356f03e94b1b49ba9305710c445",
      "tree": "66dfc19e2164a6a30d19b958ccf4e4a5d210c8d8",
      "parents": [
        "f9a28f7bc5225af476f8d4bb669038da8801b7c4"
      ],
      "author": {
        "name": "Stefan Weinhuber",
        "email": "wein@de.ibm.com",
        "time": "Thu Mar 26 15:23:47 2009 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Mar 26 15:24:05 2009 +0100"
      },
      "message": "[S390] dasd: add large volume support\n\nThe dasd device driver will now support ECKD devices with more then\n65520 cylinders.\nIn the traditional ECKD adressing scheme each track is addressed\nby a 16-bit cylinder and 16-bit head number. The new addressing\nscheme makes use of the fact that the actual number of heads is\nnever larger then 15, so 12 bits of the head number can be redefined\nto be part of the cylinder address.\n\nSigned-off-by: Stefan Weinhuber \u003cwein@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "a2a9537ac0b37a5da6fbe7e1e9cb06c524d2a9c4",
      "tree": "798376ab3cb0fdbea5fc067562e2adfabdb4d9d6",
      "parents": [
        "6933c02e9cc47c2df3c016621a013ec79fb4203f"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 17 09:38:40 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Mar 26 11:01:36 2009 +0100"
      },
      "message": "Get rid of pdflush_operation() in emergency sync and remount\n\nOpencode a cheasy approach with kevent. The idea here is that we\u0027ll\nadd some generic delayed work infrastructure, which probably wont be\nbased on pdflush (or maybe it will, in which case we can just add it\nback).\n\nThis is in preparation for getting rid of pdflush completely.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6933c02e9cc47c2df3c016621a013ec79fb4203f",
      "tree": "d2b711f72c6d1aab317b96ff5040f3fa2ced9ec8",
      "parents": [
        "26160158d3d3df548f4ee046cc6147fe048cfa9c"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 17 09:36:37 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Mar 26 11:01:35 2009 +0100"
      },
      "message": "btrfs: get rid of current_is_pdflush() in btrfs_btree_balance_dirty\n\nChris says it\u0027s safe to kill.\n\nAcked-by: Chris Mason \u003cchris.mason@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "095160aee954688a9bad225952c4bee546541e19",
      "tree": "5f2ceb17b0a414da00b7173384efda8c56c1755c",
      "parents": [
        "f520360d93cdc37de5d972dac4bf3bdef6a7f6a7"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Mon Mar 23 01:41:27 2009 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:26 2009 -0700"
      },
      "message": "sysfs: fix some bin_vm_ops errors\n\nCommit 86c9508eb1c0ce5aa07b5cf1d36b60c54efc3d7a\n\"sysfs: don\u0027t block indefinitely for unmapped files\" in linux-next\ncrashes the PowerMac G5 when X starts up.  It\u0027s caught out by the way\npowerpc\u0027s pci_mmap of legacy_mem uses shmem_zero_setup(), substituting\na new vma-\u003evm_file whose private_data no longer points to the bin_buffer\n(substitution done because some versions of X crash if that mmap fails).\n\nThe fix to this is straightforward: the original vm_file is fput() in\nthat case, so this mmap won\u0027t block sysfs at all, so just don\u0027t switch\nover to bin_vm_ops if vm_file has changed.\n\nBut more fixes made before realizing that was the problem:-\n\nIt should not be an error if bin_page_mkwrite() finds no underlying\npage_mkwrite().\n\nCheck that a file already mmap\u0027ed has the same underlying vm_ops\n_before_ pointing vma-\u003evm_ops at bin_vm_ops.\n\nIf the file being mmap\u0027ed is a shmem/tmpfs file, don\u0027t fail the mmap\non CONFIG_NUMA\u003dy, just because that has a set_policy and get_policy:\nprovide bin_set_policy, bin_get_policy and bin_migrate.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nAcked-by: Eric Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "669420644c79c207f83fdf9105ae782867e2991f",
      "tree": "668491b3700bcc65e45d5ff9471f6fde5d5743af",
      "parents": [
        "ffa6a7054d172a2f57248dff2de600ca795c5656"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Fri Mar 13 12:07:36 2009 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:26 2009 -0700"
      },
      "message": "sysfs: only allow one scheduled removal callback per kobj\n\nThe only way for a sysfs attribute to remove itself (without\ndeadlock) is to use the sysfs_schedule_callback() interface.\n\nVegard Nossum discovered that a poorly written sysfs -\u003estore\ncallback can repeatedly schedule remove callbacks on the same\ndevice over and over, e.g.\n\n\t$ while true ; do echo 1 \u003e /sys/devices/.../remove ; done\n\nIf the \u0027remove\u0027 attribute uses the sysfs_schedule_callback API\nand also does not protect itself from concurrent accesses, its\ncallback handler will be called multiple times, and will\neventually attempt to perform operations on a freed kobject,\nleading to many problems.\n\nInstead of requiring all callers of sysfs_schedule_callback to\nimplement their own synchronization, provide the protection in\nthe infrastructure.\n\nNow, sysfs_schedule_callback will only allow one scheduled\ncallback per kobject. On subsequent calls with the same kobject,\nreturn -EAGAIN.\n\nThis is a short term fix. The long term fix is to allow sysfs\nattributes to remove themselves directly, without any of this\ncallback hokey pokey.\n\n[cornelia.huck@de.ibm.com: s390 ccwgroup bits]\n\nReported-by: vegard.nossum@gmail.com\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f67f129e519fa87f8ebd236b6336fe43f31ee141",
      "tree": "e2832f6d012044f5d05c6130416832235c7d2730",
      "parents": [
        "4995f8ef9d3aac72745e12419d7fbaa8d01b1d81"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "tom.leiming@gmail.com",
        "time": "Sun Mar 01 21:10:49 2009 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:26 2009 -0700"
      },
      "message": "Driver core: implement uevent suppress in kobject\n\nThis patch implements uevent suppress in kobject and removes it\nfrom struct device, based on the following ideas:\n\n1,Uevent sending should be one attribute of kobject, so suppressing it\nin kobject layer is more natural than in device layer. By this way,\nwe can do it for other objects embedded with kobject.\n\n2,It may save several bytes for each instance of struct device.(On my\nomap3(32bit ARM) based box, can save 8bytes per device object)\n\nThis patch also introduces dev_set|get_uevent_suppress() helpers to\nset and query uevent_suppress attribute in case to help kobject\nas private part of struct device in future.\n\n[This version is against the latest driver-core patch set of Greg,please\nignore the last version.]\n\nSigned-off-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e0edd3c65aa5b53e20280565a7ce11675eb7ed6b",
      "tree": "e9d7a8834eba3f19635f770f5d19bfe88a2485e4",
      "parents": [
        "ae1b41715ee2aae356fbcca032838b71d70b855f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Wed Mar 04 11:57:20 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:26 2009 -0700"
      },
      "message": "sysfs: don\u0027t block indefinitely for unmapped files.\n\nModify sysfs bin files so that we can remove the bin file while they are\nstill mapped.  When the kobject is removed we unmap the bin file and\narrange for future accesses to the mapping to receive SIGBUS.\n\nImplementing this prevents a nasty DOS when pci devices are hot plugged\nand unplugged.  Where if any of their resources were mmaped the kernel\ncould not free up their pci resources or release their pci data\nstructures.\n\n[akpm@linux-foundation.org: remove unused var]\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "04256b4a8fc73f54cd14f20867882c299728a446",
      "tree": "16267f6c77e0fa9f7229a30f66343289b6d1108a",
      "parents": [
        "425cb02912d1095febfeaf8d379af7b2ac9e4a89"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Wed Feb 11 13:20:23 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:25 2009 -0700"
      },
      "message": "sysfs: reference sysfs_dirent from sysfs inodes\n\nThe sysfs_dirent serves as both an inode and a directory entry\nfor sysfs.  To prevent the sysfs inode numbers from being freed\nprematurely hold a reference to sysfs_dirent from the sysfs inode.\n\n[akpm@linux-foundation.org: add comment]\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "425cb02912d1095febfeaf8d379af7b2ac9e4a89",
      "tree": "d7cbd6309c280714a3dc45d968129128d649be22",
      "parents": [
        "f48f3febb2cbfd0f2ecee7690835ba745c1034a4"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Thu Feb 12 10:56:59 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:25 2009 -0700"
      },
      "message": "sysfs: sysfs_add_one WARNs with full path to duplicate filename\n\nsysfs: sysfs_add_one WARNs with full path to duplicate filename\n\nAs a debugging aid, it can be useful to know the full path to a\nduplicate file being created in sysfs.\n\nWe now will display warnings such as:\n\n\tsysfs: cannot create duplicate filename \u0027/foo\u0027\n\nwhen attempting to create multiple files named \u0027foo\u0027 in the sysfs\nroot, or:\n\n\tsysfs: cannot create duplicate filename \u0027/bus/pci/slots/5/foo\u0027\n\nwhen attempting to create multiple files named \u0027foo\u0027 under a\ngiven directory in sysfs.\n\nThe path displayed is always a relative path to sysfs_root. The\nleading \u0027/\u0027 in the path name refers to the sysfs_root mount\npoint, and should not be confused with the \"real\" \u0027/\u0027.\n\nThanks to Alex Williamson for essentially writing sysfs_pathname.\n\nCc: Alex Williamson \u003calex.williamson@hp.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4a67a1bc0b3a0db017b560cee27370d141c58e25",
      "tree": "ab039581d41c9fa45a1bac9eb843baa1312a5969",
      "parents": [
        "8231f2f99a5e5fc45a25e8de09fd1ab9711babf1"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Jan 21 11:55:11 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:24 2009 -0700"
      },
      "message": "sysfs: Take sysfs_mutex when fetching the root inode.\n\nsysfs_get_inode ultimately calls sysfs_count_nlink when the a\ndirectory inode is fectched.  sysfs_count_nlink needs to be\ncalled under the sysfs_mutex to guard against the unlikely\nbut possible scenario that the root directory is changing\nas we are counting the number entries in it, and just in\ngeneral to be consistent.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8231f2f99a5e5fc45a25e8de09fd1ab9711babf1",
      "tree": "18fd1173f6197e373905d94c904c16763086ed06",
      "parents": [
        "1fa5ae857bb14f6046205171d98506d8112dd74e"
      ],
      "author": {
        "name": "Qinghuang Feng",
        "email": "qhfeng.kernel@gmail.com",
        "time": "Wed Jan 14 15:45:13 2009 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:24 2009 -0700"
      },
      "message": "SYSFS: use standard magic.h for sysfs\n\nSYSFS_MAGIC has been added into magic.h, so only use that definition\nin magic.h to avoid potential consistency problem.\n\nSigned-off-by: Qinghuang Feng \u003cqhfeng.kernel@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6d2a78e783416ba99e36beb1d4395b785b34e867",
      "tree": "5e1b772cfbfb8b5d089a9808a0232749f7ddf8be",
      "parents": [
        "32ca163c9cdb33151d79e95a7cf244f62b5d4418"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Tue Mar 10 08:27:39 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 24 12:35:17 2009 +0100"
      },
      "message": "block: add private bio_set for bio integrity allocations\n\nThe integrity bio allocation needs its own bio_set to avoid violating\nthe mempool allocation rules and risking deadlocks.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a7fcd37cdcb47806fb8a9070f006ee34061defa6",
      "tree": "3a983ae22551ce8d0aa062d84d8165df862811fa",
      "parents": [
        "34053979fb1d923217685cf166349f1899980581"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Dec 05 16:10:29 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 24 12:35:16 2009 +0100"
      },
      "message": "block: don\u0027t create bio_vec slabs of less than the inline number\n\nIf we don\u0027t have CONFIG_BLK_DEV_INTEGRITY set, then we don\u0027t have\nany external dependencies on the bio_vec slabs. So don\u0027t create\nthe ones that we will inline anyway.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "34053979fb1d923217685cf166349f1899980581",
      "tree": "05e4c9dd49fe841ecb5c6556aa3a5deaf05fab75",
      "parents": [
        "8e0ee43bc2c3e19db56a4adaa9a9b04ce885cd84"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 21 11:16:36 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 24 12:35:16 2009 +0100"
      },
      "message": "block: cleanup bio_alloc_bioset()\n\nthis warning (which got fixed by commit b2bf968):\n\n  fs/bio.c: In function ‘bio_alloc_bioset’:\n  fs/bio.c:305: warning: ‘p’ may be used uninitialized in this function\n\nTriggered because the code flow in bio_alloc_bioset() is correct\nbut a bit complex for the compiler to see through.\n\nStreamline it a bit - this also makes the code a tiny bit more compact:\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n   7540\t    256\t     40\t   7836\t   1e9c\tbio.o.before\n   7539\t    256\t     40\t   7835\t   1e9b\tbio.o.after\n\nAlso remove an older compiler-warnings annotation from this function,\nit\u0027s not needed.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "df3647b24510e23523f81a77bb179cd9ae3d613b",
      "tree": "6b635871b4dc99a8bbbfa704dad981922805422f",
      "parents": [
        "9c538837d844574787c95bd5665f684559fb7065"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 23 11:38:55 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:31:30 2009 +0000"
      },
      "message": "GFS2: Fix freeze issue\n\nThis removes some old code that was causing issues during\nfilesystem freeze.\n\nReported-by: Andrew Price \u003candy@andrewprice.me.uk\u003e\nTested-by: Andrew Price \u003candy@andrewprice.me.uk\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "9c538837d844574787c95bd5665f684559fb7065",
      "tree": "6f2889435b03df7bd42f75d0f2577faf20d35775",
      "parents": [
        "6bac243f0793499782267342eba852a8a6cc7ac4"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Mar 19 13:15:44 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:27 2009 +0000"
      },
      "message": "Fix a minor bug in the previous patch\n\nThe logic requires that we mark the glock dirty in page_mkwrite\notherwise we might not flush correctly in the case that no\nallocation was required in the process of dirying the page.\nAlso we need to set the shared write flag early for the same\nreason.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "6bac243f0793499782267342eba852a8a6cc7ac4",
      "tree": "8cf9bb9fa54767c6207bc7f72d75364c290702d9",
      "parents": [
        "02ffad08e838997fad3de05c85560a57e5fd92de"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Mar 09 09:03:51 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:27 2009 +0000"
      },
      "message": "GFS2: Clean up of glops.c\n\nThis cleans up a number of bits of code mostly based in glops.c.\nA couple of simple functions have been merged into the callers\nto make it more obvious what is going on, the mysterious raising\nof i_writecount around the truncate_inode_pages() call has been\nremoved. The meta_go_* operations have been renamed rgrp_go_*\nsince that is the only lock type that they are used with.\n\nThe unused argument of gfs2_read_sb has been removed. Also\na bug has been fixed where a check for the rindex inode was\nin the wrong callback. More comments are added, and the\ndebugging code is improved too.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "02ffad08e838997fad3de05c85560a57e5fd92de",
      "tree": "feee17b1848957b1b42047ae6c4156d716adf4e8",
      "parents": [
        "229615def3f573fc448d20f62c6ec1bc9340cefb"
      ],
      "author": {
        "name": "Benjamin Marzinski",
        "email": "bmarzins@redhat.com",
        "time": "Fri Mar 06 10:03:20 2009 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:26 2009 +0000"
      },
      "message": "GFS2: Fix locking bug in failed shared to exclusive conversion\n\nAfter calling out to the dlm, GFS2 sets the new state of a glock to\ngl_target in gdlm_ast().  However, gl_target is not always the lock\nstate that was requested. If a conversion from shared to exclusive\nfails, finish_xmote() will call do_xmote() with LM_ST_UNLOCKED, instead\nof gl-\u003egl_target, so that it can reacquire the lock in exlusive the next\ntime around.  In this case, setting the lock to gl_target in gdlm_ast()\nwill make GFS2 think that it has the glock in exclusive mode, when\nreally, it doesn\u0027t have the glock locked at all.  This patch adds a new\nfield to the gfs2_glock structure, gl_req, to track the mode that was\nrequested.\n\nSigned-off-by: Benjamin Marzinski \u003cbmarzins@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "229615def3f573fc448d20f62c6ec1bc9340cefb",
      "tree": "7ecbf85e483f18e5d2b25a9129bd887cf6e2a100",
      "parents": [
        "02ab1721591f7ac1f632fc74b301513bd6f5849f"
      ],
      "author": {
        "name": "Hisashi Hifumi",
        "email": "hifumi.hisashi@oss.ntt.co.jp",
        "time": "Tue Mar 03 11:45:20 2009 +0900"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:25 2009 +0000"
      },
      "message": "GFS2: Pagecache usage optimization on GFS2\n\nI introduced \"is_partially_uptodate\" aops for GFS2.\n\nA page can have multiple buffers and even if a page is not uptodate, some buffers\ncan be uptodate on pagesize !\u003d blocksize environment.\nThis aops checks that all buffers which correspond to a part of a file\nthat we want to read are uptodate. If so, we do not have to issue actual\nread IO to HDD even if a page is not uptodate because the portion we\nwant to read are uptodate.\n\"block_is_partially_uptodate\" function is already used by ext2/3/4.\nWith the following patch random read/write mixed workloads or random read after\nrandom write workloads can be optimized and we can get performance improvement.\n\nI did a performance test using the sysbench.\n\n#sysbench --num-threads\u003d16 --max-requests\u003d200000 --test\u003dfileio --file-num\u003d1\n--file-block-size\u003d8K --file-total-size\u003d2G --file-test-mode\u003drndrw --file-fsync-freq\u003d0\n--file-rw-ratio\u003d1 run\n\n-2.6.29-rc6\nTest execution summary:\n    total time:                          202.6389s\n    total number of events:              200000\n    total time taken by event execution: 2580.0480\n    per-request statistics:\n         min:                            0.0000s\n         avg:                            0.0129s\n         max:                            49.5852s\n         approx.  95 percentile:         0.0462s\n\n-2.6.29-rc6-patched\nTest execution summary:\n    total time:                          177.8639s\n    total number of events:              200000\n    total time taken by event execution: 2419.0199\n    per-request statistics:\n         min:                            0.0000s\n         avg:                            0.0121s\n         max:                            52.4306s\n         approx.  95 percentile:         0.0444s\n\narch: ia64\npagesize: 16k\nblocksize: 4k\n\nSigned-off-by: Hisashi Hifumi \u003chifumi.hisashi@oss.ntt.co.jp\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "02ab1721591f7ac1f632fc74b301513bd6f5849f",
      "tree": "84fa9db6e81af5da0a8d95268f5803dece2552c6",
      "parents": [
        "075ac44875323941210335b3b0abc1895356d919"
      ],
      "author": {
        "name": "Hannes Eder",
        "email": "hannes@hanneseder.net",
        "time": "Sat Feb 21 02:12:05 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:25 2009 +0000"
      },
      "message": "GFS2: fix sparse warning: Should it be static?\n\nImpact: Make symbol static.\n\nFix this sparse warning:\n  fs/gfs2/rgrp.c:188:5: warning: symbol \u0027gfs2_bitfit\u0027 was not declared. Should it be static?\n\nSigned-off-by: Hannes Eder \u003channes@hanneseder.net\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "075ac44875323941210335b3b0abc1895356d919",
      "tree": "aeec6511137f516962573f4e733fef9f9831ce9c",
      "parents": [
        "b9a9694570756e689068f0450cf3c570f74b2b01"
      ],
      "author": {
        "name": "Hannes Eder",
        "email": "hannes@hanneseder.net",
        "time": "Sat Feb 21 02:11:42 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:24 2009 +0000"
      },
      "message": "GFS2: fix sparse warnings: constant is so big it is ...\n\nFix this sparse warnings:\n  fs/gfs2/rgrp.c:156:23: warning: constant 0xffffffffffffffff is so big it is unsigned long long\n  fs/gfs2/rgrp.c:157:23: warning: constant 0xaaaaaaaaaaaaaaaa is so big it is unsigned long long\n  fs/gfs2/rgrp.c:158:23: warning: constant 0x5555555555555555 is so big it is long long\n  fs/gfs2/rgrp.c:194:20: warning: constant 0x5555555555555555 is so big it is long long\n  fs/gfs2/rgrp.c:204:44: warning: constant 0x5555555555555555 is so big it is long long\n\nSigned-off-by: Hannes Eder \u003channes@hanneseder.net\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b9a9694570756e689068f0450cf3c570f74b2b01",
      "tree": "7f16f153d04cf1ce9f5fb2f07a9e7f5a0182addb",
      "parents": [
        "223b2b889f379dcea9cef722336a57e8b398bc95"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Feb 19 10:32:35 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:23 2009 +0000"
      },
      "message": "GFS2: Support quota/noquota mount arguments\n\nThis adds support for \"quota\" and \"noquota\" mount options in addition to the\nexisting \"quota\u003don/off/account\" so that we are compatible with the names by\nwhich these options are more generally known.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "223b2b889f379dcea9cef722336a57e8b398bc95",
      "tree": "a377d9be5eb756bac3d1866cbb6171cae6ef7dde",
      "parents": [
        "64d576ba23bfd9b770cbb0279200f479272eb859"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Feb 17 14:13:35 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:22 2009 +0000"
      },
      "message": "GFS2: Fix alignment issue and tidy gfs2_bitfit\n\nAn alignment issue with the existing bitfit algorithm was reported\non IA64. This patch attempts to fix that, and also to tidy up the\ncode a bit. There is now more documentation about how this works\nand it has survived a number of different tests.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "64d576ba23bfd9b770cbb0279200f479272eb859",
      "tree": "8c119b0e45d288035fc24fd43cf5286da1947fb1",
      "parents": [
        "02e3cc70ecbd4352ae4d26459929f43ab1547251"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Feb 12 13:31:58 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:22 2009 +0000"
      },
      "message": "GFS2: Add a \"demote a glock\" interface to sysfs\n\nThis adds a sysfs file called demote_rq to GFS2\u0027s\nper filesystem directory. Its possible to use this\nfile to demote arbitrary glocks in exactly the same\nway as if a request had come in from a remote node.\n\nThis is intended for testing issues relating to caching\nof data under glocks. Despite that, the interface is\ngeneric enough to send requests to any type of glock,\nbut be careful as its not always safe to send an\narbitrary message to an arbitrary glock. For that reason\nand to prevent DoS, this interface is restricted to root\nonly.\n\nThe messages look like this:\n\n\u003ctype\u003e:\u003cglocknumber\u003e \u003cmode\u003e\n\nExample:\n\necho -n \"2:13324 EX\" \u003e/sys/fs/gfs2/unity:myfs/demote_rq\n\nWhich means \"please demote inode glock (type 2) number 13324 so that\nI can get an EX (exclusive) lock\". The lock modes are those which\nwould normally be sent by a remote node in its callback so if you\nwant to unlock a glock, you use EX, to demote to shared, use SH or PR\n(depending on whether you like GFS2 or DLM lock modes better!).\n\nIf the glock doesn\u0027t exist, you\u0027ll get -ENOENT returned. If the\narguments don\u0027t make sense, you\u0027ll get -EINVAL returned.\n\nThe plan is that this interface will be used in combination with\nthe blktrace patch which I recently posted for comments although\nit is, of course, still useful in its own right.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "02e3cc70ecbd4352ae4d26459929f43ab1547251",
      "tree": "56d0dd9501481545e592430e408e5cf1495ed373",
      "parents": [
        "f15ab5619d8068a321094f4705147764d689e88e"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Feb 10 13:48:30 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:21 2009 +0000"
      },
      "message": "GFS2: Expose UUID via sysfs/uevent\n\nSince we have a UUID, we ought to expose it to the user via sysfs\nand uevents. We already have the fs name in both of these places\n(a combination of the lock proto and lock table name) so if we add\nthe UUID as well, we have a full set.\n\nFor older filesystems (i.e. those created before mkfs.gfs2 was writing\nUUIDs by default) the sysfs file will appear zero length, and no UUID\nenv var will be added to the uevents.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "f15ab5619d8068a321094f4705147764d689e88e",
      "tree": "c08044e928dff4628b0aa6ea17d6bc5fb922d5dc",
      "parents": [
        "d8348de06f704fc34d24ec068546ecb1045fc11a"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Feb 09 09:25:01 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:20 2009 +0000"
      },
      "message": "GFS2: Support generation of discard requests\n\nThis patch allows GFS2 to generate discard requests for blocks which are\nno longer useful to the filesystem (i.e. those which have been freed as\nthe result of an unlink operation). The requests are generated at the\ntime which those blocks become available for reuse in the filesystem.\n\nIn order to use this new feature, you have to specify the \"discard\"\nmount option. The code coalesces adjacent blocks into a single extent\nwhen generating the discard requests, thus generating the minimum\nnumber.\n\nIf an error occurs when the request has been sent to the block device,\nthen it will print a message and turn off the requests for that\nfilesystem. If the problem is temporary, then you can use remount to\nturn the option back on again. There is also a nodiscard mount option\nso that you can use remount to turn discard requests off, if required.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "d8348de06f704fc34d24ec068546ecb1045fc11a",
      "tree": "e6b7eb01ec128e40b255b903e3c6629fbd8174e5",
      "parents": [
        "e7c8707ea2b9106f0f78c43348ff5d5e82ba7961"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Feb 05 10:12:38 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:18 2009 +0000"
      },
      "message": "GFS2: Fix deadlock on journal flush\n\nThis patch fixes a deadlock when the journal is flushed and there\nare dirty inodes other than the one which caused the journal flush.\nOriginally the journal flushing code was trying to obtain the\ntransaction glock while running the flush code for an inode glock.\nWe no longer require the transaction glock at this point in time\nsince we know that any attempt to get the transaction glock from\nanother node will result in a journal flush. So if we are flushing\nthe journal, we can be sure that the transaction lock is still\ncached from when the transaction was started.\n\nBy inlining a version of gfs2_trans_begin() (minus the bit which\ngets the transaction glock) we can avoid the deadlock problems\ncaused if there is a demote request queued up on the transaction\nglock.\n\nIn addition I\u0027ve also moved the umount rwsem so that it covers\nthe glock workqueue, since it all demotions are done by this\nworkqueue now. That fixes a bug on umount which I came across\nwhile fixing the original problem.\n\nReported-by: David Teigland \u003cteigland@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e7c8707ea2b9106f0f78c43348ff5d5e82ba7961",
      "tree": "0e2de02adb03b9adccc1e8997782cc8c7561d8e8",
      "parents": [
        "ac2425e7d319dec0523e52ee120a158ce6668cbd"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jan 20 16:39:23 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:17 2009 +0000"
      },
      "message": "GFS2: Fix error path ref counting for root inode\n\nWe were keeping hold of an extra ref to the root inode in one\nof the error paths, that resulted in a hang.\n\nReported-by: Nate Straz \u003cnstraz@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nTested-by: Robert Peterson \u003crpeterso@redhat.com\u003e\n"
    },
    {
      "commit": "ac2425e7d319dec0523e52ee120a158ce6668cbd",
      "tree": "eda6ebb0e1db3caad8b23e6417fd1c311f43e6cd",
      "parents": [
        "f057f6cdf64175db1151b1f5d110e29904f119a1"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jan 13 09:53:43 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:17 2009 +0000"
      },
      "message": "GFS2: Remove unused field from glock\n\nThe time stamp field is unused in the glock now that we are\nusing a shrinker, so that we can remove it and save sizeof(unsigned long)\nbytes in each glock.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "f057f6cdf64175db1151b1f5d110e29904f119a1",
      "tree": "582dbf358e351f64977620c29ebf772d693b1948",
      "parents": [
        "22077f57dec8fcbeb1112b35313961c0902ff038"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Jan 12 10:43:39 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:14 2009 +0000"
      },
      "message": "GFS2: Merge lock_dlm module into GFS2\n\nThis is the big patch that I\u0027ve been working on for some time\nnow. There are many reasons for wanting to make this change\nsuch as:\n o Reducing overhead by eliminating duplicated fields between structures\n o Simplifcation of the code (reduces the code size by a fair bit)\n o The locking interface is now the DLM interface itself as proposed\n   some time ago.\n o Fewer lookups of glocks when processing replies from the DLM\n o Fewer memory allocations/deallocations for each glock\n o Scope to do further optimisations in the future (but this patch is\n   more than big enough for now!)\n\nPlease note that (a) this patch relates to the lock_dlm module and\nnot the DLM itself, that is still a separate module; and (b) that\nwe retain the ability to build GFS2 as a standalone single node\nfilesystem with out requiring the DLM.\n\nThis patch needs a lot of testing, hence my keeping it I restarted\nmy -git tree after the last merge window. That way, this has the maximum\nexposure before its merged. This is (modulo a few minor bug fixes) the\nsame patch that I\u0027ve been posting on and off the the last three months\nand its passed a number of different tests so far.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "22077f57dec8fcbeb1112b35313961c0902ff038",
      "tree": "d3d871fe31b8ac922a09e28202c348d186d2dca3",
      "parents": [
        "0a7ab79c5b5a16035e09b466c9013c8afc3b4bff"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Jan 08 14:28:42 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:13 2009 +0000"
      },
      "message": "GFS2: Remove \"double\" locking in quota\n\nWe only really need a single spin lock for the quota data, so\nlets just use the lru lock for now.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Abhijith Das \u003cadas@redhat.com\u003e\n"
    },
    {
      "commit": "0a7ab79c5b5a16035e09b466c9013c8afc3b4bff",
      "tree": "bb82ea7f936b334b4de184288bc951f1642e9541",
      "parents": [
        "2db2aac255c38e75ad17c0b24feb589ccfccc0ae"
      ],
      "author": {
        "name": "Abhijith Das",
        "email": "adas@redhat.com",
        "time": "Wed Jan 07 16:03:37 2009 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:12 2009 +0000"
      },
      "message": "GFS2: change gfs2_quota_scan into a shrinker\n\nDeallocation of gfs2_quota_data objects now happens on-demand through a\nshrinker instead of routinely deallocating through the quotad daemon.\n\nSigned-off-by: Abhijith Das \u003cadas@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "2db2aac255c38e75ad17c0b24feb589ccfccc0ae",
      "tree": "415ebd9f9eb8343abc5fdf8d8605516dbebf15ea",
      "parents": [
        "6f04c1c7fe9566d777fb7961391690866839e722"
      ],
      "author": {
        "name": "Abhijith Das",
        "email": "adas@redhat.com",
        "time": "Wed Jan 07 10:21:34 2009 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:11 2009 +0000"
      },
      "message": "GFS2: Bring back lvb-related stuff to lock_nolock to support quotas\n\nThe quota code uses lvbs and this is currently not implemented in\nlock_nolock, thereby causing panics when quota is enabled with\nlock_nolock. This patch adds the relevant bits.\n\nSigned-off-by: Abhijith Das \u003cadas@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "6f04c1c7fe9566d777fb7961391690866839e722",
      "tree": "de864fb7c56ef59a799c7fddc713bdb16bb4435c",
      "parents": [
        "8e0ee43bc2c3e19db56a4adaa9a9b04ce885cd84"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jan 06 11:52:25 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "steve@dolmen.chygwyn.com",
        "time": "Tue Mar 24 11:21:10 2009 +0000"
      },
      "message": "GFS2: Fix remount argument parsing\n\nThe following patch fixes an issue relating to remount and argument\nparsing. After this fix is applied, remount becomes atomic in that\nit either succeeds changing the mount to the new state, or it fails\nand leaves it in the old state. Previously it was possible for the\nparsing of options to fail part way though and for the fs to be left\nin a state where some of the new arguments had been applied, but some\nhad not.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "703a3cd72817e99201cef84a8a7aecc60b2b3581",
      "tree": "3e943755178ff410694722bb031f523136fbc432",
      "parents": [
        "df7f54c012b92ec93d56b68547351dcdf8a163d3",
        "8e0ee43bc2c3e19db56a4adaa9a9b04ce885cd84"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 24 10:52:46 2009 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 24 10:52:46 2009 +1100"
      },
      "message": "Merge branch \u0027master\u0027 into next\n"
    },
    {
      "commit": "f762dd68218665bb87d4e4a0eeac86fde7530293",
      "tree": "f5076d7f587f0c80235ebd558e94a8e9728e6f5a",
      "parents": [
        "2aac0cf88681bfa092f731553bc7fbd23516be73"
      ],
      "author": {
        "name": "Gertjan van Wingerde",
        "email": "gwingerde@gmail.com",
        "time": "Sat Mar 21 23:18:57 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 22 11:28:37 2009 -0700"
      },
      "message": "Update my email address\n\nUpdate all previous incarnations of my email address to the correct one.\n\nSigned-off-by: Gertjan van Wingerde \u003cgwingerde@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2aac0cf88681bfa092f731553bc7fbd23516be73",
      "tree": "b723cbe9c67b0cafa9081690d03b4ecec038d9f6",
      "parents": [
        "8faece5f906725c10e7a1f6caf84452abadbdc7b"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Fri Mar 20 02:23:57 2009 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 22 11:20:43 2009 -0700"
      },
      "message": "eCryptfs: NULL crypt_stat dereference during lookup\n\nIf ecryptfs_encrypted_view or ecryptfs_xattr_metadata were being\nspecified as mount options, a NULL pointer dereference of crypt_stat\nwas possible during lookup.\n\nThis patch moves the crypt_stat assignment into\necryptfs_lookup_and_interpose_lower(), ensuring that crypt_stat\nwill not be NULL before we attempt to dereference it.\n\nThanks to Dan Carpenter and his static analysis tool, smatch, for\nfinding this bug.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\nAcked-by: Dustin Kirkland \u003ckirkland@canonical.com\u003e\nCc: Dan Carpenter \u003cerror27@gmail.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8faece5f906725c10e7a1f6caf84452abadbdc7b",
      "tree": "bbe7d6cba67c909fbc86fc63dbfa1cf0d3cb12bc",
      "parents": [
        "18a0d89e54ca0f6f33582f99ae39867b2c975559"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Fri Mar 20 01:25:09 2009 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 22 11:20:43 2009 -0700"
      },
      "message": "eCryptfs: Allocate a variable number of pages for file headers\n\nWhen allocating the memory used to store the eCryptfs header contents, a\nsingle, zeroed page was being allocated with get_zeroed_page().\nHowever, the size of an eCryptfs header is either PAGE_CACHE_SIZE or\nECRYPTFS_MINIMUM_HEADER_EXTENT_SIZE (8192), whichever is larger, and is\nstored in the file\u0027s private_data-\u003ecrypt_stat-\u003enum_header_bytes_at_front\nfield.\n\necryptfs_write_metadata_to_contents() was using\nnum_header_bytes_at_front to decide how many bytes should be written to\nthe lower filesystem for the file header.  Unfortunately, at least 8K\nwas being written from the page, despite the chance of the single,\nzeroed page being smaller than 8K.  This resulted in random areas of\nkernel memory being written between the 0x1000 and 0x1FFF bytes offsets\nin the eCryptfs file headers if PAGE_SIZE was 4K.\n\nThis patch allocates a variable number of pages, calculated with\nnum_header_bytes_at_front, and passes the number of allocated pages\nalong to ecryptfs_write_metadata_to_contents().\n\nThanks to Florian Streibelt for reporting the data leak and working with\nme to find the problem.  2.6.28 is the only kernel release with this\nvulnerability.  Corresponds to CVE-2009-0787\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\nAcked-by: Dustin Kirkland \u003ckirkland@canonical.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nReviewed-by: Eugene Teo \u003ceugeneteo@kernel.sg\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: dann frazier \u003cdannf@dannf.org\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Florian Streibelt \u003cflorian@f-streibelt.de\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "65c24491b4fef017c64e39ec64384fde5e05e0a0",
      "tree": "3afa5c9eace50837f3c31238102358cf67b8a1ff",
      "parents": [
        "87c3a86e1c220121d0ced59d1a71e78ed9abc6dd"
      ],
      "author": {
        "name": "Jeff Moyer",
        "email": "jmoyer@redhat.com",
        "time": "Wed Mar 18 17:04:21 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 19 15:57:18 2009 -0700"
      },
      "message": "aio: lookup_ioctx can return the wrong value when looking up a bogus context\n\nThe libaio test harness turned up a problem whereby lookup_ioctx on a\nbogus io context was returning the 1 valid io context from the list\n(harness/cases/3.p).\n\nBecause of that, an extra put_iocontext was done, and when the process\nexited, it hit a BUG_ON in the put_iocontext macro called from exit_aio\n(since we expect a users count of 1 and instead get 0).\n\nThe problem was introduced by \"aio: make the lookup_ioctx() lockless\"\n(commit abf137dd7712132ee56d5b3143c2ff61a72a5faa).\n\nThanks to Zach for pointing out that hlist_for_each_entry_rcu will not\nreturn with a NULL tpos at the end of the loop, even if the entry was\nnot found.\n\nSigned-off-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nAcked-by: Zach Brown \u003czach.brown@oracle.com\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "87c3a86e1c220121d0ced59d1a71e78ed9abc6dd",
      "tree": "f0460d0a5f34da0c3df3cc729b705fc93a69be4b",
      "parents": [
        "d0115552cdb0b4d4146975889fee2e9355515c4b"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Wed Mar 18 17:04:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 19 15:57:18 2009 -0700"
      },
      "message": "eventfd: remove fput() call from possible IRQ context\n\nRemove a source of fput() call from inside IRQ context.  Myself, like Eric,\nwasn\u0027t able to reproduce an fput() call from IRQ context, but Jeff said he was\nable to, with the attached test program.  Independently from this, the bug is\nconceptually there, so we might be better off fixing it.  This patch adds an\noptimization similar to the one we already do on -\u003eki_filp, on -\u003eki_eventfd.\nPlaying with -\u003ef_count directly is not pretty in general, but the alternative\nhere would be to add a brand new delayed fput() infrastructure, that I\u0027m not\nsure is worth it.\n\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCc: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe2fd6cc346cc7199a52250e8fb594852b2a321b",
      "tree": "d5a796b695c682165e014fc535cc04d3510c4e7f",
      "parents": [
        "a8e7d49aa7be728c4ae241a75a2a124cdcabc0c5",
        "913d952eb573c3d1f7487e83b5590e13e7cae2bd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 19 14:49:55 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 19 14:49:55 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:\n  Btrfs: Clear space_info full when adding new devices\n  Btrfs: Fix locking around adding new space_info\n"
    },
    {
      "commit": "a8e7d49aa7be728c4ae241a75a2a124cdcabc0c5",
      "tree": "fec49351496b886d8aa0e7b55e58c2f1394b051a",
      "parents": [
        "68df3755e383e6fecf2354a67b08f92f18536594"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 19 11:32:05 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 19 11:32:05 2009 -0700"
      },
      "message": "Fix race in create_empty_buffers() vs __set_page_dirty_buffers()\n\nNick Piggin noticed this (very unlikely) race between setting a page\ndirty and creating the buffers for it - we need to hold the mapping\nprivate_lock until we\u0027ve set the page dirty bit in order to make sure\nthat create_empty_buffers() might not build up a set of buffers without\nthe dirty bits set when the page is dirty.\n\nI doubt anybody has ever hit this race (and it didn\u0027t solve the issue\nNick was looking at), but as Nick says: \"Still, it does appear to solve\na real race, which we should close.\"\n\nAcked-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "85bff8857c62ab2bc3ed204de3fcde74781bbdb2",
      "tree": "9d5c8998f4c13f2b9525897ef546559c8fd49cf5",
      "parents": [
        "d941d0ed6bf274ca267dd4de5861ffd24e1ae8f8",
        "76a67ec6fb79ff3570dcb5342142c16098299911"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 18 09:27:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 18 09:27:20 2009 -0700"
      },
      "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:\n  nfsd: nfsd should drop CAP_MKNOD for non-root\n  NFSD: provide encode routine for OP_OPENATTR\n"
    },
    {
      "commit": "b363b3304bcf68c4541683b2eff70b29f0446a5b",
      "tree": "da2a563b452cc14f900394f3ad56aa47701c5ea5",
      "parents": [
        "c6c00919ab16717f228aac20ee72dc83c4430537"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Mar 18 05:57:22 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Mar 18 05:57:22 2009 +0000"
      },
      "message": "[CIFS] Fix memory overwrite when saving nativeFileSystem field during mount\n\nCIFS can allocate a few bytes to little for the nativeFileSystem field\nduring tree connect response processing during mount.  This can result\nin a \"Redzone overwritten\" message to be logged.\n\nSigned-off-by: Sridhar Vinay \u003cvinaysridhar@in.ibm.com\u003e\nAcked-by: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nCC: Stable \u003cstable@kernel.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "c6c00919ab16717f228aac20ee72dc83c4430537",
      "tree": "d9843d5c174d4f3761aa7c5f49f9dd9247a7b7f3",
      "parents": [
        "64cc2c63694a03393985ffc8b178e72f52dd8a06"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Mar 18 05:50:07 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Mar 18 05:50:07 2009 +0000"
      },
      "message": "[CIFS]  Rename compose_mount_options to cifs_compose_mount_options.\n\nMake it available to others for reuse.\n\nSigned-off-by: Igor Mammedov \u003cniallain@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "58cefd2b1e062147502302179503dc51907426d1",
      "tree": "d6e5e83c6205ad3184f7c2826807e8786e528383",
      "parents": [
        "ee568b25ee9e160b32d1aef73d8b2ee9c05d34db",
        "d33a1976fbee1ee321d6f014333d8f03a39d526c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 17 20:55:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 17 20:55:40 2009 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: fix bb_prealloc_list corruption due to wrong group locking\n  ext4: fix bogus BUG_ONs in in mballoc code\n  ext4: Print the find_group_flex() warning only once\n  ext4: fix header check in ext4_ext_search_right() for deep extent trees.\n"
    },
    {
      "commit": "84f09f46b4ee9e4e9b6381f8af31817516d2091b",
      "tree": "33fd95cf666577e0f1b592719851da09de7c0f5c",
      "parents": [
        "ee568b25ee9e160b32d1aef73d8b2ee9c05d34db"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Mar 04 23:05:35 2009 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Mar 17 14:54:45 2009 -0400"
      },
      "message": "NFSD: provide encode routine for OP_OPENATTR\n\nAlthough this operation is unsupported by our implementation\nwe still need to provide an encode routine for it to\nmerely encode its (error) status back in the compound reply.\n\nThanks for Bill Baker at sun.com for testing with the Sun\nOpenSolaris\u0027 client, finding, and reporting this bug at\nConnectathon 2009.\n\nThis bug was introduced in 2.6.27\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nCc: stable@kernel.org\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ee568b25ee9e160b32d1aef73d8b2ee9c05d34db",
      "tree": "a29f070d82e6f787570213161c4c46c16ca6ef8a",
      "parents": [
        "30390880debce4a68fd23e87a787f27609e4bf4a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 17 10:02:35 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 17 10:02:35 2009 -0700"
      },
      "message": "Avoid 64-bit \"switch()\" statements on 32-bit architectures\n\nCommit ee6f779b9e0851e2f7da292a9f58e0095edf615a (\"filp-\u003ef_pos not\ncorrectly updated in proc_task_readdir\") changed the proc code to use\nfilp-\u003ef_pos directly, rather than through a temporary variable.  In the\nprocess, that caused the operations to be done on the full 64 bits, even\nthough the offset is never that big.\n\nThat\u0027s all fine and dandy per se, but for some unfathomable reason gcc\ngenerates absolutely horrid code when using 64-bit values in switch()\nstatements.  To the point of actually calling out to gcc helper\nfunctions like __cmpdi2 rather than just doing the trivial comparisons\ndirectly the way gcc does for normal compares.  At which point we get\nlink failures, because we really don\u0027t want to support that kind of\ncrazy code.\n\nFix this by just casting the f_pos value to \"unsigned long\", which\nis plenty big enough for /proc, and avoids the gcc code generation issue.\n\nReported-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Zhang Le \u003cr0bertz@gentoo.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d33a1976fbee1ee321d6f014333d8f03a39d526c",
      "tree": "9cc0de162cd0cba81d08ea1d0e505be6b2d54361",
      "parents": [
        "8d03c7a0c550e7ab24cadcef5e66656bfadec8b9"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Mar 16 23:25:40 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Mar 16 23:25:40 2009 -0400"
      },
      "message": "ext4: fix bb_prealloc_list corruption due to wrong group locking\n\nThis is for Red Hat bug 490026: EXT4 panic, list corruption in\next4_mb_new_inode_pa\n\next4_lock_group(sb, group) is supposed to protect this list for\neach group, and a common code flow to remove an album is like\nthis:\n\n    ext4_get_group_no_and_offset(sb, pa-\u003epa_pstart, \u0026grp, NULL);\n    ext4_lock_group(sb, grp);\n    list_del(\u0026pa-\u003epa_group_list);\n    ext4_unlock_group(sb, grp);\n\nso it\u0027s critical that we get the right group number back for\nthis prealloc context, to lock the right group (the one \nassociated with this pa) and prevent concurrent list manipulation.\n\nhowever, ext4_mb_put_pa() passes in (pa-\u003epa_pstart - 1) with a \ncomment, \"-1 is to protect from crossing allocation group\".\n\nThis makes sense for the group_pa, where pa_pstart is advanced\nby the length which has been used (in ext4_mb_release_context()),\nand when the entire length has been used, pa_pstart has been\nadvanced to the first block of the next group.\n\nHowever, for inode_pa, pa_pstart is never advanced; it\u0027s just\nset once to the first block in the group and not moved after\nthat.  So in this case, if we subtract one in ext4_mb_put_pa(),\nwe are actually locking the *previous* group, and opening the\nrace with the other threads which do not subtract off the extra\nblock.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "ee6f779b9e0851e2f7da292a9f58e0095edf615a",
      "tree": "71aa57da0fea292c50b12d9ef73373fcd940162e",
      "parents": [
        "5bee17f18b595937e6beafeee5197868a3f74a06"
      ],
      "author": {
        "name": "Zhang Le",
        "email": "r0bertz@gentoo.org",
        "time": "Mon Mar 16 14:44:31 2009 +0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 16 07:51:33 2009 -0700"
      },
      "message": "filp-\u003ef_pos not correctly updated in proc_task_readdir\n\nfilp-\u003ef_pos only get updated at the end of the function. Thus d_off of those\ndirents who are in the middle will be 0, and this will cause a problem in\nglibc\u0027s readdir implementation, specifically endless loop. Because when overflow\noccurs, f_pos will be set to next dirent to read, however it will be 0, unless\nthe next one is the last one. So it will start over again and again.\n\nThere is a sample program in man 2 gendents. This is the output of the program\nrunning on a multithread program\u0027s task dir before this patch is applied:\n\n  $ ./a.out /proc/3807/task\n  --------------- nread\u003d128 ---------------\n  i-node#  file type  d_reclen  d_off   d_name\n    506442  directory    16          1  .\n    506441  directory    16          0  ..\n    506443  directory    16          0  3807\n    506444  directory    16          0  3809\n    506445  directory    16          0  3812\n    506446  directory    16          0  3861\n    506447  directory    16          0  3862\n    506448  directory    16          8  3863\n\nThis is the output after this patch is applied\n\n  $ ./a.out /proc/3807/task\n  --------------- nread\u003d128 ---------------\n  i-node#  file type  d_reclen  d_off   d_name\n    506442  directory    16          1  .\n    506441  directory    16          2  ..\n    506443  directory    16          3  3807\n    506444  directory    16          4  3809\n    506445  directory    16          5  3812\n    506446  directory    16          6  3861\n    506447  directory    16          7  3862\n    506448  directory    16          8  3863\n\nSigned-off-by: Zhang Le \u003cr0bertz@gentoo.org\u003e\nAcked-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "60aa49243d09afc873f082567d2e3c16634ced84",
      "tree": "bb7c8d9668b35a3aa4e90d0a62500ac9d3e67f7f",
      "parents": [
        "76398425bb06b07cc3a3b1ce169c67dc9d6874ed"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Sun Feb 01 14:52:56 2009 -0700"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Mon Mar 16 08:34:35 2009 -0600"
      },
      "message": "Rationalize fasync return values\n\nMost fasync implementations do something like:\n\n     return fasync_helper(...);\n\nBut fasync_helper() will return a positive value at times - a feature used\nin at least one place.  Thus, a number of other drivers do:\n\n     err \u003d fasync_helper(...);\n     if (err \u003c 0)\n             return err;\n     return 0;\n\nIn the interests of consistency and more concise code, it makes sense to\nmap positive return values onto zero where -\u003efasync() is called.\n\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\n"
    },
    {
      "commit": "76398425bb06b07cc3a3b1ce169c67dc9d6874ed",
      "tree": "e6e1800edda88b5592617a950daacf2199587a33",
      "parents": [
        "db1dd4d376134eba0e08af523b61cc566a4ea1cd"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Sun Feb 01 14:26:59 2009 -0700"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Mon Mar 16 08:32:27 2009 -0600"
      },
      "message": "Move FASYNC bit handling to f_op-\u003efasync()\n\nRemoving the BKL from FASYNC handling ran into the challenge of keeping the\nsetting of the FASYNC bit in filp-\u003ef_flags atomic with regard to calls to\nthe underlying fasync() function.  Andi Kleen suggested moving the handling\nof that bit into fasync(); this patch does exactly that.  As a result, we\nhave a couple of internal API changes: fasync() must now manage the FASYNC\nbit, and it will be called without the BKL held.\n\nAs it happens, every fasync() implementation in the kernel with one\nexception calls fasync_helper().  So, if we make fasync_helper() set the\nFASYNC bit, we can avoid making any changes to the other fasync()\nfunctions - as long as those functions, themselves, have proper locking.\nMost fasync() implementations do nothing but call fasync_helper() - which\nhas its own lock - so they are easily verified as correct.  The BKL had\nalready been pushed down into the rest.\n\nThe networking code has its own version of fasync_helper(), so that code\nhas been augmented with explicit FASYNC bit handling.\n\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\n"
    },
    {
      "commit": "db1dd4d376134eba0e08af523b61cc566a4ea1cd",
      "tree": "8882c673abbaa5713511b7046493fa862b9140d1",
      "parents": [
        "684999149002dd046269666a390458e0acb38280"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Fri Feb 06 15:25:24 2009 -0700"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Mon Mar 16 08:32:27 2009 -0600"
      },
      "message": "Use f_lock to protect f_flags\n\nTraditionally, changes to struct file-\u003ef_flags have been done under BKL\nprotection, or with no protection at all.  This patch causes all f_flags\nchanges after file open/creation time to be done under protection of\nf_lock.  This allows the removal of some BKL usage and fixes a number of\nlongstanding (if microscopic) races.\n\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\n"
    },
    {
      "commit": "684999149002dd046269666a390458e0acb38280",
      "tree": "b12ea4a953ba2bd90428092e7f35a222a4109510",
      "parents": [
        "041b62374c7fedc11a8a1eeda2868612d3d1436c"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Fri Feb 06 13:52:43 2009 -0700"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Mon Mar 16 08:32:27 2009 -0600"
      },
      "message": "Rename struct file-\u003ef_ep_lock\n\nThis lock moves out of the CONFIG_EPOLL ifdef and becomes f_lock.  For now,\nepoll remains the only user, but a future patch will use it to protect\nf_flags as well.\n\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\n"
    },
    {
      "commit": "18553c38bcdef9b0cc69a784cd033a8a21bfa012",
      "tree": "03b2b4f92a5ccb3416adb69196248751e3a1d0c2",
      "parents": [
        "326d8519fc97be186c55ac605c3a7c957c758ae1",
        "bfbd442f69ec9c58590ffc6e93ac8d6809caa48b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 14 13:43:18 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 14 13:43:18 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  Fix Xilinx SystemACE driver to handle empty CF slot\n  block: fix memory leak in bio_clone()\n  block: Add gfp_mask parameter to bio_integrity_clone()\n"
    },
    {
      "commit": "059ea3318c8ede71851a52b4359fbf1ab0cec301",
      "tree": "29a70645e27947d820884b1249d0d7f26b8ea0d8",
      "parents": [
        "87092698c665e0a358caf9825ae13114343027e8"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon Mar 09 10:42:45 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Mar 14 21:06:52 2009 +0100"
      },
      "message": "block: fix memory leak in bio_clone()\n\nIf bio_integrity_clone() fails, bio_clone() returns NULL without freeing\nthe newly allocated bio.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "87092698c665e0a358caf9825ae13114343027e8",
      "tree": "4003d12a76e1cd5b50d275a0aef536d4a86d0092",
      "parents": [
        "041b62374c7fedc11a8a1eeda2868612d3d1436c"
      ],
      "author": {
        "name": "un\u0027ichi Nomura",
        "email": "j-nomura@ce.jp.nec.com",
        "time": "Mon Mar 09 10:40:52 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Mar 14 21:06:51 2009 +0100"
      },
      "message": "block: Add gfp_mask parameter to bio_integrity_clone()\n\nStricter gfp_mask might be required for clone allocation.\nFor example, request-based dm may clone bio in interrupt context\nso it has to use GFP_ATOMIC.\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nAcked-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nCc: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f1823acfbcc7d29029d6db757644bc820664af37",
      "tree": "bf7839d0976f90c638b4f7806be8ee16f3b786a7",
      "parents": [
        "ff9cb43ce09a9069f0ec95375d2f403578ec4977",
        "9f4c899c0d90e1b51b6864834f3877b47c161a0e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 14 12:00:18 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 14 12:00:18 2009 -0700"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFS: Fix the fix to Bugzilla #11061, when IPv6 isn\u0027t defined...\n  SUNRPC: xprt_connect() don\u0027t abort the task if the transport isn\u0027t bound\n  SUNRPC: Fix an Oops due to socket not set up yet...\n  Bug 11061, NFS mounts dropped\n  NFS: Handle -ESTALE error in access()\n  NLM: Fix GRANT callback address comparison when IPv6 is enabled\n  NLM: Shrink the IPv4-only version of nlm_cmp_addr()\n  NFSv3: Fix posix ACL code\n  NFS: Fix misparsing of nfsv4 fs_locations attribute (take 2)\n  SUNRPC: Tighten up the task locking rules in __rpc_execute()\n"
    },
    {
      "commit": "ff9cb43ce09a9069f0ec95375d2f403578ec4977",
      "tree": "e31981c31f663d98ddb02021d25c44c75f0355f1",
      "parents": [
        "2a4c13baebe30613cfa2c99d6a076f3a114dad9c",
        "712e53e46a1da35fcd88c05aa0c675b10f7c0e9d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 14 11:59:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 14 11:59:22 2009 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2:\n  ocfs2: Use xs-\u003ebucket to set xattr value outside\n  ocfs2: Fix a bug found by sparse check.\n  ocfs2: tweak to get the maximum inline data size with xattr\n  ocfs2: reserve xattr block for new directory with inline data\n"
    },
    {
      "commit": "84814d642a4f1f294bd675ab11aae1ca54c6cedb",
      "tree": "4ae91cce54c8d9578dc3217b6454a921b91833a3",
      "parents": [
        "15e7b8767605dc0cb9bd4594caabfec392385210"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Fri Mar 13 13:51:59 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 14 11:57:22 2009 -0700"
      },
      "message": "eCryptfs: don\u0027t encrypt file key with filename key\n\neCryptfs has file encryption keys (FEK), file encryption key encryption\nkeys (FEKEK), and filename encryption keys (FNEK).  The per-file FEK is\nencrypted with one or more FEKEKs and stored in the header of the\nencrypted file.  I noticed that the FEK is also being encrypted by the\nFNEK.  This is a problem if a user wants to use a different FNEK than\ntheir FEKEK, as their file contents will still be accessible with the\nFNEK.\n\nThis is a minimalistic patch which prevents the FNEKs signatures from\nbeing copied to the inode signatures list.  Ultimately, it keeps the FEK\nfrom being encrypted with a FNEK.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Dustin Kirkland \u003ckirkland@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "15e7b8767605dc0cb9bd4594caabfec392385210",
      "tree": "3826c146f7ecce8188d76d83c5bf2875e5890909",
      "parents": [
        "020fe22ff14320927f394de222cbb11708bcc7a8"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Fri Mar 13 13:51:58 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 14 11:57:22 2009 -0700"
      },
      "message": "nommu: ramfs: don\u0027t leak pages when adding to page cache fails\n\nWhen a ramfs nommu mapping is expanded, contiguous pages are allocated\nand added to the pagecache.  The caller\u0027s reference is then passed on\nby moving whole pagevecs to the file lru list.\n\nIf the page cache adding fails, make sure that the error path also\nmoves the pagevec contents which might still contain up to PAGEVEC_SIZE\nsuccessfully added pages, of which we would leak references otherwise.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Enrik Berkhan \u003cEnrik.Berkhan@ge.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: 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": "020fe22ff14320927f394de222cbb11708bcc7a8",
      "tree": "1445c0134136c4aa84c9cb6aedd3043fae60f167",
      "parents": [
        "041b62374c7fedc11a8a1eeda2868612d3d1436c"
      ],
      "author": {
        "name": "Enrik Berkhan",
        "email": "Enrik.Berkhan@ge.com",
        "time": "Fri Mar 13 13:51:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 14 11:57:22 2009 -0700"
      },
      "message": "nommu: ramfs: pages allocated to an inode\u0027s pagecache may get wrongly discarded\n\nThe pages attached to a ramfs inode\u0027s pagecache by truncation from nothing\n- as done by SYSV SHM for example - may get discarded under memory\npressure.\n\nThe problem is that the pages are not marked dirty.  Anything that creates\ndata in an MMU-based ramfs will cause the pages holding that data will\ncause the set_page_dirty() aop to be called.\n\nFor the NOMMU-based mmap, set_page_dirty() may be called by write(), but\nit won\u0027t be called by page-writing faults on writable mmaps, and it isn\u0027t\ncalled by ramfs_nommu_expand_for_mapping() when a file is being truncated\nfrom nothing to allocate a contiguous run.\n\nThe solution is to mark the pages dirty at the point of allocation by the\ntruncation code.\n\nSigned-off-by: Enrik Berkhan \u003cEnrik.Berkhan@ge.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8d03c7a0c550e7ab24cadcef5e66656bfadec8b9",
      "tree": "1fce7a08eb712e9b895ca39786e6f5bef1e632f7",
      "parents": [
        "2842c3b5449f31470b61db716f1926b594fb6156"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sat Mar 14 11:51:46 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Mar 14 11:51:46 2009 -0400"
      },
      "message": "ext4: fix bogus BUG_ONs in in mballoc code\n\nThiemo Nagel reported that:\n\n# dd if\u003d/dev/zero of\u003dimage.ext4 bs\u003d1M count\u003d2\n# mkfs.ext4 -v -F -b 1024 -m 0 -g 512 -G 4 -I 128 -N 1 \\\n  -O large_file,dir_index,flex_bg,extent,sparse_super image.ext4\n# mount -o loop image.ext4 mnt/\n# dd if\u003d/dev/zero of\u003dmnt/file\n\noopsed, with a BUG_ON in ext4_mb_normalize_request because\nsize \u003d\u003d EXT4_BLOCKS_PER_GROUP\n\nIt appears to me (esp. after talking to Andreas) that the BUG_ON\nis bogus; a request of exactly EXT4_BLOCKS_PER_GROUP should\nbe allowed, though larger sizes do indicate a problem.\n\nFix that an another (apparently rare) codepath with a similar check.\n\nReported-by: Thiemo Nagel \u003cthiemo.nagel@ph.tum.de\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "712e53e46a1da35fcd88c05aa0c675b10f7c0e9d",
      "tree": "f67f6aae06936bcf28c669b48e55ac39a6854be2",
      "parents": [
        "74e77eb30d0ecbb12964d005b439c8b84a505b84"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Thu Mar 12 08:37:34 2009 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Mar 12 16:46:09 2009 -0700"
      },
      "message": "ocfs2: Use xs-\u003ebucket to set xattr value outside\n\nA long time ago, xs-\u003ebase is allocated a 4K size and all the contents\nin the bucket are copied to the it. Now we use ocfs2_xattr_bucket to\nabstract xattr bucket and xs-\u003ebase is initialized to the start of the\nbu_bhs[0]. So xs-\u003ebase + offset will overflow when the value root is\nstored outside the first block.\n\nThen why we can survive the xattr test by now? It is because we always\nread the bucket contiguously now and kernel mm allocate continguous\nmemory for us. We are lucky, but we should fix it. So just get the\nright value root as other callers do.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "74e77eb30d0ecbb12964d005b439c8b84a505b84",
      "tree": "99e14b596439c1cc04a8559859939e7e47825479",
      "parents": [
        "d9ae49d6e2b1ac9166e58ae3c9345135604beaa6"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "tao.ma@oracle.com",
        "time": "Thu Mar 12 06:24:23 2009 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Mar 12 16:46:01 2009 -0700"
      },
      "message": "ocfs2: Fix a bug found by sparse check.\n\nWe need to use le32_to_cpu to test rec-\u003ee_cpos in\nocfs2_dinode_insert_check.\n\nSigned-off-by: Tao Ma \u003ctao.ma@oracle.com\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "d9ae49d6e2b1ac9166e58ae3c9345135604beaa6",
      "tree": "e6d5bbc8160a8c810534dc699e79f2b2a7792000",
      "parents": [
        "6c9fd1dc0a597e575617a7de7086c8a3efa8f524"
      ],
      "author": {
        "name": "Tiger Yang",
        "email": "tiger.yang@oracle.com",
        "time": "Thu Mar 05 11:06:15 2009 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Mar 12 16:45:46 2009 -0700"
      },
      "message": "ocfs2: tweak to get the maximum inline data size with xattr\n\nReplace max_inline_data with max_inline_data_with_xattr\nto ensure it correct when xattr inlined.\n\nSigned-off-by: Tiger Yang \u003ctiger.yang@oracle.com\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "6c9fd1dc0a597e575617a7de7086c8a3efa8f524",
      "tree": "bda5cb32ef359dc97aa71ea73072f534f5c6f99b",
      "parents": [
        "ebdcc81c71937b30e09110c02a1e8a21fa770b6f"
      ],
      "author": {
        "name": "Tiger Yang",
        "email": "tiger.yang@oracle.com",
        "time": "Fri Mar 06 10:19:30 2009 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Mar 12 16:45:40 2009 -0700"
      },
      "message": "ocfs2: reserve xattr block for new directory with inline data\n\nIf this is a new directory with inline data, we choose to\nreserve the entire inline area for directory contents and\nforce an external xattr block.\n\nSigned-off-by: Tiger Yang \u003ctiger.yang@oracle.com\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "188de5ec56dc27e0556ad1bc41ec6bd84418d7bf",
      "tree": "3b177cbf31053926bf37d4e300312ee8c3cb8f12",
      "parents": [
        "5216a3c6d10c891015474fbf7126c92a1845bf74",
        "363911d027d1de1c6df79eb3f487f5476b9619f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 12 16:32:36 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 12 16:32:36 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus:\n  Squashfs: Valid filesystems are flagged as bad by the corrupted fs patch\n"
    },
    {
      "commit": "7ef0d7377cb287e08f3ae94cebc919448e1f5dff",
      "tree": "3ab288db22eb17e76b5db1d9b8c6f7517570632f",
      "parents": [
        "f272b7bc447553410dde691aa31fc531adf9c175"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Thu Mar 12 14:31:38 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 12 16:20:24 2009 -0700"
      },
      "message": "fs: new inode i_state corruption fix\n\nThere was a report of a data corruption\nhttp://lkml.org/lkml/2008/11/14/121.  There is a script included to\nreproduce the problem.\n\nDuring testing, I encountered a number of strange things with ext3, so I\ntried ext2 to attempt to reduce complexity of the problem.  I found that\nfsstress would quickly hang in wait_on_inode, waiting for I_LOCK to be\ncleared, even though instrumentation showed that unlock_new_inode had\nalready been called for that inode.  This points to memory scribble, or\nsynchronisation problme.\n\ni_state of I_NEW inodes is not protected by inode_lock because other\nprocesses are not supposed to touch them until I_LOCK (and I_NEW) is\ncleared.  Adding WARN_ON(inode-\u003ei_state \u0026 I_NEW) to sites where we modify\ni_state revealed that generic_sync_sb_inodes is picking up new inodes from\nthe inode lists and passing them to __writeback_single_inode without\nwaiting for I_NEW.  Subsequently modifying i_state causes corruption.  In\nmy case it would look like this:\n\nCPU0                            CPU1\nunlock_new_inode()              __sync_single_inode()\n reg \u003c- inode-\u003ei_state\n reg -\u003e reg \u0026 ~(I_LOCK|I_NEW)   reg \u003c- inode-\u003ei_state\n reg -\u003e inode-\u003ei_state          reg -\u003e reg | I_SYNC\n                                reg -\u003e inode-\u003ei_state\n\nNon-atomic RMW on CPU1 overwrites CPU0 store and sets I_LOCK|I_NEW again.\n\nFix for this is rather than wait for I_NEW inodes, just skip over them:\ninodes concurrently being created are not subject to data integrity\noperations, and should not significantly contribute to dirty memory\neither.\n\nAfter this change, I\u0027m unable to reproduce any of the added warnings or\nhangs after ~1hour of running.  Previously, the new warnings would start\nimmediately and hang would happen in under 5 minutes.\n\nI\u0027m also testing on ext3 now, and so far no problems there either.  I\ndon\u0027t know whether this fixes the problem reported above, but it fixes a\nreal problem for me.\n\nCc: \"Jorge Boncompte [DTI2]\" \u003cjorge@dti2.net\u003e\nReported-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003cstable@kernel.org\u003e\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": "a3cfbb53b1764a3d1f58ddc032737ab9edaa7d41",
      "tree": "818ca39043749382a4b91d0310f532bf2fdc22ce",
      "parents": [
        "e5bc49ba7439b9726006d031d440cba96819f0f8"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Mar 12 14:31:29 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 12 16:20:23 2009 -0700"
      },
      "message": "vfs: add missing unlock in sget()\n\nIn sget(), destroy_super(s) is called with s-\u003es_umount held, which makes\nlockdep unhappy.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e5bc49ba7439b9726006d031d440cba96819f0f8",
      "tree": "103c02a297e4c7ba3ba1fd3c90a6bd2d6687f511",
      "parents": [
        "8d0df7a3d1ecbaf5d5602a59055c8ca993855bed"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Thu Mar 12 14:31:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 12 16:20:23 2009 -0700"
      },
      "message": "pipe_rdwr_fasync: fix the error handling to prevent the leak/crash\n\nIf the second fasync_helper() fails, pipe_rdwr_fasync() returns the error\nbut leaves the file on -\u003efasync_readers.\n\nThis was always wrong, but since 233e70f4228e78eb2f80dc6650f65d3ae3dbf17c\n\"saner FASYNC handling on file close\" we have the new problem.  Because in\nthis case setfl() doesn\u0027t set FASYNC bit, __fput() will not do\n-\u003efasync(0), and we leak fasync_struct with -\u003efa_file pointing to the\nfreed file.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9f4c899c0d90e1b51b6864834f3877b47c161a0e",
      "tree": "862f6b59919392fbf7a82200a7c478b51defeaa9",
      "parents": [
        "01d37c428ae080563c0a3bb8bdfa88c65a6891d3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 12 14:51:32 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 12 14:51:32 2009 -0400"
      },
      "message": "NFS: Fix the fix to Bugzilla #11061, when IPv6 isn\u0027t defined...\n\nStephen Rothwell reports:\n\nToday\u0027s linux-next build (powerpc ppc64_defconfig) failed like this:\n\nfs/built-in.o: In function `.nfs_get_client\u0027:\nclient.c:(.text+0x115010): undefined reference to `.__ipv6_addr_type\u0027\n\nFix by moving the IPV6 specific parts of commit\nd7371c41b0cda782256b1df759df4e8d4724584c (\"Bug 11061, NFS mounts dropped\")\ninto the \u0027#ifdef IPV6...\" section.\n\nAlso fix up a couple of formatting issues.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2842c3b5449f31470b61db716f1926b594fb6156",
      "tree": "d32d76a498621a00d961273a15a6e70b7f9db78d",
      "parents": [
        "395a87bfefbc400011417e9eaae33169f9f036c0"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Mar 12 12:20:01 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Mar 12 12:20:01 2009 -0400"
      },
      "message": "ext4: Print the find_group_flex() warning only once\n\nThis is a short-term warning, and even printk_ratelimit() can result\nin too much noise in system logs.  So only print it once as a warning.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "363911d027d1de1c6df79eb3f487f5476b9619f4",
      "tree": "6aa93b837f9719b0f51c11330f56288bc5acf51b",
      "parents": [
        "ebdcc81c71937b30e09110c02a1e8a21fa770b6f"
      ],
      "author": {
        "name": "Phillip Lougher",
        "email": "phillip@lougher.demon.co.uk",
        "time": "Thu Mar 12 03:23:48 2009 +0000"
      },
      "committer": {
        "name": "Phillip Lougher",
        "email": "phillip@lougher.demon.co.uk",
        "time": "Thu Mar 12 03:23:48 2009 +0000"
      },
      "message": "Squashfs: Valid filesystems are flagged as bad by the corrupted fs patch\n\nThe corrupted filesystem patch added a check against zlib trying to\noutput too much data in the presence of data corruption.  This check\ntriggered if zlib_inflate asked to be called again (Z_OK) with\navail_out \u003d\u003d 0 and no more output buffers available.  This check proves\nto be rather dumb, as it incorrectly catches the case where zlib has\ngenerated all the output, but there are still input bytes to be processed.\n\nThis patch does a number of things.  It removes the original check and\nreplaces it with code to not move to the next output buffer if there\nare no more output buffers available, relying on zlib to error if it\nwants an extra output buffer in the case of data corruption.  It\nalso replaces the Z_NO_FLUSH flag with the more correct Z_SYNC_FLUSH\nflag, and makes the error messages more understandable to\nnon-technical users.\n\nSigned-off-by: Phillip Lougher \u003cphillip@lougher.demon.co.uk\u003e\nReported-by: Stefan Lippers-Hollmann \u003cs.L-H@gmx.de\u003e\n"
    },
    {
      "commit": "64cc2c63694a03393985ffc8b178e72f52dd8a06",
      "tree": "819161cd3f6b4268b5ff21dfb0c427496134fef5",
      "parents": [
        "276a74a4835ad86d6da42f3a084b060afc5656e8"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Mar 04 19:54:08 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Mar 12 01:36:21 2009 +0000"
      },
      "message": "[CIFS] work around bug in Samba server handling for posix open\n\nSamba server (version 3.3.1 and earlier, and 3.2.8 and earlier) incorrectly\nrequired the O_CREAT flag on posix open (even when a file was not being\ncreated).  This disables posix open (create is still ok) after the first\nattempt returns EINVAL (and logs an error, once, recommending that they\nupdate their server).\n\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "276a74a4835ad86d6da42f3a084b060afc5656e8",
      "tree": "a2ef2452e2b0a24710b2298688e3beed4e353b5c",
      "parents": [
        "fcc7c09d94be7b75c9ea2beb22d0fae191c6b4b9"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Mar 03 18:00:34 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Mar 12 01:36:21 2009 +0000"
      },
      "message": "[CIFS] Use posix open on file open when server supports it\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "fcc7c09d94be7b75c9ea2beb22d0fae191c6b4b9",
      "tree": "cda830aadd2f9cccc5390290ac97b1ca48520bb6",
      "parents": [
        "0382457744969b0a3aa39ba997944903c5972cbc"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@tupile.poochiereds.net",
        "time": "Sat Feb 28 12:59:03 2009 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Mar 12 01:36:21 2009 +0000"
      },
      "message": "cifs: fix buffer format byte on NT Rename/hardlink\n\nDiscovered at Connnectathon 2009...\n\nThe buffer format byte and the pad are transposed in NT_RENAME calls\n(which are used to set hardlinks). Most servers seem to ignore this\nfact, but NetApp filers throw back an error due to this problem. This\npatch fixes it.\n\nCC: Stable \u003cstable@kernel.org\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "0382457744969b0a3aa39ba997944903c5972cbc",
      "tree": "7d8acab759aadfc1299eb01fcf3c7038c7a086c1",
      "parents": [
        "1adcb71092f6461c4002ccf29d316f6da3e1f39b"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Feb 25 16:24:04 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Mar 12 01:36:21 2009 +0000"
      },
      "message": "[CIFS] Add definitions for remoteably fsctl calls\n\nThere are about 60 fsctl calls which Windows claims would be able\nto be sent remotely and handled by the server. This adds the #defines\nfor them.  A few of them look immediately useful, but need to also\nadd the structure definitions for them so they can be sent as SMBs.\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "1adcb71092f6461c4002ccf29d316f6da3e1f39b",
      "tree": "bc2238c4e473542f0b18bec7433f92d58d53b216",
      "parents": [
        "4717bed6806dab0270e5bfbc45e9f999e63ededd"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Feb 25 14:19:56 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Mar 12 01:36:21 2009 +0000"
      },
      "message": "[CIFS] add extra null attr check\n\nAlthough attr \u003d\u003d NULL can not happen, this makes cifs_set_file_info safer\nin the future since it may not be obvious that the caller can not set\nattr to NULL.\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "4717bed6806dab0270e5bfbc45e9f999e63ededd",
      "tree": "d0a59d62c3fdd24329e970036f052a5138d6579a",
      "parents": [
        "7fc8f4e95bf9564045985bb206af8e28a5e4e28f"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Feb 24 14:44:19 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Mar 12 01:36:20 2009 +0000"
      },
      "message": "[CIFS] fix build error\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "7fc8f4e95bf9564045985bb206af8e28a5e4e28f",
      "tree": "e2a7229e18132fe86c66bb3e06436e537dd28535",
      "parents": [
        "be652445fdccb8e5d4391928c3b45324ea37f9e1"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Feb 23 20:43:11 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Mar 12 01:36:20 2009 +0000"
      },
      "message": "[CIFS] reopen file via newer posix open protocol operation if available\n\nIf the network connection crashes, and we have to reopen files, preferentially\nuse the newer cifs posix open protocol operation if the server supports it.\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "be652445fdccb8e5d4391928c3b45324ea37f9e1",
      "tree": "9912b7022b06d3ad08ff73d71505f018fe96922b",
      "parents": [
        "10e70afa75c90702b2326abaaa757d6b7835636f"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Feb 23 15:21:59 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Mar 12 01:36:20 2009 +0000"
      },
      "message": "[CIFS] Add new nostrictsync cifs mount option to avoid slow SMB flush\n\nIf this mount option is set, when an application does an\nfsync call then the cifs client does not send an SMB Flush\nto the server (to force the server to write all dirty data\nfor this file immediately to disk), although cifs still sends\nall dirty (cached) file data to the server and waits for the\nserver to respond to the write write.  Since SMB Flush can be\nvery slow, and some servers may be reliable enough (to risk\ndelaying slightly flushing the data to disk on the server),\nturning on this option may be useful to improve performance for\napplications that fsync too much, at a small risk of server\ncrash.  If this mount option is not set, by default cifs will\nsend an SMB flush request (and wait for a response) on every\nfsync call.\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "10e70afa75c90702b2326abaaa757d6b7835636f",
      "tree": "3c7e4e9dad6ec40287ff6538bed0cba3d61fd310",
      "parents": [
        "b298f223559e0205244f553ceef8c7df3674da74"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun Feb 22 01:33:07 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Mar 12 01:36:20 2009 +0000"
      },
      "message": "[CIFS] DFS no longer experimental\n\nAlso updates some DFS flag definitions\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "b298f223559e0205244f553ceef8c7df3674da74",
      "tree": "a65cb2f64d1b999b7b573857a8b33bbb83ff97af",
      "parents": [
        "ebdcc81c71937b30e09110c02a1e8a21fa770b6f"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sat Feb 21 21:17:43 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Mar 12 01:36:20 2009 +0000"
      },
      "message": "[CIFS] Send SMB flush in cifs_fsync\n\nIn contrast to the now-obsolete smbfs, cifs does not send SMB_COM_FLUSH\nin response to an explicit fsync(2) to guarantee that all volatile data\nis written to stable storage on the server side, provided the server\nhonors the request (which, to my knowledge, is true for Windows and\nSamba with \u0027strict sync\u0027 enabled).\nThis patch modifies the cifs_fsync implementation to restore the\nfsync-behavior of smbfs by triggering SMB_COM_FLUSH after sending\noutstanding data on the client side to the server.\n\nSigned-off-by: Horst Reiterer \u003chorst.reiterer@gmail.com\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "0789d8fccb5673001b54536d8f2f87f5db0d646f",
      "tree": "8f4482c2b26f5f8b226433973bdf9b337dde9378",
      "parents": [
        "ebdcc81c71937b30e09110c02a1e8a21fa770b6f",
        "c141b2928fe20396a9ecdec85526e4b66ae96c90"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 11 14:29:03 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 11 14:29:03 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: only issues a cache flush on unmount if barriers are enabled\n  xfs: prevent lockdep false positive in xfs_iget_cache_miss\n  xfs: prevent kernel crash due to corrupted inode log format\n"
    },
    {
      "commit": "3a95ea1155c5d44aa58dde2f64f0ddafe27fd1fb",
      "tree": "de6d6392c58a37a7f13bacf899b3f56c32fabcf4",
      "parents": [
        "ad3bdefe877afb47480418fdb05ecd42842de65e"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Mar 12 02:03:23 2009 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 11 12:04:18 2009 -0700"
      },
      "message": "Fix _fat_bmap() locking\n\nOn swapon() path, it has already i_mutex. So, this uses i_alloc_sem\ninstead of it.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nReported-by: Laurent GUERBY \u003claurent@guerby.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ad3bdefe877afb47480418fdb05ecd42842de65e",
      "tree": "9124ed674d39d86160349d84e4112a7c54120c2b",
      "parents": [
        "16b71fdf97599f1b1b7f38418ee9922d9f117396"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Mar 11 09:00:04 2009 +0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 11 07:43:33 2009 -0700"
      },
      "message": "proc: fix kflags to uflags copying in /proc/kpageflags\n\nFix kpf_copy_bit(src,dst) to be kpf_copy_bit(dst,src) to match the\nactual call patterns, e.g. kpf_copy_bit(kflags, KPF_LOCKED, PG_locked).\n\nThis misplacement of src/dst only affected reporting of PG_writeback,\nPG_reclaim and PG_buddy. For others kflags\u003d\u003duflags so not affected.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "d7371c41b0cda782256b1df759df4e8d4724584c"
}
