)]}'
{
  "log": [
    {
      "commit": "d136f1bd366fdb7e747ca7e0218171e7a00a98a5",
      "tree": "cee39b3249c36aba4b765cae6d9d3579c9f10a2d",
      "parents": [
        "8be8057e72d7d319f8e97b26e16de8021fe63988"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sat Sep 12 03:03:15 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 14 17:02:50 2009 -0700"
      },
      "message": "genetlink: fix netns vs. netlink table locking\n\nSince my commits introducing netns awareness into\ngenetlink we can get this problem:\n\nBUG: scheduling while atomic: modprobe/1178/0x00000002\n2 locks held by modprobe/1178:\n #0:  (genl_mutex){+.+.+.}, at: [\u003cffffffff8135ee1a\u003e] genl_register_mc_grou\n #1:  (rcu_read_lock){.+.+..}, at: [\u003cffffffff8135eeb5\u003e] genl_register_mc_g\nPid: 1178, comm: modprobe Not tainted 2.6.31-rc8-wl-34789-g95cb731-dirty #\nCall Trace:\n [\u003cffffffff8103e285\u003e] __schedule_bug+0x85/0x90\n [\u003cffffffff81403138\u003e] schedule+0x108/0x588\n [\u003cffffffff8135b131\u003e] netlink_table_grab+0xa1/0xf0\n [\u003cffffffff8135c3a7\u003e] netlink_change_ngroups+0x47/0x100\n [\u003cffffffff8135ef0f\u003e] genl_register_mc_group+0x12f/0x290\n\nbecause I overlooked that netlink_table_grab() will\nschedule, thinking it was just the rwlock. However,\nin the contention case, that isn\u0027t actually true.\n\nFix this by letting the code grab the netlink table\nlock first and then the RCU for netns protection.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8be8057e72d7d319f8e97b26e16de8021fe63988",
      "tree": "46038a1d00df70b0e80ef5727ee329d6ba6325a0",
      "parents": [
        "4142e0d1def2c0176c27fd2e810243045a62eb6d"
      ],
      "author": {
        "name": "Mark Smith",
        "email": "lk-netdev@lk-netdev.nosense.org",
        "time": "Sat Sep 12 20:48:43 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 14 17:02:47 2009 -0700"
      },
      "message": "Have atalk_route_packet() return NET_RX_SUCCESS not NET_XMIT_SUCCESS\n\nHave atalk_route_packet() return NET_RX_SUCCESS not NET_XMIT_SUCCESS\n\natalk_route_packet() returns NET_RX_DROP if it\u0027s call to\naarp_send_ddp() returns NET_XMIT_DROP. If aarp_send_ddp() returns\nanything else atalk_route_packet() should return NET_RX_SUCCESS, not\nNET_XMIT_SUCCESS.\n\nSigned-off-by: Mark Smith \u003cmarkzzzsmith@yahoo.com.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4142e0d1def2c0176c27fd2e810243045a62eb6d",
      "tree": "a21f76fafcd7609419a3ce610d8b9360748ccd76",
      "parents": [
        "33f1de69312432baecb997a570b7d77c4d02d1ed",
        "2daea67e966dc0c42067ebea015ddac6834cef88"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 14:36:47 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 14:36:47 2009 -0700"
      },
      "message": "Merge branch \u0027osync_cleanup\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027osync_cleanup\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:\n  fsync: wait for data writeout completion before calling -\u003efsync\n  vfs: Remove generic_osync_inode() and sync_page_range{_nolock}()\n  fat: Opencode sync_page_range_nolock()\n  pohmelfs: Use new syncing helper\n  xfs: Convert sync_page_range() to simple filemap_write_and_wait_range()\n  ocfs2: Update syncing after splicing to match generic version\n  ntfs: Use new syncing helpers and update comments\n  ext4: Remove syncing logic from ext4_file_write\n  ext3: Remove syncing logic from ext3_file_write\n  ext2: Update comment about generic_osync_inode\n  vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode\n  vfs: Rename generic_file_aio_write_nolock\n  ocfs2: Use __generic_file_aio_write instead of generic_file_aio_write_nolock\n  pohmelfs: Use __generic_file_aio_write instead of generic_file_aio_write_nolock\n  vfs: Remove syncing from generic_file_direct_write() and generic_file_buffered_write()\n  vfs: Export __generic_file_aio_write() and add some comments\n  vfs: Introduce filemap_fdatawait_range\n"
    },
    {
      "commit": "33f1de69312432baecb997a570b7d77c4d02d1ed",
      "tree": "24e9e7487ec3b892e120409aa2ac1b1263794373",
      "parents": [
        "041d6d0be82bed7e0b87181dba5d10b8ab14afd9",
        "86d006365610fe6cda243d89b67d5047dca44656"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 14:35:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 14:35:56 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw\n\n* \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw:\n  GFS2: Whitespace fixes\n  GFS2: Remove unused sysfs file\n  GFS2: Be extra careful about deallocating inodes\n  GFS2: Remove no_formal_ino generating code\n  GFS2: Rename eattr.[ch] as xattr.[ch]\n  GFS2: Clean up of extended attribute support\n  GFS2: Add explanation of extended attr on-disk format\n  GFS2: Add \"-o errors\u003dpanic|withdraw\" mount options\n  GFS2: jumping to wrong label?\n  GFS2: free disk inode which is deleted by remote node -V2\n  GFS2: Add a document explaining GFS2\u0027s uevents\n  GFS2: Add sysfs link to device\n  GFS2: Replace assertion with proper error handling\n  GFS2: Improve error handling in inode allocation\n  GFS2: Add some more info to uevents\n  GFS2: Add online uevent to GFS2\n"
    },
    {
      "commit": "041d6d0be82bed7e0b87181dba5d10b8ab14afd9",
      "tree": "b7af53fa7ca104d30b9759c1f951439af7df3734",
      "parents": [
        "af8cb8aa38296ecc43aca7fae9e574db7b8ae0c4",
        "cbc8cc33529b0e0e55ae0ff077b8cb0b71d54c7a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 14:35:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 14:35:07 2009 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6:\n  udf: Fix possible corruption when close races with write\n  udf: Perform preallocation only for regular files\n  udf: Remove wrong assignment in udf_symlink\n  udf: Remove dead code\n"
    },
    {
      "commit": "af8cb8aa38296ecc43aca7fae9e574db7b8ae0c4",
      "tree": "636090652a055bff0930ad713e315ff185282330",
      "parents": [
        "6cdb5930a6fa0e35b236f4aa0e056001fe1384b4",
        "41f4db0f48c72db3a93cc1a0b18368d9a9aca700"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 14:34:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 14:34:33 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: (21 commits)\n  fs/Kconfig: move nilfs2 outside misc filesystems\n  nilfs2: convert nilfs_bmap_lookup to an inline function\n  nilfs2: allow btree code to directly call dat operations\n  nilfs2: add update functions of virtual block address to dat\n  nilfs2: remove individual gfp constants for each metadata file\n  nilfs2: stop zero-fill of btree path just before free it\n  nilfs2: remove unused btree argument from btree functions\n  nilfs2: remove nilfs_dat_abort_start and nilfs_dat_abort_free\n  nilfs2: shorten freeze period due to GC in write operation v3\n  nilfs2: add more check routines in mount process\n  nilfs2: An unassigned variable is assigned to a never used structure member\n  nilfs2: use GFP_NOIO for bio_alloc instead of GFP_NOWAIT\n  nilfs2: stop using periodic write_super callback\n  nilfs2: clean up nilfs_write_super\n  nilfs2: fix disorder of nilfs_write_super in nilfs_sync_fs\n  nilfs2: remove redundant super block commit\n  nilfs2: implement nilfs_show_options to display mount options in /proc/mounts\n  nilfs2: always lookup disk block address before reading metadata block\n  nilfs2: use semaphore to protect pointer to a writable FS-instance\n  nilfs2: fix format string compile warning (ino_t)\n  ...\n"
    },
    {
      "commit": "6cdb5930a6fa0e35b236f4aa0e056001fe1384b4",
      "tree": "f7627d65c283ab122d69c20605355cb2c397f112",
      "parents": [
        "99bc47067910f7070e65ee318a6dd79a2371f1e5",
        "9162ab2000e08be076883b5a295a771223264ce8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 14:33:13 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 14:33:13 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: consolidate reconnect logic in smb_init routines\n  cifs: Replace wrtPending with a real reference count\n  cifs: protect GlobalOplock_Q with its own spinlock\n  cifs: use tcon pointer in cifs_show_options\n  cifs: send IPv6 addr in upcall with colon delimiters\n  [CIFS] Fix checkpatch warnings\n  PATCH] cifs: fix broken mounts when a SSH tunnel is used (try #4)\n  [CIFS] Memory leak in ntlmv2 hash calculation\n  [CIFS] potential NULL dereference in parse_DFS_referrals()\n"
    },
    {
      "commit": "99bc47067910f7070e65ee318a6dd79a2371f1e5",
      "tree": "d24941285af868b0392a327360ae260a8f50caf1",
      "parents": [
        "d7e9660ad9d5e0845f52848bce31bcf5cdcdea6b",
        "cabc5c0f7fa1342049042d6e147db5a73773955b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 10:48:59 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 10:48:59 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6: (21 commits)\n  sparc64: Initial niagara2 perf counter support.\n  sparc64: Perf counter \u0027nop\u0027 event is not constant.\n  sparc64: Provide a way to specify a perf counter overflow IRQ enable bit.\n  sparc64: Provide hypervisor tracing bit support for perf counters.\n  sparc64: Initial hw perf counter support.\n  sparc64: Implement a real set_perf_counter_pending().\n  sparc64: Use nmi_enter() and nmi_exit(), as needed.\n  sparc64: Provide extern decls for sparc_??u_type strings.\n  sparc64: Make touch_nmi_watchdog() actually work.\n  sparc64: Kill unnecessary cast in profile_timer_exceptions_notify().\n  sparc64: Manage NMI watchdog enabling like x86.\n  sparc: add basic support for \u0027perf\u0027\n  sparc: convert /proc/io_map, /proc/dvma_map to seq_file\n  sparc, leon: sparc-leon specific SRMMU initialization and bootup fixes.\n  sparc,leon: Added support for AMBAPP bus.\n  sparc,leon: Introduce the sparc-leon CPU type.\n  sparc,leon: Redefine MMU register access asi if CONFIG_LEON\n  sparc,leon: CONFIG_SPARC_LEON option and leon specific files.\n  sparc64: cheaper asm/uaccess.h inclusion\n  SPARC: fix duplicate declaration\n  ...\n"
    },
    {
      "commit": "d7e9660ad9d5e0845f52848bce31bcf5cdcdea6b",
      "tree": "c6c67d145771187b194d79d603742b31090a59d6",
      "parents": [
        "b8cb48aae1b8c50b37dcb7710363aa69a7a0d9ca",
        "13af7a6ea502fcdd4c0e3d7de6e332b102309491"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 10:37:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 10:37:28 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: (1623 commits)\n  netxen: update copyright\n  netxen: fix tx timeout recovery\n  netxen: fix file firmware leak\n  netxen: improve pci memory access\n  netxen: change firmware write size\n  tg3: Fix return ring size breakage\n  netxen: build fix for INET\u003dn\n  cdc-phonet: autoconfigure Phonet address\n  Phonet: back-end for autoconfigured addresses\n  Phonet: fix netlink address dump error handling\n  ipv6: Add IFA_F_DADFAILED flag\n  net: Add DEVTYPE support for Ethernet based devices\n  mv643xx_eth.c: remove unused txq_set_wrr()\n  ucc_geth: Fix hangs after switching from full to half duplex\n  ucc_geth: Rearrange some code to avoid forward declarations\n  phy/marvell: Make non-aneg speed/duplex forcing work for 88E1111 PHYs\n  drivers/net/phy: introduce missing kfree\n  drivers/net/wan: introduce missing kfree\n  net: force bridge module(s) to be GPL\n  Subject: [PATCH] appletalk: Fix skb leak when ipddp interface is not loaded\n  ...\n\nFixed up trivial conflicts:\n\n - arch/x86/include/asm/socket.h\n\n   converted to \u003casm-generic/socket.h\u003e in the x86 tree.  The generic\n   header has the same new #define\u0027s, so that works out fine.\n\n - drivers/net/tun.c\n\n   fix conflict between 89f56d1e9 (\"tun: reuse struct sock fields\") that\n   switched over to using \u0027tun-\u003esocket.sk\u0027 instead of the redundantly\n   available (and thus removed) \u0027tun-\u003esk\u0027, and 2b980dbd (\"lsm: Add hooks\n   to the TUN driver\") which added a new \u0027tun-\u003esk\u0027 use.\n\n   Noted in \u0027next\u0027 by Stephen Rothwell.\n"
    },
    {
      "commit": "b8cb48aae1b8c50b37dcb7710363aa69a7a0d9ca",
      "tree": "c7b04bfc8ece8b0121a9030c7f49e7bf9bf570d1",
      "parents": [
        "0cc6d77e55eca9557bbe41bf2db94b31aa8fcb2a",
        "78c86e5e5691fc84d5fbea0cd4ac7147e87b7490"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 10:23:49 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 10:23:49 2009 -0700"
      },
      "message": "Merge branch \u0027x86-xen-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-xen-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: split __phys_addr out into separate file\n  xen: use stronger barrier after unlocking lock\n  xen: only enable interrupts while actually blocking for spinlock\n  xen: make -fstack-protector work under Xen\n"
    },
    {
      "commit": "cbc8cc33529b0e0e55ae0ff077b8cb0b71d54c7a",
      "tree": "5edace261ca6d707456d1bde03c0bf719ac8a365",
      "parents": [
        "81056dd04465902461b627169c4b4487a11acba1"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Aug 07 00:27:27 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 19:13:01 2009 +0200"
      },
      "message": "udf: Fix possible corruption when close races with write\n\nWhen we close a file, we remove preallocated blocks from it. But this\ntruncation was not protected by i_mutex and thus it could have raced with a\nwrite through a different fd and cause crashes or even filesystem corruption.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "81056dd04465902461b627169c4b4487a11acba1",
      "tree": "902b49848f8d2033c24ad78ac5d391bf092091ef",
      "parents": [
        "7c6e3d1aaeb3b25b49510d193000c27037004acb"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jul 16 18:02:25 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 19:13:00 2009 +0200"
      },
      "message": "udf: Perform preallocation only for regular files\n\nSo far we preallocated blocks also for directories but that brings a\nproblem, when to get rid of preallocated blocks we don\u0027t need. So far\nwe removed them in udf_clear_inode() which has a disadvantage that\n1) blocks are unavailable long after writing to a directory finished\n   and thus one can get out of space unnecessarily early\n2) releasing blocks from udf_clear_inode is problematic because VFS\n   does not expect us to redirty inode there and it also slows down\n   memory reclaim.\n\nSo preallocate blocks only for regular files where we can drop preallocation\nin udf_release_file.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "7c6e3d1aaeb3b25b49510d193000c27037004acb",
      "tree": "1d20b31e4e74708812b6bd5821775bbac2eae539",
      "parents": [
        "5891d9dd2a47d38c205115211841a3d82304628f"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jul 16 17:36:54 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 19:13:00 2009 +0200"
      },
      "message": "udf: Remove wrong assignment in udf_symlink\n\nRecomputation of the pointer was wrong (it should have been just increment).\nLuckily, we never use the computed value. Remove it.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "5891d9dd2a47d38c205115211841a3d82304628f",
      "tree": "8ee321785b597895bbd2ed8f47772e3e09f62b07",
      "parents": [
        "0cc6d77e55eca9557bbe41bf2db94b31aa8fcb2a"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jul 16 17:35:11 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 19:13:00 2009 +0200"
      },
      "message": "udf: Remove dead code\n\nRemove code that gets never used.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "2daea67e966dc0c42067ebea015ddac6834cef88",
      "tree": "0adef51c45c7dd31062824eb3ba102a349966608",
      "parents": [
        "18f2ee705d98034b0f229a3202d827468d4bffd9"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Sep 03 12:39:39 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:17 2009 +0200"
      },
      "message": "fsync: wait for data writeout completion before calling -\u003efsync\n\nCurrenly vfs_fsync(_range) first calls filemap_fdatawrite to write out\nthe data, the calls into -\u003efsync to write out the metadata and then finally\ncalls filemap_fdatawait to wait for the data I/O to complete.  What sounds\nlike a clever micro-optimization actually is nast trap for many filesystems.\n\nFor many modern filesystems i_size or other inode information is only\nupdated on I/O completion and we need to wait for I/O to finish before\nwe can write out the metadata.  For old fashionen filesystems that\ninstanciate blocks during the actual write and also update the metadata\nat that point it opens up a large window were we could expose uninitialized\nblocks after a crash.  While a few filesystems that need it already wait\nfor the I/O to finish inside their -\u003efsync methods it is rather suboptimal\nas it is done under the i_mutex and also always for the whole file instead\nof just a part as we could do for O_SYNC handling.\n\nHere is a small audit of all fsync instances in the tree:\n\n - spufs_mfc_fsync:\n - ps3flash_fsync:\n - vol_cdev_fsync:\n - printer_fsync:\n - fb_deferred_io_fsync:\n - bad_file_fsync:\n - simple_sync_file:\n\n\tdon\u0027t care - filesystems/drivers do\u0027t use the page cache or are\n\tpurely in-memory.\n\n - simple_fsync:\n - file_fsync:\n - affs_file_fsync:\n - fat_file_fsync:\n - jfs_fsync:\n - ubifs_fsync:\n - reiserfs_dir_fsync:\n - reiserfs_sync_file:\n\n\tnever touch pagecache themselves.  We need to wait before if we do\n\tnot want to expose stale data after an allocation.\n\n - afs_fsync:\n - fuse_fsync_common:\n\n\tdo the waiting writeback itself in awkward ways, would benefit from\n\tproper semantics\n\n - block_fsync:\n\n\tDoes a filemap_write_and_wait on the block device inode.  Because we\n\tnow have f_mapping that is the same inode we call it on in vfs_fsync.\n\tSo just removing it and letting the VFS do the work in one go would\n\tbe an improvement.\n\n - btrfs_sync_file:\n - cifs_fsync:\n - xfs_file_fsync:\n\n\tneed the wait first and currently do it themselves. would benefit from\n\tdoing it outside i_mutex.\n\n - coda_fsync:\n - ecryptfs_fsync:\n - exofs_file_fsync:\n - shm_fsync:\n\n\tonly passes the fsync through to the lower layer\n\n - ext3_sync_file:\n\n\tdoesn\u0027t seem to care, comments are confusing.\n\n - ext4_sync_file:\n\n\twould need the wait to work correctly for delalloc mode with late\n\ti_size updates.  Otherwise the ext3 comment applies.\n\n\tcurrently implemens it\u0027s own writeback and wait in an odd way,\n\tcould benefit from doing it properly.\n\n - gfs2_fsync:\n\n\tnot needed for journaled data mode, but probably harmless there.\n\tCurrently writes back data asynchronously itself.  Needs some\n\tmajor audit.\n\n - hostfs_fsync:\n\n\tjust calls fsync/datasync on the host FD.  Without the wait before\n\tdata might not even be inflight yet if we\u0027re unlucky.\n\n - hpfs_file_fsync:\n - ncp_fsync:\n\n\tno-ops.  Dangerous before and after.\n\n - jffs2_fsync:\n\n\tjust calls jffs2_flush_wbuf_gc, not sure how this relates to data.\n\n - nfs_fsync_dir:\n\n\tjust increments stats, claims all directory operations are synchronous\n\n - nfs_file_fsync:\n\n\tonly writes out data???  Looks very odd.\n\n - nilfs_sync_file:\n\n\tlooks like it expects all data done, but not sure from the code\n\n - ntfs_dir_fsync:\n - ntfs_file_fsync:\n\n\tappear to do their own data writeback.  Very convoluted code.\n\n - ocfs2_sync_file:\n\n\tdoes it\u0027s own data writeback, but no wait.  probably needs the wait.\n\n - smb_fsync:\n\n\taccording to a comment expects all pages written already, probably needs\n\tthe wait before.\n\nThis patch only changes vfs_fsync_range, removal of the wait in the methods\nthat have it is left to the filesystem maintainers.  Note that most\nfilesystems really do need an audit for their fsync methods given the\ngems found in this very brief audit.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "18f2ee705d98034b0f229a3202d827468d4bffd9",
      "tree": "1da282e5eb90dc8e8a1e46214e0e7639138d3568",
      "parents": [
        "2f3d675bcd4a84251d6e8eea8096ec8fc795e5d6"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Aug 18 18:43:15 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:17 2009 +0200"
      },
      "message": "vfs: Remove generic_osync_inode() and sync_page_range{_nolock}()\n\nRemove these three functions since nobody uses them anymore.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "2f3d675bcd4a84251d6e8eea8096ec8fc795e5d6",
      "tree": "3b186e4960d4553fac577be5f1def6d17196beca",
      "parents": [
        "aa3caafe53cab7ef60605e481cd5d7943e1c3022"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 17 17:00:02 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:17 2009 +0200"
      },
      "message": "fat: Opencode sync_page_range_nolock()\n\nfat_cont_expand() is the only user of sync_page_range_nolock(). It\u0027s also the\nonly user of generic_osync_inode() which does not have a file open.  So\nopencode needed actions for FAT so that we can convert generic_osync_inode() to\na standard syncing path.\n\nUpdate a comment about generic_osync_inode().\n\nCC: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "aa3caafe53cab7ef60605e481cd5d7943e1c3022",
      "tree": "b3723d4c31c84a8b0f74d1d4e920d9ba1c867915",
      "parents": [
        "af0f4414f343429971d33b0dd8dccc85c1f3dcd2"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Aug 18 18:38:45 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:17 2009 +0200"
      },
      "message": "pohmelfs: Use new syncing helper\n\nUse new generic_write_sync() helper instead of sync_page_range().\n\nAcked-by: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "af0f4414f343429971d33b0dd8dccc85c1f3dcd2",
      "tree": "1b053812591d19f618240672eb74fd74912c29c1",
      "parents": [
        "d23c937b0f740888765676f6f82f509dbbb2bbad"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Aug 18 18:32:55 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:17 2009 +0200"
      },
      "message": "xfs: Convert sync_page_range() to simple filemap_write_and_wait_range()\n\nChristoph Hellwig says that it is enough for XFS to call\nfilemap_write_and_wait_range() instead of sync_page_range() because we do\nall the metadata syncing when forcing the log.\n\nCC: Felix Blyakher \u003cfelixb@sgi.com\u003e\nCC: xfs@oss.sgi.com\nCC: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "d23c937b0f740888765676f6f82f509dbbb2bbad",
      "tree": "df4e085d935805f54061436ee820460c79143087",
      "parents": [
        "ebbbf757c6b8577ac2fb6181c08c2059153bb0e2"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Aug 18 18:24:31 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:16 2009 +0200"
      },
      "message": "ocfs2: Update syncing after splicing to match generic version\n\nUpdate ocfs2 specific splicing code to use generic syncing helper. The sync now\ndoes not happen under rw_lock because generic_write_sync() acquires i_mutex\nwhich ranks above rw_lock. That should not matter because standard fsync path\ndoes not hold it either.\n\nAcked-by: Joel Becker \u003cJoel.Becker@oracle.com\u003e\nAcked-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nCC: ocfs2-devel@oss.oracle.com\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "ebbbf757c6b8577ac2fb6181c08c2059153bb0e2",
      "tree": "0c29915bd629c4faf314d052b003a5dab19d6f74",
      "parents": [
        "0d34ec62e18984ac9476208660372306ef54e70d"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Aug 18 18:13:58 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:16 2009 +0200"
      },
      "message": "ntfs: Use new syncing helpers and update comments\n\nUse new syncing helpers in .write and .aio_write functions. Also\nremove superfluous syncing in ntfs_file_buffered_write() and update\ncomments about generic_osync_inode().\n\nCC: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCC: linux-ntfs-dev@lists.sourceforge.net\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "0d34ec62e18984ac9476208660372306ef54e70d",
      "tree": "7b75d266b832bb8457369082fba86456ef88e568",
      "parents": [
        "e367626b6164aeecb97fb7c20509ed8696babc26"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Aug 18 17:48:27 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:16 2009 +0200"
      },
      "message": "ext4: Remove syncing logic from ext4_file_write\n\nThe syncing is now properly handled by generic_file_aio_write() so\nno special ext4 code is needed.\n\nCC: linux-ext4@vger.kernel.org\nCC: tytso@mit.edu\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "e367626b6164aeecb97fb7c20509ed8696babc26",
      "tree": "e69721734412f9373aea87297c4ff9450cf55308",
      "parents": [
        "a2a735ad666a04306a708b5a0109cc1fe113f569"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Aug 18 17:51:23 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:16 2009 +0200"
      },
      "message": "ext3: Remove syncing logic from ext3_file_write\n\nSyncing is now properly done by generic_file_aio_write() so no special logic is\nneeded in ext3.\n\nCC: linux-ext4@vger.kernel.org\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "a2a735ad666a04306a708b5a0109cc1fe113f569",
      "tree": "1b880e0e8eb9e9b019d3e6443751cd56e5fe3d58",
      "parents": [
        "148f948ba877f4d3cdef036b1ff6d9f68986706a"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Aug 18 17:54:11 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:16 2009 +0200"
      },
      "message": "ext2: Update comment about generic_osync_inode\n\nWe rely on generic_write_sync() now.\n\nCC: linux-ext4@vger.kernel.org\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "148f948ba877f4d3cdef036b1ff6d9f68986706a",
      "tree": "c07963f08bf8c2119ec00df64e4293e2e60acaa1",
      "parents": [
        "eef99380679e20e7edc096aa4d8a98b875404d79"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 17 19:52:36 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:15 2009 +0200"
      },
      "message": "vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode\n\nIntroduce new function for generic inode syncing (vfs_fsync_range) and use\nit from fsync() path. Introduce also new helper for syncing after a sync\nwrite (generic_write_sync) using the generic function.\n\nUse these new helpers for syncing from generic VFS functions. This makes\nO_SYNC writes to block devices acquire i_mutex for syncing. If we really\ncare about this, we can make block_fsync() drop the i_mutex and reacquire\nit before it returns.\n\nCC: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nCC: ocfs2-devel@oss.oracle.com\nCC: Joel Becker \u003cjoel.becker@oracle.com\u003e\nCC: Felix Blyakher \u003cfelixb@sgi.com\u003e\nCC: xfs@oss.sgi.com\nCC: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCC: linux-ntfs-dev@lists.sourceforge.net\nCC: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCC: linux-ext4@vger.kernel.org\nCC: tytso@mit.edu\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "eef99380679e20e7edc096aa4d8a98b875404d79",
      "tree": "358a39148e8513eed9ba6aaff13f6bf660a2ce1e",
      "parents": [
        "918941a3f3d46c2a69971b4718aaf13b1be2f1a7"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Aug 20 17:43:41 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:15 2009 +0200"
      },
      "message": "vfs: Rename generic_file_aio_write_nolock\n\ngeneric_file_aio_write_nolock() is now used only by block devices and raw\ncharacter device. Filesystems should use __generic_file_aio_write() in case\ngeneric_file_aio_write() doesn\u0027t suit them. So rename the function to\nblkdev_aio_write() and move it to fs/blockdev.c.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "918941a3f3d46c2a69971b4718aaf13b1be2f1a7",
      "tree": "3ef80cb4b8107be981cc87904c7e80c0e383e5e5",
      "parents": [
        "b04f932171e8a99bb8ca2f863b2b9eadb85741e8"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 17 18:50:08 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:15 2009 +0200"
      },
      "message": "ocfs2: Use __generic_file_aio_write instead of generic_file_aio_write_nolock\n\nUse the new helper. We have to submit data pages ourselves in case of O_SYNC\nwrite because __generic_file_aio_write does not do it for us. OCFS2 developpers\nmight think about moving the sync out of i_mutex which seems to be easily\npossible but that\u0027s out of scope of this patch.\n\nCC: ocfs2-devel@oss.oracle.com\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "b04f932171e8a99bb8ca2f863b2b9eadb85741e8",
      "tree": "a379db3e75b7332d407230397678a4f895f60612",
      "parents": [
        "c7b50db21fe8c295092518e224d60b95e69da3b0"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 17 18:14:33 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:15 2009 +0200"
      },
      "message": "pohmelfs: Use __generic_file_aio_write instead of generic_file_aio_write_nolock\n\nUse new helper __generic_file_aio_write(). Since the fs takes care of syncing\nby itself afterwards, there are no more changes needed.\n\nCC: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "c7b50db21fe8c295092518e224d60b95e69da3b0",
      "tree": "ed73757b475462c4cfccdcf61d95929f4cb32637",
      "parents": [
        "e4dd9de3c66bc7e26c5c7f149a060c5a67cf06a0"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Aug 18 16:18:20 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:15 2009 +0200"
      },
      "message": "vfs: Remove syncing from generic_file_direct_write() and generic_file_buffered_write()\n\ngeneric_file_direct_write() and generic_file_buffered_write() called\ngeneric_osync_inode() if it was called on O_SYNC file or IS_SYNC inode. But\nthis is superfluous since generic_file_aio_write() does the syncing as well.\nAlso XFS and OCFS2 which call these functions directly handle syncing\nthemselves. So let\u0027s have a single place where syncing happens:\ngeneric_file_aio_write().\n\nWe slightly change the behavior by syncing only the range of file to which the\nwrite happened for buffered writes but that should be all that is required.\n\nCC: ocfs2-devel@oss.oracle.com\nCC: Joel Becker \u003cjoel.becker@oracle.com\u003e\nCC: Felix Blyakher \u003cfelixb@sgi.com\u003e\nCC: xfs@oss.sgi.com\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "e4dd9de3c66bc7e26c5c7f149a060c5a67cf06a0",
      "tree": "3270180b085c86afe4834fba5567464cd3932eb8",
      "parents": [
        "d3bccb6f4b886060aa0f58976b92b77d951f5434"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 17 18:10:06 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:14 2009 +0200"
      },
      "message": "vfs: Export __generic_file_aio_write() and add some comments\n\nRename __generic_file_aio_write_nolock() to __generic_file_aio_write(), add\ncomments to write helpers explaining how they should be used and export\n__generic_file_aio_write() since it will be used by some filesystems.\n\nCC: ocfs2-devel@oss.oracle.com\nCC: Joel Becker \u003cjoel.becker@oracle.com\u003e\nAcked-by: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "d3bccb6f4b886060aa0f58976b92b77d951f5434",
      "tree": "b5f9eb43890da173a078e883d51c23b8c27ceaa6",
      "parents": [
        "86d710146fb9975f04c505ec78caa43d227c1018"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 17 19:30:27 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:14 2009 +0200"
      },
      "message": "vfs: Introduce filemap_fdatawait_range\n\nThis simple helper saves some filesystems conversion from byte offset\nto page numbers and also makes the fdata* interface more complete.\n\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "0cc6d77e55eca9557bbe41bf2db94b31aa8fcb2a",
      "tree": "432df46039500f5220ae315f1efca9431ea257e3",
      "parents": [
        "55e0715f612f19b44c17497929091df2f3357e5d",
        "5051fd69773d2d044734b78516317a04d3774871"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 08:01:47 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 08:01:47 2009 -0700"
      },
      "message": "Merge branch \u0027x86-setup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-setup-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, e820: Guard against array overflowed in __e820_add_region()\n  x86, setup: remove obsolete pre-Kconfig CONFIG_VIDEO_ variables\n"
    },
    {
      "commit": "55e0715f612f19b44c17497929091df2f3357e5d",
      "tree": "31e139ebb4fcd98357b3af7af6c4becb41fa9563",
      "parents": [
        "7dfd54a905be0242bd604557d543c3a2d7b0a540",
        "bdf977b37418cdf8a2252504779a7e12a09b7575"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 08:01:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 08:01:28 2009 -0700"
      },
      "message": "Merge branch \u0027x86-percpu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-percpu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, percpu: Collect hot percpu variables into one cacheline\n  x86, percpu: Fix DECLARE/DEFINE_PER_CPU_PAGE_ALIGNED()\n  x86, percpu: Add \u0027percpu_read_stable()\u0027 interface for cacheable accesses\n"
    },
    {
      "commit": "7dfd54a905be0242bd604557d543c3a2d7b0a540",
      "tree": "75906d8bf8d835ae570667ea4d9311d9b443a77a",
      "parents": [
        "6512c0d62589c9f4da00328518e492ddd1c01c7f",
        "565b0c1f100408ccbcb04ba458a14da454cb271d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:59:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:59:32 2009 -0700"
      },
      "message": "Merge branch \u0027x86-mm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-mm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, highmem_32.c: Clean up comment\n  x86, pgtable.h: Clean up types\n  x86: Clean up dump_pagetable()\n"
    },
    {
      "commit": "6512c0d62589c9f4da00328518e492ddd1c01c7f",
      "tree": "f70613120d00a9882b84f7b3149689b620860972",
      "parents": [
        "625037cc405eabbfd2a39e9297e583a94886225f",
        "c7bd0414d681706a32105895cae20fb9090db52e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:59:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:59:07 2009 -0700"
      },
      "message": "Merge branch \u0027x86-kbuild-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-kbuild-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: Simplify the Makefile in a minor way through use of cc-ifversion\n"
    },
    {
      "commit": "625037cc405eabbfd2a39e9297e583a94886225f",
      "tree": "c0a62f6cb2a565efb7cd494f558f0acbadcbabb0",
      "parents": [
        "8fafa0a789faaff4318cbfa9c2f827d2198505dc",
        "17950c5b243f99cbabef173415ee988c52104d7e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:58:08 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:58:08 2009 -0700"
      },
      "message": "Merge branch \u0027x86-fpu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fpu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86-64: move clts into batch cpu state updates when preloading fpu\n  x86-64: move unlazy_fpu() into lazy cpu state part of context switch\n  x86-32: make sure clts is batched during context switch\n  x86: split out core __math_state_restore\n"
    },
    {
      "commit": "8fafa0a789faaff4318cbfa9c2f827d2198505dc",
      "tree": "b360ef0ef73f4886fc18af3de1cacce3f57d01a3",
      "parents": [
        "c7208de304ac335d5d58db346bb773a471fc636b",
        "23b6c52cf558f2a1dc6c7010c601b3624eb4591f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:57:50 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:57:50 2009 -0700"
      },
      "message": "Merge branch \u0027x86-debug-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-debug-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: Decrease the level of some NUMA messages to KERN_DEBUG\n"
    },
    {
      "commit": "c7208de304ac335d5d58db346bb773a471fc636b",
      "tree": "47808484fc3ff8447fe30943a33880bae00d5fee",
      "parents": [
        "15b0404272e1513940223cf9eefadfd22804a060",
        "5367b6887e7d8c870a5da7d9b8c6e9c207684e43"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:57:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:57:32 2009 -0700"
      },
      "message": "Merge branch \u0027x86-cpu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-cpu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (22 commits)\n  x86: Fix code patching for paravirt-alternatives on 486\n  x86, msr: change msr-reg.o to obj-y, and export its symbols\n  x86: Use hard_smp_processor_id() to get apic id for AMD K8 cpus\n  x86, sched: Workaround broken sched domain creation for AMD Magny-Cours\n  x86, mcheck: Use correct cpumask for shared bank4\n  x86, cacheinfo: Fixup L3 cache information for AMD multi-node processors\n  x86: Fix CPU llc_shared_map information for AMD Magny-Cours\n  x86, msr: Fix msr-reg.S compilation with gas 2.16.1, on 32-bit too\n  x86: Move kernel_fpu_using to irq_fpu_usable in asm/i387.h\n  x86, msr: fix msr-reg.S compilation with gas 2.16.1\n  x86, msr: Export the register-setting MSR functions via /dev/*/msr\n  x86, msr: Create _on_cpu helpers for {rw,wr}msr_safe_regs()\n  x86, msr: Have the _safe MSR functions return -EIO, not -EFAULT\n  x86, msr: CFI annotations, cleanups for msr-reg.S\n  x86, asm: Make _ASM_EXTABLE() usable from assembly code\n  x86, asm: Add 32-bit versions of the combined CFI macros\n  x86, AMD: Disable wrongly set X86_FEATURE_LAHF_LM CPUID bit\n  x86, msr: Rewrite AMD rd/wrmsr variants\n  x86, msr: Add rd/wrmsr interfaces with preset registers\n  x86: add specific support for Intel Atom architecture\n  ...\n"
    },
    {
      "commit": "15b0404272e1513940223cf9eefadfd22804a060",
      "tree": "9bdb1c0a41d0c3bddbae8885d361e053bbcd6d97",
      "parents": [
        "9b74aec028e7d7ce57b8deef490e440003555520",
        "d535e4319a2e598ba25dc966ada4e52ea774e33f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:56:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:56:43 2009 -0700"
      },
      "message": "Merge branch \u0027x86-cleanups-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-cleanups-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: Make memtype_seq_ops const\n  x86: uv: Clean up uv_ptc_init(), use proc_create()\n  x86: Use printk_once()\n  x86/cpu: Clean up various files a bit\n  x86: Remove duplicated #include\n  x86, ipi: Clean up safe_smp_processor_id() by using the cpu_has_apic() macro helper\n  x86: Clean up idt_descr and idt_tableby using NR_VECTORS instead of hardcoded number\n  x86: Further clean up of mtrr/generic.c\n  x86: Clean up mtrr/main.c\n  x86: Clean up mtrr/state.c\n  x86: Clean up mtrr/mtrr.h\n  x86: Clean up mtrr/if.c\n  x86: Clean up mtrr/generic.c\n  x86: Clean up mtrr/cyrix.c\n  x86: Clean up mtrr/cleanup.c\n  x86: Clean up mtrr/centaur.c\n  x86: Clean up mtrr/amd.c:\n  x86: ds.c fix invalid assignment\n"
    },
    {
      "commit": "9b74aec028e7d7ce57b8deef490e440003555520",
      "tree": "c6804dba556f981ce1a2363582dbbd9a55e85489",
      "parents": [
        "b581af5110ab62db3a33f86ea7531d5f898a520c",
        "73a2d096fdf23aa841f7595d114a11ec85a85e4d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:55:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:55:37 2009 -0700"
      },
      "message": "Merge branch \u0027x86-asm-generic-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-asm-generic-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: remove all now-duplicate header files\n  x86: convert termios.h to the asm-generic version\n  x86: convert almost generic headers to asm-generic version\n  x86: convert trivial headers to asm-generic version\n  x86: add copies of some headers to convert to asm-generic\n"
    },
    {
      "commit": "b581af5110ab62db3a33f86ea7531d5f898a520c",
      "tree": "eef312788928ad26ab5687438903bf19f6aaa207",
      "parents": [
        "ffaf854b011bde97d63955a71232a20fe4382a38",
        "53f824520b6d84ca5b4a8fd71addc91dbf64357e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:53:49 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:53:49 2009 -0700"
      },
      "message": "Merge branch \u0027x86-asm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-asm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86/i386: Put aligned stack-canary in percpu shared_aligned section\n  x86/i386: Make sure stack-protector segment base is cache aligned\n  x86: Detect stack protector for i386 builds on x86_64\n  x86: allow \"\u003drm\" in native_save_fl()\n  x86: properly annotate alternatives.c\n  x86: Introduce GDT_ENTRY_INIT(), initialize bad_bios_desc statically\n  x86, 32-bit: Use generic sys_pipe()\n  x86: Introduce GDT_ENTRY_INIT(), fix APM\n  x86: Introduce GDT_ENTRY_INIT()\n  x86: Introduce set_desc_base() and set_desc_limit()\n  x86: Remove unused patch_espfix_desc()\n  x86: Use get_desc_base()\n"
    },
    {
      "commit": "ffaf854b011bde97d63955a71232a20fe4382a38",
      "tree": "7cd833505685b20bd11b065de1fd9b718b8b8b3f",
      "parents": [
        "86d710146fb9975f04c505ec78caa43d227c1018",
        "eebc57f73d42095b778e899f6aa90ad050c72655"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:51:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 07:51:20 2009 -0700"
      },
      "message": "Merge branch \u0027x86-apic-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-apic-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (24 commits)\n  ACPI, x86: expose some IO-APIC routines when CONFIG_ACPI\u003dn\n  x86, apic: Slim down stack usage in early_init_lapic_mapping()\n  x86, ioapic: Get rid of needless check and simplify ioapic_setup_resources()\n  x86, ioapic: Define IO_APIC_DEFAULT_PHYS_BASE constant\n  x86: Fix x86_model test in es7000_apic_is_cluster()\n  x86, apic: Move dmar_table_init() out of enable_IR()\n  x86, ioapic: Panic on irq-pin binding only if needed\n  x86/apic: Enable x2APIC without interrupt remapping under KVM\n  x86, apic: Drop redundant bit assignment\n  x86, ioapic: Throw BUG instead of NULL dereference\n  x86, ioapic: Introduce for_each_irq_pin() helper\n  x86: Remove superfluous NULL pointer check in destroy_irq()\n  x86/ioapic.c: unify ioapic_retrigger_irq()\n  x86/ioapic.c: convert __target_IO_APIC_irq to conventional for() loop\n  x86/ioapic.c: clean up replace_pin_at_irq_node logic and comments\n  x86/ioapic.c: convert replace_pin_at_irq_node to conventional for() loop\n  x86/ioapic.c: simplify add_pin_to_irq_node()\n  x86/ioapic.c: convert io_apic_level_ack_pending loop to normal for() loop\n  x86/ioapic.c: move lost comment to what seems like appropriate place\n  x86/ioapic.c: remove redundant declaration of irq_pin_list\n  ...\n"
    },
    {
      "commit": "41f4db0f48c72db3a93cc1a0b18368d9a9aca700",
      "tree": "1cf648ef55b9cfa28012268ab6b0b5c3477534f1",
      "parents": [
        "0f3fe33b398abbecfcf9f08c16959d1a9a14a49a"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Aug 08 16:09:46 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:16 2009 +0900"
      },
      "message": "fs/Kconfig: move nilfs2 outside misc filesystems\n\nSome people asked me questions like the following:\n\nOn Wed, 15 Jul 2009 13:11:21 +0200, Leon Woestenberg wrote:\n\u003e just wondering, any reasons why NILFS2 is one of the miscellaneous\n\u003e filesystems and, for example, btrfs, is not in Kconfig?\n\nActually, nilfs is NOT a filesystem came from other operating systems,\nbut a filesystem created purely for Linux.  Nor is it a flash\nfilesystem but that for generic block devices.\n\nSo, this moves nilfs outside the misc category as I responded in LKML\n\"Re: Why does NILFS2 hide under Miscellaneous filesystems?\"\n(Message-Id: \u003c20090716.002526.93465395.ryusuke@osrg.net\u003e).\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "0f3fe33b398abbecfcf9f08c16959d1a9a14a49a",
      "tree": "a60a3e8a3b90b173a58a2ba9d86e1363598bd279",
      "parents": [
        "2e0c2c73923fed27337039ddfd69985e6c4b91fe"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Aug 15 02:29:28 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:16 2009 +0900"
      },
      "message": "nilfs2: convert nilfs_bmap_lookup to an inline function\n\nThe nilfs_bmap_lookup() is now a wrapper function of\nnilfs_bmap_lookup_at_level().\n\nThis moves the nilfs_bmap_lookup() to a header file converting it to\nan inline function and gives an opportunity for optimization.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "2e0c2c73923fed27337039ddfd69985e6c4b91fe",
      "tree": "a6c4a318776f5804f53994acad7254c7404418f0",
      "parents": [
        "bd8169efae8bdd292675c386010f6b35f0771057"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Aug 15 15:34:33 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:16 2009 +0900"
      },
      "message": "nilfs2: allow btree code to directly call dat operations\n\nThe current btree code is written so that btree functions call dat\noperations via wrapper functions in bmap.c when they allocate, free,\nor modify virtual block addresses.\n\nThis abstraction requires additional function calls and causes\nfrequent call of nilfs_bmap_get_dat() function since it is used in the\nevery wrapper function.\n\nThis removes the wrapper functions and makes them available from\nbtree.c and direct.c, which will increase the opportunity of\ncompiler optimization.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "bd8169efae8bdd292675c386010f6b35f0771057",
      "tree": "aea73bd670910874eb78fd1f2c8ce8b2a494dfcb",
      "parents": [
        "7a102b09232be1ad7c180dfd1f46c7aa95dff1e0"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Aug 15 17:22:13 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:15 2009 +0900"
      },
      "message": "nilfs2: add update functions of virtual block address to dat\n\nThis is a preparation for the successive cleanup (\"nilfs2: allow btree\nto directly call dat operations\").\n\nThis adds functions bundling a few operations to change an entry of\nvirtual block address on the dat file.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "7a102b09232be1ad7c180dfd1f46c7aa95dff1e0",
      "tree": "81691c3a48e3108db1a5341c8dcf4531ac404cac",
      "parents": [
        "3218929dbd25245e0f601df1e359a3ed3f7fb03b"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Aug 15 13:47:09 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:15 2009 +0900"
      },
      "message": "nilfs2: remove individual gfp constants for each metadata file\n\nThis gets rid of NILFS_CPFILE_GFP, NILFS_SUFILE_GFP, NILFS_DAT_GFP,\nand NILFS_IFILE_GFP.  All of these constants refer to NILFS_MDT_GFP,\nand can be removed.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "3218929dbd25245e0f601df1e359a3ed3f7fb03b",
      "tree": "4f3f0f21b9f2e6eaa255315c659c1168ad3b5c96",
      "parents": [
        "6d28f7ea43856449ed2f344cb209af3ba1c6b757"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Aug 15 01:54:59 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:15 2009 +0900"
      },
      "message": "nilfs2: stop zero-fill of btree path just before free it\n\nThe btree path object is cleared just before it is freed.\n\nThis will remove the code doing the unnecessary clear operation.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "6d28f7ea43856449ed2f344cb209af3ba1c6b757",
      "tree": "e41a19062d0956f698eb6ec7deccb6d8ebabfced",
      "parents": [
        "9ead98637300dc7caefd904bbe1e092bf4d21f87"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Aug 15 01:14:10 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:15 2009 +0900"
      },
      "message": "nilfs2: remove unused btree argument from btree functions\n\nEven though many btree functions take a btree object as their first\nargument, most of them are not used in their functions.\n\nThis sticky use of the btree argument is hurting code readability and\ngiving the possibility of inefficient code generation.\n\nSo, this removes the unnecessary btree arguments.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "9ead98637300dc7caefd904bbe1e092bf4d21f87",
      "tree": "e90ef82f107ae807cf5b1ef6f8e92afe7c7a8f70",
      "parents": [
        "1cf58fa840472ec7df6bf2312885949ebb308853"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Aug 14 23:39:45 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:15 2009 +0900"
      },
      "message": "nilfs2: remove nilfs_dat_abort_start and nilfs_dat_abort_free\n\nThese functions are not called from any functions.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "1cf58fa840472ec7df6bf2312885949ebb308853",
      "tree": "2743a6ab63331703e6c9abbb714e2bf13744d009",
      "parents": [
        "43be0ec0387a5ccce2e064cb78502e7b2b4dd590"
      ],
      "author": {
        "name": "Jiro SEKIBA",
        "email": "jir@unicus.jp",
        "time": "Thu Sep 03 22:24:17 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:15 2009 +0900"
      },
      "message": "nilfs2: shorten freeze period due to GC in write operation v3\n\nThis is a re-revised patch to shorten freeze period.\nThis version include a fix of the bug Konishi-san mentioned last time.\n\nWhen GC is runnning, GC moves live block to difference segments.\nCopying live blocks into memory is done in a transaction,\nhowever it is not necessarily to be in the transaction.\nThis patch will get the nilfs_ioctl_move_blocks() out from\ntransaction lock and put it before the transaction.\n\nI ran sysbench fileio test against nilfs partition.\nI copied some DVD/CD images and created snapshot to create live blocks\nbefore starting the benchmark.\n\nFollowings are summary of rc8 and rc8 w/ the patch of per-request\nstatistics, which is min/max and avg.  I ran each test three times and\nbellow is average of those numers.\n\nAccording to this benchmark result, average time is slightly degrated.\nHowever, worstcase (max) result is significantly improved.\nThis can address a few seconds write freeze.\n\n- random write per-request performance of rc8\n min   0.843ms\n max 680.406ms\n avg   3.050ms\n- random write per-request performance of rc8 w/ this patch\n min   0.843ms -\u003e 100.00%\n max 380.490ms -\u003e  55.90%\n avg   3.233ms -\u003e 106.00%\n\n- sequential write per-request performance of rc8\n min   0.736ms\n max 774.343ms\n avg   2.883ms\n- sequential write per-request performance of rc8 w/ this patch\n min   0.720ms -\u003e  97.80%\n max  644.280ms-\u003e  83.20%\n avg   3.130ms -\u003e 108.50%\n\n-----8\u003c-----8\u003c-----nilfs_cleanerd.conf-----8\u003c-----8\u003c-----\nprotection_period       150\nselection_policy        timestamp       # timestamp in ascend order\nnsegments_per_clean     2\ncleaning_interval       2\nretry_interval          60\nuse_mmap\nlog_priority            info\n-----8\u003c-----8\u003c-----nilfs_cleanerd.conf-----8\u003c-----8\u003c-----\n\nSigned-off-by: Jiro SEKIBA \u003cjir@unicus.jp\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "43be0ec0387a5ccce2e064cb78502e7b2b4dd590",
      "tree": "e412246fce3f999b46b960ef416f1f10653ca895",
      "parents": [
        "a4f0b9c5b4ae83636dafde8f3a0e04b5e411a0f3"
      ],
      "author": {
        "name": "Zhu Yanhai",
        "email": "zhu.yanhai@gmail.com",
        "time": "Wed Aug 12 14:17:59 2009 +0800"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:14 2009 +0900"
      },
      "message": "nilfs2: add more check routines in mount process\n\nnilfs2: Add more safeguard routines and protections in mount process,\nwhich also makes nilfs2 report consistency error messages when\ncheckpoint number is invalid.\n\nSigned-off-by: Zhu Yanhai \u003czhu.yanhai@gmail.com\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "a4f0b9c5b4ae83636dafde8f3a0e04b5e411a0f3",
      "tree": "885111c7beec6e69680768c7fb1a8b22d53cd175",
      "parents": [
        "c1b353f04a42f1b531be920149b85343d56a6b3b"
      ],
      "author": {
        "name": "Zhang Qiang",
        "email": "zhangqiang.buaa@gmail.com",
        "time": "Sun Aug 09 19:13:10 2009 +0800"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:14 2009 +0900"
      },
      "message": "nilfs2: An unassigned variable is assigned to a never used structure member\n\nnilfs2: In procedure \u0027nilfs_get_sb()\u0027, when a nilfs filesysttem is\nmounted for the first time, local variable \u0027nilfs-\u003ens_last_cno\u0027 is\nused before loading the latest checkpoint number from disk (in\n\u0027nilfs_fill_super\u0027). \u0027nilfs-\u003ens_last_cno\u0027 is assigned to \u0027sd.cno\u0027, but\n\u0027sd.cno\u0027 has never been used in the procedure.\n\nSigned-off-by: Zhang Qiang \u003czhangqiang.buaa@gmail.com\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "c1b353f04a42f1b531be920149b85343d56a6b3b",
      "tree": "40d81fd322b8ed70beba950ab47dbd0b90487936",
      "parents": [
        "1dfa27105a6cf4171c439fd40a004a0a17838115"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Fri Jun 19 15:25:42 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:14 2009 +0900"
      },
      "message": "nilfs2: use GFP_NOIO for bio_alloc instead of GFP_NOWAIT\n\nAlberto Bertogli advised me about bio_alloc() use in nilfs:\nOn Sat, 13 Jun 2009 22:52:40 -0300, Alberto Bertogli wrote:\n\u003e By the way, those bio_alloc()s are using GFP_NOWAIT but it looks\n\u003e like they could use at least GFP_NOIO or GFP_NOFS, since the caller\n\u003e can (and sometimes do) sleep. The only caller is nilfs_submit_bh(),\n\u003e which calls nilfs_submit_seg_bio() which can sleep calling\n\u003e wait_for_completion().\n\nThis takes in the comment and replaces the use of GFP_NOWAIT flag with\nGFP_NOIO.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "1dfa27105a6cf4171c439fd40a004a0a17838115",
      "tree": "7d348398a9e623324ca86eafd050b8c12abf3cea",
      "parents": [
        "79efdd94111f30c373fce05e4e5822d8ff671c2a"
      ],
      "author": {
        "name": "Jiro SEKIBA",
        "email": "jir@unicus.jp",
        "time": "Thu Jul 23 01:33:49 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:14 2009 +0900"
      },
      "message": "nilfs2: stop using periodic write_super callback\n\nThis removes nilfs_write_super and commit super block in nilfs\ninternal thread, instead of periodic write_super callback.\n\nVFS layer calls -\u003ewrite_super callback periodically.  However,\nit looks like that calling back is ommited when disk I/O is busy.\nAnd when cleanerd (nilfs GC) is runnig, disk I/O tend to be busy thus\nnilfs superblock is not synchronized as nilfs designed.\n\nTo avoid it, syncing superblock by nilfs thread instead of pdflush.\n\nSigned-off-by: Jiro SEKIBA \u003cjir@unicus.jp\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "79efdd94111f30c373fce05e4e5822d8ff671c2a",
      "tree": "9d12c0e87146fb4fb63362f567e574d629a222a1",
      "parents": [
        "6233caa9d5b153c2190d6c1c35c1dd1010104fc1"
      ],
      "author": {
        "name": "Jiro SEKIBA",
        "email": "jir@unicus.jp",
        "time": "Thu Jul 23 01:26:34 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:14 2009 +0900"
      },
      "message": "nilfs2: clean up nilfs_write_super\n\nSeparate conditions that check if syncing super block and alternative\nsuper block are required as inline functions to reuse the conditions.\n\nSigned-off-by: Jiro SEKIBA \u003cjir@unicus.jp\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "6233caa9d5b153c2190d6c1c35c1dd1010104fc1",
      "tree": "885fdeacf10bbbecebf94fc274bfd84ff28066f6",
      "parents": [
        "ec5d66abdb0caf8b753a138568f20770a3d64c8c"
      ],
      "author": {
        "name": "Jiro SEKIBA",
        "email": "jir@unicus.jp",
        "time": "Thu Jul 23 01:26:33 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:14 2009 +0900"
      },
      "message": "nilfs2: fix disorder of nilfs_write_super in nilfs_sync_fs\n\nThis fixes disorder of nilfs_write_super in nilfs_sync_fs.  Commiting\nsuper block must be the end of the function so that every changes are\nreflected.\n\n-\u003esync_fs() is not called frequently so this makes nilfs_sync_fs call\nnilfs_commit_super instead of nilfs_write_super.\n\nSigned-off-by: Jiro SEKIBA \u003cjir@unicus.jp\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "ec5d66abdb0caf8b753a138568f20770a3d64c8c",
      "tree": "238dab276eab98a6aa0f560812e62adde759143a",
      "parents": [
        "b58a285ba40866e22e5876969a8f796a74311d9e"
      ],
      "author": {
        "name": "Jiro SEKIBA",
        "email": "jir@unicus.jp",
        "time": "Fri Jul 10 19:57:28 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:13 2009 +0900"
      },
      "message": "nilfs2: remove redundant super block commit\n\nThis removes redundant super block commit.\n\nnilfs_write_super will call nilfs_commit_super to store super block\ninto block device.  However, nilfs_put_super will call\nnilfs_commit_super right after calling nilfs_write_super.  So calling\nnilfs_write_super in nilfs_put_super would be redundant.\n\nSigned-off-by: Jiro SEKIBA \u003cjir@unicus.jp\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "b58a285ba40866e22e5876969a8f796a74311d9e",
      "tree": "9a667fdb99c0429c1871da626cb7589dec54adb7",
      "parents": [
        "143511046765504d2d1be633efd710f8d84e0407"
      ],
      "author": {
        "name": "Jiro SEKIBA",
        "email": "jir@unicus.jp",
        "time": "Wed Jun 24 20:06:34 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:13 2009 +0900"
      },
      "message": "nilfs2: implement nilfs_show_options to display mount options in /proc/mounts\n\nThis is a patch to display mount options in procfs.\nMount options will show up in the /proc/mounts as other fs does.\n\n...\n/dev/sda6 /mnt nilfs2 ro,relatime,barrier\u003doff,cp\u003d3,order\u003dstrict 0 0\n...\n\nSigned-off-by: Jiro SEKIBA \u003cjir@unicus.jp\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "143511046765504d2d1be633efd710f8d84e0407",
      "tree": "bd9b8570880cfda44a9fad7a2567b977ab53f631",
      "parents": [
        "027d6404eb4327878454db72a006adfcb8001bb8"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Sep 06 17:49:49 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:13 2009 +0900"
      },
      "message": "nilfs2: always lookup disk block address before reading metadata block\n\nThe current metadata file code skips disk address lookup for its data\nblock if the buffer has a mapped flag.\n\nThis has a potential risk to cause read request to be performed\nagainst the stale block address that GC moved, and it may lead to meta\ndata corruption.  The mapped flag is safe if the buffer has an\nuptodate flag, otherwise it may prevent necessary update of disk\naddress in the next read.\n\nThis will avoid the potential problem by ensuring disk address lookup\nbefore reading metadata block even for buffers with the mapped flag.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "027d6404eb4327878454db72a006adfcb8001bb8",
      "tree": "671c0d84ee5fd19ef85a3ff15d99a3519c1ed8bf",
      "parents": [
        "b5696e5e0dbfb6323277d51d67d230317c18aba9"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Aug 02 22:45:33 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:13 2009 +0900"
      },
      "message": "nilfs2: use semaphore to protect pointer to a writable FS-instance\n\nwill get rid of nilfs_get_writer() and nilfs_put_writer() pair used to\nretain a writable FS-instance for a period.\n\nThe pair functions were making up some kind of recursive lock with a\nmutex, but they became overkill since the commit\n201913ed746c7724a40d33ee5a0b6a1fd2ef3193.  Furthermore, they caused\nthe following lockdep warning because the mutex can be released by a\ntask which didn\u0027t lock it:\n\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n [ BUG: bad unlock balance detected! ]\n -------------------------------------\n kswapd0/422 is trying to release lock (\u0026nilfs-\u003ens_writer_mutex) at:\n [\u003cc1359ff5\u003e] mutex_unlock+0x8/0xa\n but there are no more locks to release!\n\n other info that might help us debug this:\n no locks held by kswapd0/422.\n\n stack backtrace:\n Pid: 422, comm: kswapd0 Not tainted 2.6.31-rc4-nilfs #51\n Call Trace:\n  [\u003cc1358f97\u003e] ? printk+0xf/0x18\n  [\u003cc104fea7\u003e] print_unlock_inbalance_bug+0xcc/0xd7\n  [\u003cc11578de\u003e] ? prop_put_global+0x3/0x35\n  [\u003cc1050195\u003e] lock_release+0xed/0x1dc\n  [\u003cc1359ff5\u003e] ? mutex_unlock+0x8/0xa\n  [\u003cc1359f83\u003e] __mutex_unlock_slowpath+0xaf/0x119\n  [\u003cc1359ff5\u003e] mutex_unlock+0x8/0xa\n  [\u003cd1284add\u003e] nilfs_mdt_write_page+0xd8/0xe1 [nilfs2]\n  [\u003cc1092653\u003e] shrink_page_list+0x379/0x68d\n  [\u003cc109171b\u003e] ? isolate_pages_global+0xb4/0x18c\n  [\u003cc1092bd2\u003e] shrink_list+0x26b/0x54b\n  [\u003cc10930be\u003e] shrink_zone+0x20c/0x2a2\n  [\u003cc10936b7\u003e] kswapd+0x407/0x591\n  [\u003cc1091667\u003e] ? isolate_pages_global+0x0/0x18c\n  [\u003cc1040603\u003e] ? autoremove_wake_function+0x0/0x33\n  [\u003cc10932b0\u003e] ? kswapd+0x0/0x591\n  [\u003cc104033b\u003e] kthread+0x69/0x6e\n  [\u003cc10402d2\u003e] ? kthread+0x0/0x6e\n  [\u003cc1003e33\u003e] kernel_thread_helper+0x7/0x1a\n\nThis patch uses a reader/writer semaphore instead of the own lock and\nkills this warning.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "b5696e5e0dbfb6323277d51d67d230317c18aba9",
      "tree": "e4ee23f43dad9da26ee470b54ef1afcc41971ddc",
      "parents": [
        "1b2f5a641bca91966fd91dc489238068a0ab4b69"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Sep 03 17:42:48 2009 +0200"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:13 2009 +0900"
      },
      "message": "nilfs2: fix format string compile warning (ino_t)\n\nUnlike on most other architectures ino_t is an unsigned int on s390.\nSo add an explicit cast to avoid this compile warning:\n\nfs/nilfs2/recovery.c: In function \u0027recover_dsync_blocks\u0027:\nfs/nilfs2/recovery.c:555: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 3 has type \u0027ino_t\u0027\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "1b2f5a641bca91966fd91dc489238068a0ab4b69",
      "tree": "85ab9020e9628d43ffabc6ab354efcf6ea1ef3d2",
      "parents": [
        "74fca6a42863ffacaf7ba6f1936a9f228950f657"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sat Aug 22 19:10:07 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Mon Sep 14 18:27:12 2009 +0900"
      },
      "message": "nilfs2: fix ignored error code in __nilfs_read_inode()\n\nThe __nilfs_read_inode function is ignoring the error code returned\nfrom nilfs_read_inode_common(), and wrongly delivers a success code\n(zero) when it escapes from the function in erroneous cases.\n\nThis adds the missing error handling.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "86d006365610fe6cda243d89b67d5047dca44656",
      "tree": "7ddc920e35524759f004cb4c5766ccb506044321",
      "parents": [
        "2b88f7c535a8125213def012a67c1b0a667ceb2e"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 14 09:50:57 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 14 09:50:57 2009 +0100"
      },
      "message": "GFS2: Whitespace fixes\n\nReported-by: Daniel Walker \u003cdwalker@fifo99.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "cabc5c0f7fa1342049042d6e147db5a73773955b",
      "tree": "2be09ae1777d580c7dfe05d6d5b76e57281ec447",
      "parents": [
        "b73d884756303316ead4cd7dad51236b2a515a1a",
        "86d710146fb9975f04c505ec78caa43d227c1018"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 20:35:13 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 20:35:13 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n\nConflicts:\n\tarch/sparc/Kconfig\n"
    },
    {
      "commit": "13af7a6ea502fcdd4c0e3d7de6e332b102309491",
      "tree": "cea083e14ac3469db1279a584d20a876606d315a",
      "parents": [
        "74c520da5414d15b0ab2839d67efab2e7227be75"
      ],
      "author": {
        "name": "Dhananjay Phadke",
        "email": "dhananjay@netxen.com",
        "time": "Fri Sep 11 11:28:15 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 16:58:51 2009 -0700"
      },
      "message": "netxen: update copyright\n\no Add QLogic copyright, add linux-driver@qlogic.com to\n  MAINTAINERS.\no Delete old contact information.\n\nSigned-off-by: Dhananjay Phadke \u003cdhananjay@netxen.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "74c520da5414d15b0ab2839d67efab2e7227be75",
      "tree": "d079968ab0f36d4cf7521763ef64d165976537e7",
      "parents": [
        "ec5c50cb93c446a4686863df74e4b7a547628115"
      ],
      "author": {
        "name": "Amit Kumar Salecha",
        "email": "amit@qlogic.com",
        "time": "Fri Sep 11 11:28:14 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 16:58:48 2009 -0700"
      },
      "message": "netxen: fix tx timeout recovery\n\nRedesign tx timeout handling in line with new firmware\nreset design that co-ordinates with other PCI function\ndrivers.\n\no For NX3031, first try to reset PCI function\u0027s own\n  context before requesting firmware reset.\n\no For NX2031, since firmware heartbit is not supported\n  directly request firmware reset.\n\nSigned-off-by: Amit Kumar Salecha \u003camit@netxen.com\u003e\nSigned-off-by: Dhananjay Phadke \u003cdhananjay@netxen.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ec5c50cb93c446a4686863df74e4b7a547628115",
      "tree": "276e2c1d4c0e806c429322e75f10f985da441ee4",
      "parents": [
        "ea6828b8aa3a8ebae8d7740f32f212ba1d2f0742"
      ],
      "author": {
        "name": "Dhananjay Phadke",
        "email": "dhananjay@netxen.com",
        "time": "Fri Sep 11 11:28:13 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 16:58:45 2009 -0700"
      },
      "message": "netxen: fix file firmware leak\n\nRelease file firmware when no firmware reset is required.\n\nSigned-off-by: Dhananjay Phadke \u003cdhananjay@netxen.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea6828b8aa3a8ebae8d7740f32f212ba1d2f0742",
      "tree": "6a783fc6ceb9de3edf2577af1ed5d6acc0deca74",
      "parents": [
        "f78c0850d2ebe7a44a4b0263480a2f1a36a92218"
      ],
      "author": {
        "name": "Dhananjay Phadke",
        "email": "dhananjay@netxen.com",
        "time": "Fri Sep 11 11:28:12 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 16:58:42 2009 -0700"
      },
      "message": "netxen: improve pci memory access\n\no Access on card memory through memory controller (agent)\n  rather than moving small pci window around. Clean up the\n  code for moving windows around.\n\no Restrict memory accesss to 64 bit, currently only firmware\n  download uses this.\n\nSigned-off-by: Dhananjay Phadke \u003cdhananjay@netxen.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f78c0850d2ebe7a44a4b0263480a2f1a36a92218",
      "tree": "0965632234e9a3a306ad2c8cde5f0066bb6acf9f",
      "parents": [
        "5ea1c50662d447de344812054175d7151783ea25"
      ],
      "author": {
        "name": "Amit Kumar Salecha",
        "email": "amit@qlogic.com",
        "time": "Fri Sep 11 11:28:11 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 16:58:38 2009 -0700"
      },
      "message": "netxen: change firmware write size\n\nUse 8 byte strides for firmware download into card\nmemory since oncard memory controller needs 8 byte\n(64 bit) accesses. This avoids unnecessary rmw cycles.\n\nSigned-off-by: Amit Kumar Salecha \u003camit@netxen.com\u003e\nSigned-off-by: Dhananjay Phadke \u003cdhananjay@netxen.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5ea1c50662d447de344812054175d7151783ea25",
      "tree": "0e8808b8d747dd237316ce050fe3fceb7bb32cd3",
      "parents": [
        "9feae56c0de65fdd8b1f64f376bb6578417d2b79"
      ],
      "author": {
        "name": "Matt Carlson",
        "email": "mcarlson@broadcom.com",
        "time": "Fri Sep 11 16:50:16 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 16:50:16 2009 -0700"
      },
      "message": "tg3: Fix return ring size breakage\n\nCommit f6eb9b1fc1411d22c073f5264e5630a541d0f7df, \"tg3: Add 5717 asic\nrev\" changed how the rx return ring size operations are done.  It\neffectively inverts the sense of the previous test, but it failed to\nalso invert the resulting sizes.  This patch corrects that error.\n\nSigned-off-by: Matt Carlson \u003cmcarlson@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "86d710146fb9975f04c505ec78caa43d227c1018",
      "tree": "c7f95412b7760e6b7e3c15eab8b2ac944256d7ac",
      "parents": [
        "86373435d2299b722ec87c416005953215f049c1",
        "ab3bbaa8b257845e248e9a01d12a69ca245f4197"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 16:39:11 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 16:39:11 2009 -0700"
      },
      "message": "Merge git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (87 commits)\n  NFSv4: Disallow \u0027mount -t nfs4 -overs\u003d2\u0027 and \u0027mount -t nfs4 -overs\u003d3\u0027\n  NFS: Allow the \"nfs\" file system type to support NFSv4\n  NFS: Move details of nfs4_get_sb() to a helper\n  NFS: Refactor NFSv4 text-based mount option validation\n  NFS: Mount option parser should detect missing \"port\u003d\"\n  NFS: out of date comment regarding O_EXCL above nfs3_proc_create()\n  NFS: Handle a zero-length auth flavor list\n  SUNRPC: Ensure that sunrpc gets initialised before nfs, lockd, etc...\n  nfs: fix compile error in rpc_pipefs.h\n  nfs: Remove reference to generic_osync_inode from a comment\n  SUNRPC: cache must take a reference to the cache detail\u0027s module on open()\n  NFS: Use the DNS resolver in the mount code.\n  NFS: Add a dns resolver for use with NFSv4 referrals and migration\n  SUNRPC: Fix a typo in cache_pipefs_files\n  nfs: nfs4xdr: optimize low level decoding\n  nfs: nfs4xdr: get rid of READ_BUF\n  nfs: nfs4xdr: simplify decode_exchange_id by reusing decode_opaque_inline\n  nfs: nfs4xdr: get rid of COPYMEM\n  nfs: nfs4xdr: introduce decode_sessionid helper\n  nfs: nfs4xdr: introduce decode_verifier helper\n  ...\n"
    },
    {
      "commit": "86373435d2299b722ec87c416005953215f049c1",
      "tree": "40d9c8e8bdf2f48b9c69c3423cdad3c0feded67e",
      "parents": [
        "483e3cd6a34ad2d7e41100bc1b98614ac42a4567",
        "c984123c7a888731b7e971e1c878b6f2b716b292"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 16:38:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 16:38:33 2009 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: (25 commits)\n  pata_rz1000: use printk_once\n  ahci: kill @force_restart and refine CLO for ahci_kick_engine()\n  pata_cs5535: add pci id for AMD based CS5535 controllers\n  ahci: Add AMD SB900 SATA/IDE controller device IDs\n  drivers/ata: use resource_size\n  sata_fsl: Defer non-ncq commands when ncq commands active\n  libata: add SATA PMP revision information for spec 1.2\n  libata: fix off-by-one error in ata_tf_read_block()\n  ahci: Gigabyte GA-MA69VM-S2 can\u0027t do 64bit DMA\n  ahci: make ahci_asus_m2a_vm_32bit_only() quirk more generic\n  dmi: extend dmi_get_year() to dmi_get_date()\n  dmi: fix date handling in dmi_get_year()\n  libata: unbreak TPM filtering by reorganizing ata_scsi_pass_thru()\n  sata_sis: convert to slave_link\n  sata_sil24: always set protocol override for non-ATAPI data commands\n  libata: Export AHCI capabilities\n  libata: Delegate nonrot flag setting to SCSI\n  [libata] Add pata_rdc driver for RDC ATA devices\n  drivers/ata: Remove unnecessary semicolons\n  libata: remove spindown skipping and warning\n  ...\n"
    },
    {
      "commit": "9feae56c0de65fdd8b1f64f376bb6578417d2b79",
      "tree": "84d3338d3813efffcee251b43af1ab234c9fcc18",
      "parents": [
        "02571f89871e009b66fb5f8d5ae222e90e9f357c"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Sep 11 12:41:04 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 15:51:39 2009 -0700"
      },
      "message": "netxen: build fix for INET\u003dn\n\nWhen CONFIG_INET is disabled, netxen has a build failure:\n\nnetxen_nic_main.c:(.text+0x118fd1): undefined reference to `netxen_config_indev_addr\u0027\n\nso make that function just an empty stub when CONFIG_INET\u003dn.\n(not \"inline\" since that conflicts with other declarations of it)\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Dhananjay Phadke \u003cdhananjay@netxen.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "483e3cd6a34ad2d7e41100bc1b98614ac42a4567",
      "tree": "ef544ccdd1e95991c32fd8b656714583b7398371",
      "parents": [
        "774a694f8cd08115d130a290d73c6d8563f26b1b",
        "d28daf923ac5e4a0d7cecebae56f3e339189366b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:24:03 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:24:03 2009 -0700"
      },
      "message": "Merge branch \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (105 commits)\n  ring-buffer: only enable ring_buffer_swap_cpu when needed\n  ring-buffer: check for swapped buffers in start of committing\n  tracing: report error in trace if we fail to swap latency buffer\n  tracing: add trace_array_printk for internal tracers to use\n  tracing: pass around ring buffer instead of tracer\n  tracing: make tracing_reset safe for external use\n  tracing: use timestamp to determine start of latency traces\n  tracing: Remove mentioning of legacy latency_trace file from documentation\n  tracing/filters: Defer pred allocation, fix memory leak\n  tracing: remove users of tracing_reset\n  tracing: disable buffers and synchronize_sched before resetting\n  tracing: disable update max tracer while reading trace\n  tracing: print out start and stop in latency traces\n  ring-buffer: disable all cpu buffers when one finds a problem\n  ring-buffer: do not count discarded events\n  ring-buffer: remove ring_buffer_event_discard\n  ring-buffer: fix ring_buffer_read crossing pages\n  ring-buffer: remove unnecessary cpu_relax\n  ring-buffer: do not swap buffers during a commit\n  ring-buffer: do not reset while in a commit\n  ...\n"
    },
    {
      "commit": "774a694f8cd08115d130a290d73c6d8563f26b1b",
      "tree": "2b5f834ac7a149278d2a7e44d7afe69f40ef1431",
      "parents": [
        "4f0ac854167846bd55cd81dbc9a36e03708aa01c",
        "e1f8450854d69f0291882804406ea1bab3ca44b4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:23:18 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:23:18 2009 -0700"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (64 commits)\n  sched: Fix sched::sched_stat_wait tracepoint field\n  sched: Disable NEW_FAIR_SLEEPERS for now\n  sched: Keep kthreads at default priority\n  sched: Re-tune the scheduler latency defaults to decrease worst-case latencies\n  sched: Turn off child_runs_first\n  sched: Ensure that a child can\u0027t gain time over it\u0027s parent after fork()\n  sched: enable SD_WAKE_IDLE\n  sched: Deal with low-load in wake_affine()\n  sched: Remove short cut from select_task_rq_fair()\n  sched: Turn on SD_BALANCE_NEWIDLE\n  sched: Clean up topology.h\n  sched: Fix dynamic power-balancing crash\n  sched: Remove reciprocal for cpu_power\n  sched: Try to deal with low capacity, fix update_sd_power_savings_stats()\n  sched: Try to deal with low capacity\n  sched: Scale down cpu_power due to RT tasks\n  sched: Implement dynamic cpu_power\n  sched: Add smt_gain\n  sched: Update the cpu_power sum during load-balance\n  sched: Add SD_PREFER_SIBLING\n  ...\n"
    },
    {
      "commit": "4f0ac854167846bd55cd81dbc9a36e03708aa01c",
      "tree": "0eb34d18a667f8e68ad9255f791560b028fed2a6",
      "parents": [
        "b9356c53ba2f593081e5aa45eb67adcce243d1c0",
        "6b58e7f146f8d79c08f62087f928e1f01747de71"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:22:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:22:43 2009 -0700"
      },
      "message": "Merge branch \u0027perfcounters-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perfcounters-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (60 commits)\n  perf tools: Avoid unnecessary work in directory lookups\n  perf stat: Clean up statistics calculations a bit more\n  perf stat: More advanced variance computation\n  perf stat: Use stddev_mean in stead of stddev\n  perf stat: Remove the limit on repeat\n  perf stat: Change noise calculation to use stddev\n  x86, perf_counter, bts: Do not allow kernel BTS tracing for now\n  x86, perf_counter, bts: Correct pointer-to-u64 casts\n  x86, perf_counter, bts: Fail if BTS is not available\n  perf_counter: Fix output-sharing error path\n  perf trace: Fix read_string()\n  perf trace: Print out in nanoseconds\n  perf tools: Seek to the end of the header area\n  perf trace: Fix parsing of perf.data\n  perf trace: Sample timestamps as well\n  perf_counter: Introduce new (non-)paranoia level to allow raw tracepoint access\n  perf trace: Sample the CPU too\n  perf tools: Work around strict aliasing related warnings\n  perf tools: Clean up warnings list in the Makefile\n  perf tools: Complete support for dynamic strings\n  ...\n"
    },
    {
      "commit": "b9356c53ba2f593081e5aa45eb67adcce243d1c0",
      "tree": "debf2b72d5241dbaa5b4f2088feb0a2584388792",
      "parents": [
        "d90a7e86401ffea2163a4337f3a47f3909c4e255",
        "4680e64a88c4ce2c4e736dade99233e3def13fa7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:22:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:22:30 2009 -0700"
      },
      "message": "Merge branch \u0027oprofile-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027oprofile-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (55 commits)\n  arch/x86/oprofile/op_model_amd.c: fix op_amd_handle_ibs() return type\n  Revert \"x86: oprofile/op_model_amd.c set return values for op_amd_handle_ibs()\"\n  x86/oprofile: Small coding style fixes\n  x86/oprofile: Add counter reservation check for virtual counters\n  x86/oprofile: Implement op_x86_virt_to_phys()\n  oprofile: Adding switch counter to oprofile statistic variables\n  x86/oprofile: Implement mux_clone()\n  x86/oprofile: Enable multiplexing only if the model supports it\n  x86/oprofile: Add function has_mux() to check multiplexing support\n  x86/oprofile: Modify initialization of num_virt_counters\n  x86/oprofile: Remove unused num_virt_controls from struct op_x86_model_spec\n  x86/oprofile: Remove const qualifier from struct op_x86_model_spec\n  x86/oprofile: Moving nmi_cpu_switch() in nmi_int.c\n  x86/oprofile: Moving nmi_cpu_save/restore_mpx_registers() in nmi_int.c\n  x86/oprofile: Moving nmi_setup_cpu_mux() in nmi_int.c\n  x86/oprofile: Implement multiplexing setup/shutdown functions\n  oprofile: Grouping multiplexing code in op_model_amd.c\n  oprofile: Introduce op_x86_phys_to_virt()\n  oprofile: Grouping multiplexing code in oprof.c\n  oprofile: Remove oprofile_multiplexing_init()\n  ...\n"
    },
    {
      "commit": "d90a7e86401ffea2163a4337f3a47f3909c4e255",
      "tree": "afe3d4aa24849c561bb1e6c04c4c54808cbedb47",
      "parents": [
        "12a499612e1ff439bdad240c7f86c55366941d4d",
        "4dbc9ca219b0f294332e734528f7b82211700170"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:21:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:21:31 2009 -0700"
      },
      "message": "Merge branch \u0027irq-threaded-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-threaded-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  genirq: Do not mask oneshot edge type interrupts\n  genirq: Support nested threaded irq handling\n  genirq: Add buslock support\n  genirq: Add oneshot support\n"
    },
    {
      "commit": "12a499612e1ff439bdad240c7f86c55366941d4d",
      "tree": "9fd218631e0c8c26a5ffc41ebce1d65f8e826339",
      "parents": [
        "eee2775d9924b22643bd89b2e568cc5eed7e8a04",
        "70590ea75b7f9ef4846b0b0f4400e8338dbcc7eb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:20:42 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:20:42 2009 -0700"
      },
      "message": "Merge branch \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  pci/intr_remapping: Allocate irq_iommu on node\n  irq: Add irq_node() primitive\n  irq: Make sure irq_desc for legacy irq get correct node setting\n  genirq: Add prototype for handle_nested_irq()\n  irq: Remove superfluous NULL pointer check in check_irq_resend()\n  irq: Clean up by removing irqfixup MODULE_PARM_DESC()\n  genirq: Fix comment describing suspend_device_irqs()\n  genirq: Remove obsolete defines and typedefs\n"
    },
    {
      "commit": "eee2775d9924b22643bd89b2e568cc5eed7e8a04",
      "tree": "095ad7851895c5d39596f3ff7ee1e078235a2501",
      "parents": [
        "53e16fbd30005905168d9b75555fdc7e0a2eac58",
        "7db905e636f08ea5bc9825c1f73d77802e8ccad5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:20:18 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:20:18 2009 -0700"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (28 commits)\n  rcu: Move end of special early-boot RCU operation earlier\n  rcu: Changes from reviews: avoid casts, fix/add warnings, improve comments\n  rcu: Create rcutree plugins to handle hotplug CPU for multi-level trees\n  rcu: Remove lockdep annotations from RCU\u0027s _notrace() API members\n  rcu: Add #ifdef to suppress __rcu_offline_cpu() warning in !HOTPLUG_CPU builds\n  rcu: Add CPU-offline processing for single-node configurations\n  rcu: Add \"notrace\" to RCU function headers used by ftrace\n  rcu: Remove CONFIG_PREEMPT_RCU\n  rcu: Merge preemptable-RCU functionality into hierarchical RCU\n  rcu: Simplify rcu_pending()/rcu_check_callbacks() API\n  rcu: Use debugfs_remove_recursive() simplify code.\n  rcu: Merge per-RCU-flavor initialization into pre-existing macro\n  rcu: Fix online/offline indication for rcudata.csv trace file\n  rcu: Consolidate sparse and lockdep declarations in include/linux/rcupdate.h\n  rcu: Renamings to increase RCU clarity\n  rcu: Move private definitions from include/linux/rcutree.h to kernel/rcutree.h\n  rcu: Expunge lingering references to CONFIG_CLASSIC_RCU, optimize on !SMP\n  rcu: Delay rcu_barrier() wait until beginning of next CPU-hotunplug operation.\n  rcu: Fix typo in rcu_irq_exit() comment header\n  rcu: Make rcupreempt_trace.c look at offline CPUs\n  ...\n"
    },
    {
      "commit": "53e16fbd30005905168d9b75555fdc7e0a2eac58",
      "tree": "b0227d0b96aa1e7c5a7f4ac1bdc90a5c36e3b566",
      "parents": [
        "4e3408d9f71a70316ebe844c20ef0d7715281f84",
        "42c2c8c854a716b05882a122632ddcd6dbe108f1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:19:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:19:40 2009 -0700"
      },
      "message": "Merge branch \u0027core-printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-printk-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  printk: Fix \"printk: Enable the use of more than one CON_BOOT (early console)\"\n  printk: Restore previous console_loglevel when re-enabling logging\n  printk: Ensure that \"console enabled\" messages are printed on the console\n  printk: Enable the use of more than one CON_BOOT (early console)\n"
    },
    {
      "commit": "4e3408d9f71a70316ebe844c20ef0d7715281f84",
      "tree": "365f67fbcbe8e047a5fbead3db5d2e7ac20b3618",
      "parents": [
        "a66a50054e46ec2a03244bc14c48b9125fcd75a7",
        "96910b6dc8a4fdb75e69f09f47b62d41743d36ba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:17:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:17:24 2009 -0700"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (32 commits)\n  locking, m68k/asm-offsets: Rename signal defines\n  locking: Inline spinlock code for all locking variants on s390\n  locking: Simplify spinlock inlining\n  locking: Allow arch-inlined spinlocks\n  locking: Move spinlock function bodies to header file\n  locking, m68k: Calculate thread_info offset with asm offset\n  locking, m68k/asm-offsets: Rename pt_regs offset defines\n  locking, sparc: Rename __spin_try_lock() and friends\n  locking, powerpc: Rename __spin_try_lock() and friends\n  lockdep: Remove recursion stattistics\n  lockdep: Simplify lock_stat seqfile code\n  lockdep: Simplify lockdep_chains seqfile code\n  lockdep: Simplify lockdep seqfile code\n  lockdep: Fix missing entries in /proc/lock_chains\n  lockdep: Fix missing entry in /proc/lock_stat\n  lockdep: Fix memory usage info of BFS\n  lockdep: Reintroduce generation count to make BFS faster\n  lockdep: Deal with many similar locks\n  lockdep: Introduce lockdep_assert_held()\n  lockdep: Fix style nits\n  ...\n"
    },
    {
      "commit": "a66a50054e46ec2a03244bc14c48b9125fcd75a7",
      "tree": "ab549e4762a89d76846f104162d8f65b52c41a69",
      "parents": [
        "7193bea53f9d9730bbc859777c2f86c76349914d",
        "695a461296e5df148c99ac087b9e1cb380f4db15"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:16:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:16:37 2009 -0700"
      },
      "message": "Merge branch \u0027core-iommu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-iommu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (59 commits)\n  x86/gart: Do not select AGP for GART_IOMMU\n  x86/amd-iommu: Initialize passthrough mode when requested\n  x86/amd-iommu: Don\u0027t detach device from pt domain on driver unbind\n  x86/amd-iommu: Make sure a device is assigned in passthrough mode\n  x86/amd-iommu: Align locking between attach_device and detach_device\n  x86/amd-iommu: Fix device table write order\n  x86/amd-iommu: Add passthrough mode initialization functions\n  x86/amd-iommu: Add core functions for pd allocation/freeing\n  x86/dma: Mark iommu_pass_through as __read_mostly\n  x86/amd-iommu: Change iommu_map_page to support multiple page sizes\n  x86/amd-iommu: Support higher level PTEs in iommu_page_unmap\n  x86/amd-iommu: Remove old page table handling macros\n  x86/amd-iommu: Use 2-level page tables for dma_ops domains\n  x86/amd-iommu: Remove bus_addr check in iommu_map_page\n  x86/amd-iommu: Remove last usages of IOMMU_PTE_L0_INDEX\n  x86/amd-iommu: Change alloc_pte to support 64 bit address space\n  x86/amd-iommu: Introduce increase_address_space function\n  x86/amd-iommu: Flush domains if address space size was increased\n  x86/amd-iommu: Introduce set_dte_entry function\n  x86/amd-iommu: Add a gneric version of amd_iommu_flush_all_devices\n  ...\n"
    },
    {
      "commit": "7193bea53f9d9730bbc859777c2f86c76349914d",
      "tree": "c841e3d256d63bf30cd4acc4751d9213c0ba7dff",
      "parents": [
        "989aa44a5f215427085ccfe65c1e378e3399c9eb",
        "84bc4af59081ee974dd80210e694ab59ebe51ce8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:16:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:16:22 2009 -0700"
      },
      "message": "Merge branch \u0027core-futexes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-futexes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  futex: Detect mismatched requeue targets\n  futex: Correct futex_wait_requeue_pi() commentary\n"
    },
    {
      "commit": "989aa44a5f215427085ccfe65c1e378e3399c9eb",
      "tree": "cd1993f2187e17e0e8d46d4fe12848e7be21fe96",
      "parents": [
        "4004f02d7af9bb1f5fd993fba60ed5bd0f5397a9",
        "47cab6a722d44c71c4f8224017ef548522243cf4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:15:55 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:15:55 2009 -0700"
      },
      "message": "Merge branch \u0027core-debug-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-debug-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  debug lockups: Improve lockup detection, fix generic arch fallback\n  debug lockups: Improve lockup detection\n"
    },
    {
      "commit": "4004f02d7af9bb1f5fd993fba60ed5bd0f5397a9",
      "tree": "3d7d6dbd82b514550491d93c7a850394deba3f49",
      "parents": [
        "332a3392188e0ad966543c87b8da2b9d246f301d",
        "5b0f437df0a3e374d26ad533eb78fe64744f55a8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:13:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 11 13:13:32 2009 -0700"
      },
      "message": "Merge branch \u0027core-cleanups-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-cleanups-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  workqueues: Improve schedule_work() documentation\n"
    },
    {
      "commit": "02571f89871e009b66fb5f8d5ae222e90e9f357c",
      "tree": "b928bc79e282f656ebe58b6ebd3b08fe3e505f7e",
      "parents": [
        "f5bb1c558405aaac41b08b2ea71137db9db46e72"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Wed Sep 09 00:00:06 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 12:55:10 2009 -0700"
      },
      "message": "cdc-phonet: autoconfigure Phonet address\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f5bb1c558405aaac41b08b2ea71137db9db46e72",
      "tree": "deeabf046d4d18675bf85360a3059eb4f29f8d62",
      "parents": [
        "998ec759ef2fc9c60319815c72b2b699ab939733"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Wed Sep 09 00:00:05 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 12:55:06 2009 -0700"
      },
      "message": "Phonet: back-end for autoconfigured addresses\n\nIn some cases, the network device driver knows what layer-3 address the\ndevice should have. This adds support for the Phonet stack to\nautomatically request from the driver and add that address to the\nnetwork device.\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "998ec759ef2fc9c60319815c72b2b699ab939733",
      "tree": "7e6fe0dccd9578e24c47e82cc8a497a681c58752",
      "parents": [
        "cc411d0bae9c19ec85a150aeab4b08335f5751d1"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Tue Sep 08 23:59:51 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 12:55:04 2009 -0700"
      },
      "message": "Phonet: fix netlink address dump error handling\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cc411d0bae9c19ec85a150aeab4b08335f5751d1",
      "tree": "c42430cdb955c158d69fd9fef053c01130f8eb07",
      "parents": [
        "384912ed194e43c03ad1cdaa09b0b1e488c34d46"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Wed Sep 09 14:41:32 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 12:54:58 2009 -0700"
      },
      "message": "ipv6: Add IFA_F_DADFAILED flag\n\nAdd IFA_F_DADFAILED flag to denote an IPv6 address that has\nfailed Duplicate Address Detection, that way tools like\n/sbin/ip can be more informative.\n\n3: eth0: \u003cBROADCAST,MULTICAST,UP,LOWER_UP\u003e mtu 1500 qlen 1000\n    inet6 2001:db8::1/64 scope global tentative dadfailed\n       valid_lft forever preferred_lft forever\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "384912ed194e43c03ad1cdaa09b0b1e488c34d46",
      "tree": "bdaae15252819543cff0900941238d2b99bb2300",
      "parents": [
        "f510c35de0e63e1066db83d2fdce99e6dbde0c80"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Aug 31 21:08:19 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 12:54:55 2009 -0700"
      },
      "message": "net: Add DEVTYPE support for Ethernet based devices\n\nThe Ethernet framing is used for a lot of devices these days. Most\nprominent are WiFi and WiMAX based devices. However for userspace\napplication it is important to classify these devices correctly and\nnot only see them as Ethernet devices. The daemons like HAL, DeviceKit\nor even NetworkManager with udev support tries to do the classification\nin userspace with a lot trickery and extra system calls. This is not\ngood and actually reaches its limitations. Especially since the kernel\ndoes know the type of the Ethernet device it is pretty stupid.\n\nTo solve this problem the underlying device type needs to be set and\nthen the value will be exported as DEVTYPE via uevents and available\nwithin udev.\n\n  # cat /sys/class/net/wlan0/uevent\n  DEVTYPE\u003dwlan\n  INTERFACE\u003dwlan0\n  IFINDEX\u003d5\n\nThis is similar to subsystems like USB and SCSI that distinguish\nbetween hosts, devices, disks, partitions etc.\n\nThe new SET_NETDEV_DEVTYPE() is a convenience helper to set the actual\ndevice type. All device types are free form, but for convenience the\nsame strings as used with RFKILL are choosen.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f510c35de0e63e1066db83d2fdce99e6dbde0c80",
      "tree": "6a20dee2eb58fb0bb17fe0cd74bcffe0fbe2a549",
      "parents": [
        "864fdf884e82bacbe8ca5e93bd43393a61d2e2b4"
      ],
      "author": {
        "name": "Mikael Pettersson",
        "email": "mikpe@it.uu.se",
        "time": "Sun Sep 06 23:59:16 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 12:54:49 2009 -0700"
      },
      "message": "mv643xx_eth.c: remove unused txq_set_wrr()\n\nThe txq_set_wrr() function in drivers/net/mv643xx_eth.c is\nunused, not even referenced under #if 0 or something like that,\nwhich results in a compile-time warning:\n\ndrivers/net/mv643xx_eth.c:1070: warning: \u0027txq_set_wrr\u0027 defined but not used\n\nFix: remove it.\n\nSigned-off-by: Mikael Pettersson \u003cmikpe@it.uu.se\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "864fdf884e82bacbe8ca5e93bd43393a61d2e2b4",
      "tree": "53a45c507d77eb8cc33cd9226ebeac947119ede3",
      "parents": [
        "7de8ee787e8e10adaf5635bffab4ee19a7558afb"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Thu Sep 10 11:48:12 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 12:54:45 2009 -0700"
      },
      "message": "ucc_geth: Fix hangs after switching from full to half duplex\n\nMPC8360 QE UCC ethernet controllers hang when changing link duplex\nunder a load (a bit of NFS activity is enough).\n\n  PHY: mdio@e0102120:00 - Link is Up - 1000/Full\n  sh-3.00# ethtool -s eth0 speed 100 duplex half autoneg off\n  PHY: mdio@e0102120:00 - Link is Down\n  PHY: mdio@e0102120:00 - Link is Up - 100/Half\n  NETDEV WATCHDOG: eth0 (ucc_geth): transmit queue 0 timed out\n  ------------[ cut here ]------------\n  Badness at c01fcbd0 [verbose debug info unavailable]\n  NIP: c01fcbd0 LR: c01fcbd0 CTR: c0194e44\n  ...\n\nThe cure is to disable the controller before changing speed/duplex\nand enable it afterwards.\n\nThough, disabling the controller might take quite a while, so we\nbetter not grab any spinlocks in adjust_link(). Instead, we quiesce\nthe driver\u0027s activity, and only then disable the controller.\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7de8ee787e8e10adaf5635bffab4ee19a7558afb",
      "tree": "2675ab13458dbcc692327456adbb2e9176db96e0",
      "parents": [
        "8ff44985c761ad6697a3c97e7b14cf5362ff3801"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Wed Sep 09 16:01:40 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 12:54:42 2009 -0700"
      },
      "message": "ucc_geth: Rearrange some code to avoid forward declarations\n\nWe\u0027ll need ugeth_disable() and ugeth_enable() calls earlier in the\nfile, so rearrange some code to avoid forward declarations.\n\nThe patch doesn\u0027t contain any functional changes.\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nAcked-by: Timur Tabi \u003ctimur@freescale.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8ff44985c761ad6697a3c97e7b14cf5362ff3801",
      "tree": "3f9903a9573ea74938c8ff66be449e1d0a965dba",
      "parents": [
        "a4b11649618ef5366ee553f4083449d6bee5d8ec"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Wed Sep 09 16:01:30 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 12:54:38 2009 -0700"
      },
      "message": "phy/marvell: Make non-aneg speed/duplex forcing work for 88E1111 PHYs\n\nAccording to specs, when auto-negotiation is disabled, Marvell PHYs need\na software reset after changing speed/duplex forcing bits. Otherwise,\nthe modified bits have no effect.\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a4b11649618ef5366ee553f4083449d6bee5d8ec",
      "tree": "50d7ffad6a9d1ab544e8ef6b7d9e0ec93ba6bb17",
      "parents": [
        "966a5d1b85c45f1b55abbc1b595e0b5ca14b87db"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Fri Sep 11 06:22:09 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 12:54:34 2009 -0700"
      },
      "message": "drivers/net/phy: introduce missing kfree\n\nError handling code following a kzalloc should free the allocated data.\n\nThe semantic match that finds the problem is as follows:\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@r exists@\nlocal idexpression x;\nstatement S;\nexpression E;\nidentifier f,f1,l;\nposition p1,p2;\nexpression *ptr !\u003d NULL;\n@@\n\nx@p1 \u003d \\(kmalloc\\|kzalloc\\|kcalloc\\)(...);\n...\nif (x \u003d\u003d NULL) S\n\u003c... when !\u003d x\n     when !\u003d if (...) { \u003c+...x...+\u003e }\n(\nx-\u003ef1 \u003d E\n|\n (x-\u003ef1 \u003d\u003d NULL || ...)\n|\n f(...,x-\u003ef1,...)\n)\n...\u003e\n(\n return \\(0\\|\u003c+...x...+\u003e\\|ptr\\);\n|\n return@p2 ...;\n)\n\n@script:python@\np1 \u003c\u003c r.p1;\np2 \u003c\u003c r.p2;\n@@\n\nprint \"* file: %s kmalloc %s return %s\" % (p1[0].file,p1[0].line,p2[0].line)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "966a5d1b85c45f1b55abbc1b595e0b5ca14b87db",
      "tree": "7360488b3447653fd616ea0688a7614b25b500d7",
      "parents": [
        "4fb019a01a7f67342d4a88d26c0817afe392c669"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Fri Sep 11 06:21:51 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 12:54:30 2009 -0700"
      },
      "message": "drivers/net/wan: introduce missing kfree\n\nError handling code following a kmalloc should free the allocated data.\n\nThe semantic match that finds the problem is as follows:\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@r exists@\nlocal idexpression x;\nstatement S;\nexpression E;\nidentifier f,f1,l;\nposition p1,p2;\nexpression *ptr !\u003d NULL;\n@@\n\nx@p1 \u003d \\(kmalloc\\|kzalloc\\|kcalloc\\)(...);\n...\nif (x \u003d\u003d NULL) S\n\u003c... when !\u003d x\n     when !\u003d if (...) { \u003c+...x...+\u003e }\n(\nx-\u003ef1 \u003d E\n|\n (x-\u003ef1 \u003d\u003d NULL || ...)\n|\n f(...,x-\u003ef1,...)\n)\n...\u003e\n(\n return \\(0\\|\u003c+...x...+\u003e\\|ptr\\);\n|\n return@p2 ...;\n)\n\n@script:python@\np1 \u003c\u003c r.p1;\np2 \u003c\u003c r.p2;\n@@\n\nprint \"* file: %s kmalloc %s return %s\" % (p1[0].file,p1[0].line,p2[0].line)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4fb019a01a7f67342d4a88d26c0817afe392c669",
      "tree": "6fe31bb55ee8efff2a7774c214e90ba732695386",
      "parents": [
        "ffcfb8db540ff879c2a85bf7e404954281443414"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Sep 11 11:50:08 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 12:54:26 2009 -0700"
      },
      "message": "net: force bridge module(s) to be GPL\n\nThe only valid usage for the bridge frame hooks are by a\nGPL components (such as the bridge module).\nThe kernel should not leave a crack in the door for proprietary\nnetworking stacks to slip in.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ffcfb8db540ff879c2a85bf7e404954281443414",
      "tree": "9b0014cd056c4283e6df924a5fe28ab54542c1d3",
      "parents": [
        "8ba69ba6a324b13e1190fc31e41954d190fd4f1d"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Sep 11 11:35:22 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 11 12:54:23 2009 -0700"
      },
      "message": "Subject: [PATCH] appletalk: Fix skb leak when ipddp interface is not loaded\n\nAnd also do a better job of returning proper NET_{RX,XMIT}_ values.\n\nBased on a patch and suggestions by Mark Smith.\n\nThis fixes CVE-2009-2903\n\nReported-by: Mark Smith \u003clk-netdev@lk-netdev.nosense.org\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "ab3bbaa8b257845e248e9a01d12a69ca245f4197"
}
