)]}'
{
  "log": [
    {
      "commit": "6733e54b669c600eb8e451939ad55130db664fed",
      "tree": "2a8c24c856fa3f5d7d58a3eb39da943ca1c57e65",
      "parents": [
        "bcf8a3dfcb274cf6654a19e12e244f3af8c0d355",
        "451d0f599934fd97faf54a5d7954b518e66192cb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 12:39:21 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 12:39:21 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:\n  FUSE: Notifying the kernel of deletion.\n  fuse: support ioctl on directories\n  fuse: Use kcalloc instead of kzalloc to allocate array\n  fuse: llseek optimize SEEK_CUR and SEEK_SET\n"
    },
    {
      "commit": "5cd9599bba428762025db6027764f1c59d0b1e1b",
      "tree": "cb59ea13f6e6de4350ca38338bf9633e89f8418a",
      "parents": [
        "e343a895a9f342f239c5e3c5ffc6c0b1707e6244",
        "d668dc56631da067540b2494d2a1f29ff7b5f15a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 21:46:36 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 21:46:36 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  autofs4: deal with autofs4_write/autofs4_write races\n  autofs4: catatonic_mode vs. notify_daemon race\n  autofs4: autofs4_wait() vs. autofs4_catatonic_mode() race\n  hfsplus: creation of hidden dir on mount can fail\n  block_dev: Suppress bdev_cache_init() kmemleak warninig\n  fix shrink_dcache_parent() livelock\n  coda: switch coda_cnode_make() to sane API as well, clean coda_lookup()\n  coda: deal correctly with allocation failure from coda_cnode_makectl()\n  securityfs: fix object creation races\n"
    },
    {
      "commit": "d668dc56631da067540b2494d2a1f29ff7b5f15a",
      "tree": "303ad17208838e8b9b1752f9427d55c84555f0f0",
      "parents": [
        "8753333266be67ff3a984ac1f6566d31c260bee4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 10 22:35:38 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jan 11 00:20:12 2012 -0500"
      },
      "message": "autofs4: deal with autofs4_write/autofs4_write races\n\nJust serialize the actual writing of packets into pipe on\na new mutex, independent from everything else in the locking\nhierarchy.  As soon as something has started feeding a piece\nof packet into the pipe to daemon, we *want* everything else\nabout to try the same to wait until we are done.\n\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8753333266be67ff3a984ac1f6566d31c260bee4",
      "tree": "27a8565988791e2971d631e19c7a9a0057386668",
      "parents": [
        "4041bcdc7bef06a2fb29c57394c713a74bd13b08"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 10 22:24:48 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jan 11 00:19:58 2012 -0500"
      },
      "message": "autofs4: catatonic_mode vs. notify_daemon race\n\nwe need to hold -\u003ewq_mutex while we are forming the packet to send,\nlest we have autofs4_catatonic_mode() setting wq-\u003ename.name to NULL\njust as autofs4_notify_daemon() decides to memcpy() from it...\n\nWe do have check for catatonic mode immediately after that (under\n-\u003ewq_mutex, as it ought to be) and packet won\u0027t be actually sent,\nbut it\u0027ll be too late for us if we oops on that memcpy() from NULL...\n\nFix is obvious - just extend the area covered by -\u003ewq_mutex over\nthat switch and check whether it\u0027s catatonic *before* doing anything\nelse.\n\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4041bcdc7bef06a2fb29c57394c713a74bd13b08",
      "tree": "adaf5dee1b8312cdd37a2b37551770af461212a3",
      "parents": [
        "b3f2a92447b8443360ac117a3d7c06689562a70c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 10 22:20:12 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jan 11 00:19:12 2012 -0500"
      },
      "message": "autofs4: autofs4_wait() vs. autofs4_catatonic_mode() race\n\nWe need to recheck -\u003ecatatonic after autofs4_wait() got -\u003ewq_mutex\nfor good, or we might end up with wq inserted into queue after\nautofs4_catatonic_mode() had done its thing.  It will stick there\nforever, since there won\u0027t be anything to clear its -\u003ename.name.\n\nA bit of a complication: validate_request() drops and regains -\u003ewq_mutex.\nIt actually ends up the most convenient place to stick the check into...\n\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "001a541ea9163ace5e8243ee0e907ad80a4c0ec2",
      "tree": "a76225046369c440de93739add9823f5ea060245",
      "parents": [
        "40ba587923ae67090d9f141c1d3c951be5c1420e",
        "bc31b86a5923fad5f3fbb6192f767f410241ba27"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:59:59 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:59:59 2012 -0800"
      },
      "message": "Merge branch \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux\n\n* \u0027writeback-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:\n  writeback: move MIN_WRITEBACK_PAGES to fs-writeback.c\n  writeback: balanced_rate cannot exceed write bandwidth\n  writeback: do strict bdi dirty_exceeded\n  writeback: avoid tiny dirty poll intervals\n  writeback: max, min and target dirty pause time\n  writeback: dirty ratelimit - think time compensation\n  btrfs: fix dirtied pages accounting on sub-page writes\n  writeback: fix dirtied pages accounting on redirty\n  writeback: fix dirtied pages accounting on sub-page writes\n  writeback: charge leaked page dirties to active tasks\n  writeback: Include all dirty inodes in background writeback\n"
    },
    {
      "commit": "40ba587923ae67090d9f141c1d3c951be5c1420e",
      "tree": "342a72fc0ee13a0d2496ef970b64dfeadf1355d2",
      "parents": [
        "54c2c5761febcca46c8037d3a81612991e6c209a",
        "6b550f9495947fc279d12c38feaf98500e8d0646"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:42:48 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:42:48 2012 -0800"
      },
      "message": "Merge branch \u0027akpm\u0027 (aka \"Andrew\u0027s patch-bomb\")\n\nAndrew elucidates:\n - First installmeant of MM.  We have a HUGE number of MM patches this\n   time.  It\u0027s crazy.\n - MAINTAINERS updates\n - backlight updates\n - leds\n - checkpatch updates\n - misc ELF stuff\n - rtc updates\n - reiserfs\n - procfs\n - some misc other bits\n\n* akpm: (124 commits)\n  user namespace: make signal.c respect user namespaces\n  workqueue: make alloc_workqueue() take printf fmt and args for name\n  procfs: add hidepid\u003d and gid\u003d mount options\n  procfs: parse mount options\n  procfs: introduce the /proc/\u003cpid\u003e/map_files/ directory\n  procfs: make proc_get_link to use dentry instead of inode\n  signal: add block_sigmask() for adding sigmask to current-\u003eblocked\n  sparc: make SA_NOMASK a synonym of SA_NODEFER\n  reiserfs: don\u0027t lock root inode searching\n  reiserfs: don\u0027t lock journal_init()\n  reiserfs: delay reiserfs lock until journal initialization\n  reiserfs: delete comments referring to the BKL\n  drivers/rtc/interface.c: fix alarm rollover when day or month is out-of-range\n  drivers/rtc/rtc-twl.c: add DT support for RTC inside twl4030/twl6030\n  drivers/rtc/: remove redundant spi driver bus initialization\n  drivers/rtc/rtc-jz4740.c: make jz4740_rtc_driver static\n  drivers/rtc/rtc-mc13xxx.c: make mc13xxx_rtc_idtable static\n  rtc: convert drivers/rtc/* to use module_platform_driver()\n  drivers/rtc/rtc-wm831x.c: convert to devm_kzalloc()\n  drivers/rtc/rtc-wm831x.c: remove unused period IRQ handler\n  ...\n"
    },
    {
      "commit": "0499680a42141d86417a8fbaa8c8db806bea1201",
      "tree": "eb2aeb559bf5418476319aa81fa4f6ed3659bbc0",
      "parents": [
        "97412950b10e64f347aec4a9b759395c2465adf6"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segooon@gmail.com",
        "time": "Tue Jan 10 15:11:31 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:54 2012 -0800"
      },
      "message": "procfs: add hidepid\u003d and gid\u003d mount options\n\nAdd support for mount options to restrict access to /proc/PID/\ndirectories.  The default backward-compatible \"relaxed\" behaviour is left\nuntouched.\n\nThe first mount option is called \"hidepid\" and its value defines how much\ninfo about processes we want to be available for non-owners:\n\nhidepid\u003d0 (default) means the old behavior - anybody may read all\nworld-readable /proc/PID/* files.\n\nhidepid\u003d1 means users may not access any /proc/\u003cpid\u003e/ directories, but\ntheir own.  Sensitive files like cmdline, sched*, status are now protected\nagainst other users.  As permission checking done in proc_pid_permission()\nand files\u0027 permissions are left untouched, programs expecting specific\nfiles\u0027 modes are not confused.\n\nhidepid\u003d2 means hidepid\u003d1 plus all /proc/PID/ will be invisible to other\nusers.  It doesn\u0027t mean that it hides whether a process exists (it can be\nlearned by other means, e.g.  by kill -0 $PID), but it hides process\u0027 euid\nand egid.  It compicates intruder\u0027s task of gathering info about running\nprocesses, whether some daemon runs with elevated privileges, whether\nanother user runs some sensitive program, whether other users run any\nprogram at all, etc.\n\ngid\u003dXXX defines a group that will be able to gather all processes\u0027 info\n(as in hidepid\u003d0 mode).  This group should be used instead of putting\nnonroot user in sudoers file or something.  However, untrusted users (like\ndaemons, etc.) which are not supposed to monitor the tasks in the whole\nsystem should not be added to the group.\n\nhidepid\u003d1 or higher is designed to restrict access to procfs files, which\nmight reveal some sensitive private information like precise keystrokes\ntimings:\n\nhttp://www.openwall.com/lists/oss-security/2011/11/05/3\n\nhidepid\u003d1/2 doesn\u0027t break monitoring userspace tools.  ps, top, pgrep, and\nconky gracefully handle EPERM/ENOENT and behave as if the current user is\nthe only user running processes.  pstree shows the process subtree which\ncontains \"pstree\" process.\n\nNote: the patch doesn\u0027t deal with setuid/setgid issues of keeping\npreopened descriptors of procfs files (like\nhttps://lkml.org/lkml/2011/2/7/368).  We rely on that the leaked\ninformation like the scheduling counters of setuid apps doesn\u0027t threaten\nanybody\u0027s privacy - only the user started the setuid program may read the\ncounters.\n\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Theodore Tso \u003ctytso@MIT.EDU\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "97412950b10e64f347aec4a9b759395c2465adf6",
      "tree": "1b68e499cb9fcda81f88d6d0ee57826f4a6d7a56",
      "parents": [
        "640708a2cff7f81e246243b0073c66e6ece7e53e"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segooon@gmail.com",
        "time": "Tue Jan 10 15:11:27 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:54 2012 -0800"
      },
      "message": "procfs: parse mount options\n\nAdd support for procfs mount options.  Actual mount options are coming in\nthe next patches.\n\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Theodore Tso \u003ctytso@MIT.EDU\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "640708a2cff7f81e246243b0073c66e6ece7e53e",
      "tree": "8cc00ae2b374bf6750ad9ca20da3566e28cfc9ff",
      "parents": [
        "7773fbc54182a90cd248656619c7d33859e5f91d"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Tue Jan 10 15:11:23 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:54 2012 -0800"
      },
      "message": "procfs: introduce the /proc/\u003cpid\u003e/map_files/ directory\n\nThis one behaves similarly to the /proc/\u003cpid\u003e/fd/ one - it contains\nsymlinks one for each mapping with file, the name of a symlink is\n\"vma-\u003evm_start-vma-\u003evm_end\", the target is the file.  Opening a symlink\nresults in a file that point exactly to the same inode as them vma\u0027s one.\n\nFor example the ls -l of some arbitrary /proc/\u003cpid\u003e/map_files/\n\n | lr-x------ 1 root root 64 Aug 26 06:40 7f8f80403000-7f8f80404000 -\u003e /lib64/libc-2.5.so\n | lr-x------ 1 root root 64 Aug 26 06:40 7f8f8061e000-7f8f80620000 -\u003e /lib64/libselinux.so.1\n | lr-x------ 1 root root 64 Aug 26 06:40 7f8f80826000-7f8f80827000 -\u003e /lib64/libacl.so.1.1.0\n | lr-x------ 1 root root 64 Aug 26 06:40 7f8f80a2f000-7f8f80a30000 -\u003e /lib64/librt-2.5.so\n | lr-x------ 1 root root 64 Aug 26 06:40 7f8f80a30000-7f8f80a4c000 -\u003e /lib64/ld-2.5.so\n\nThis *helps* checkpointing process in three ways:\n\n1. When dumping a task mappings we do know exact file that is mapped\n   by particular region.  We do this by opening\n   /proc/$pid/map_files/$address symlink the way we do with file\n   descriptors.\n\n2. This also helps in determining which anonymous shared mappings are\n   shared with each other by comparing the inodes of them.\n\n3. When restoring a set of processes in case two of them has a mapping\n   shared, we map the memory by the 1st one and then open its\n   /proc/$pid/map_files/$address file and map it by the 2nd task.\n\nUsing /proc/$pid/maps for this is quite inconvenient since it brings\nrepeatable re-reading and reparsing for this text file which slows down\nrestore procedure significantly.  Also as being pointed in (3) it is a way\neasier to use top level shared mapping in children as\n/proc/$pid/map_files/$address when needed.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[gorcunov@openvz.org: make map_files depend on CHECKPOINT_RESTORE]\nSigned-off-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nReviewed-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nReviewed-by: \"Kirill A. Shutemov\" \u003ckirill@shutemov.name\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7773fbc54182a90cd248656619c7d33859e5f91d",
      "tree": "1fe1cc91e194164c19675a588dad0efb3a8c8007",
      "parents": [
        "5e6292c0f28f03dfdb8ea3d685f0b838a23bfba4"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Tue Jan 10 15:11:20 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:54 2012 -0800"
      },
      "message": "procfs: make proc_get_link to use dentry instead of inode\n\nPrepare the ground for the next \"map_files\" patch which needs a name of a\nlink file to analyse.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: \"Kirill A. Shutemov\" \u003ckirill@shutemov.name\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9b467e6ebebbe75288aeb7e816ffbb5d35d6eaa3",
      "tree": "c4ef186bd143aaa47b5745235452e9e2345d8f20",
      "parents": [
        "37c69b98d0dca54d9eb72226bbf2e211aaaf126e"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jan 10 15:11:11 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:54 2012 -0800"
      },
      "message": "reiserfs: don\u0027t lock root inode searching\n\nNothing requires that we lock the filesystem until the root inode is\nprovided.\n\nAlso iget5_locked() triggers a warning because we are holding the\nfilesystem lock while allocating the inode, which result in a lockdep\nsuspicion that we have a lock inversion against the reclaim path:\n\n[ 1986.896979] \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[ 1986.896990] [ INFO: inconsistent lock state ]\n[ 1986.896997] 3.1.1-main #8\n[ 1986.897001] ---------------------------------\n[ 1986.897007] inconsistent {RECLAIM_FS-ON-W} -\u003e {IN-RECLAIM_FS-W} usage.\n[ 1986.897016] kswapd0/16 [HC0[0]:SC0[0]:HE1:SE1] takes:\n[ 1986.897023]  (\u0026REISERFS_SB(s)-\u003elock){+.+.?.}, at: [\u003cc01f8bd4\u003e] reiserfs_write_lock+0x20/0x2a\n[ 1986.897044] {RECLAIM_FS-ON-W} state was registered at:\n[ 1986.897050]   [\u003cc014a5b9\u003e] mark_held_locks+0xae/0xd0\n[ 1986.897060]   [\u003cc014aab3\u003e] lockdep_trace_alloc+0x7d/0x91\n[ 1986.897068]   [\u003cc0190ee0\u003e] kmem_cache_alloc+0x1a/0x93\n[ 1986.897078]   [\u003cc01e7728\u003e] reiserfs_alloc_inode+0x13/0x3d\n[ 1986.897088]   [\u003cc01a5b06\u003e] alloc_inode+0x14/0x5f\n[ 1986.897097]   [\u003cc01a5cb9\u003e] iget5_locked+0x62/0x13a\n[ 1986.897106]   [\u003cc01e99e0\u003e] reiserfs_fill_super+0x410/0x8b9\n[ 1986.897114]   [\u003cc01953da\u003e] mount_bdev+0x10b/0x159\n[ 1986.897123]   [\u003cc01e764d\u003e] get_super_block+0x10/0x12\n[ 1986.897131]   [\u003cc0195b38\u003e] mount_fs+0x59/0x12d\n[ 1986.897138]   [\u003cc01a80d1\u003e] vfs_kern_mount+0x45/0x7a\n[ 1986.897147]   [\u003cc01a83e3\u003e] do_kern_mount+0x2f/0xb0\n[ 1986.897155]   [\u003cc01a987a\u003e] do_mount+0x5c2/0x612\n[ 1986.897163]   [\u003cc01a9a72\u003e] sys_mount+0x61/0x8f\n[ 1986.897170]   [\u003cc044060c\u003e] sysenter_do_call+0x12/0x32\n[ 1986.897181] irq event stamp: 7509691\n[ 1986.897186] hardirqs last  enabled at (7509691): [\u003cc0190f34\u003e] kmem_cache_alloc+0x6e/0x93\n[ 1986.897197] hardirqs last disabled at (7509690): [\u003cc0190eea\u003e] kmem_cache_alloc+0x24/0x93\n[ 1986.897209] softirqs last  enabled at (7508896): [\u003cc01294bd\u003e] __do_softirq+0xee/0xfd\n[ 1986.897222] softirqs last disabled at (7508859): [\u003cc01030ed\u003e] do_softirq+0x50/0x9d\n[ 1986.897234]\n[ 1986.897235] other info that might help us debug this:\n[ 1986.897242]  Possible unsafe locking scenario:\n[ 1986.897244]\n[ 1986.897250]        CPU0\n[ 1986.897254]        ----\n[ 1986.897257]   lock(\u0026REISERFS_SB(s)-\u003elock);\n[ 1986.897265] \u003cInterrupt\u003e\n[ 1986.897269]     lock(\u0026REISERFS_SB(s)-\u003elock);\n[ 1986.897276]\n[ 1986.897277]  *** DEADLOCK ***\n[ 1986.897278]\n[ 1986.897286] no locks held by kswapd0/16.\n[ 1986.897291]\n[ 1986.897292] stack backtrace:\n[ 1986.897299] Pid: 16, comm: kswapd0 Not tainted 3.1.1-main #8\n[ 1986.897306] Call Trace:\n[ 1986.897314]  [\u003cc0439e76\u003e] ? printk+0xf/0x11\n[ 1986.897324]  [\u003cc01482d1\u003e] print_usage_bug+0x20e/0x21a\n[ 1986.897332]  [\u003cc01479b8\u003e] ? print_irq_inversion_bug+0x172/0x172\n[ 1986.897341]  [\u003cc014855c\u003e] mark_lock+0x27f/0x483\n[ 1986.897349]  [\u003cc0148d88\u003e] __lock_acquire+0x628/0x1472\n[ 1986.897358]  [\u003cc0149fae\u003e] lock_acquire+0x47/0x5e\n[ 1986.897366]  [\u003cc01f8bd4\u003e] ? reiserfs_write_lock+0x20/0x2a\n[ 1986.897384]  [\u003cc01f8bd4\u003e] ? reiserfs_write_lock+0x20/0x2a\n[ 1986.897397]  [\u003cc043b5ef\u003e] mutex_lock_nested+0x35/0x26f\n[ 1986.897409]  [\u003cc01f8bd4\u003e] ? reiserfs_write_lock+0x20/0x2a\n[ 1986.897421]  [\u003cc01f8bd4\u003e] reiserfs_write_lock+0x20/0x2a\n[ 1986.897433]  [\u003cc01e2edd\u003e] map_block_for_writepage+0xc9/0x590\n[ 1986.897448]  [\u003cc01b1706\u003e] ? create_empty_buffers+0x33/0x8f\n[ 1986.897461]  [\u003cc0121124\u003e] ? get_parent_ip+0xb/0x31\n[ 1986.897472]  [\u003cc043ef7f\u003e] ? sub_preempt_count+0x81/0x8e\n[ 1986.897485]  [\u003cc043cae0\u003e] ? _raw_spin_unlock+0x27/0x3d\n[ 1986.897496]  [\u003cc0121124\u003e] ? get_parent_ip+0xb/0x31\n[ 1986.897508]  [\u003cc01e355d\u003e] reiserfs_writepage+0x1b9/0x3e7\n[ 1986.897521]  [\u003cc0173b40\u003e] ? clear_page_dirty_for_io+0xcb/0xde\n[ 1986.897533]  [\u003cc014a6e3\u003e] ? trace_hardirqs_on_caller+0x108/0x138\n[ 1986.897546]  [\u003cc014a71e\u003e] ? trace_hardirqs_on+0xb/0xd\n[ 1986.897559]  [\u003cc0177b38\u003e] shrink_page_list+0x34f/0x5e2\n[ 1986.897572]  [\u003cc01780a7\u003e] shrink_inactive_list+0x172/0x22c\n[ 1986.897585]  [\u003cc0178464\u003e] shrink_zone+0x303/0x3b1\n[ 1986.897597]  [\u003cc043cae0\u003e] ? _raw_spin_unlock+0x27/0x3d\n[ 1986.897611]  [\u003cc01788c9\u003e] kswapd+0x3b7/0x5f2\n\nThe deadlock shouldn\u0027t happen since we are doing that allocation in the\nmount path, the filesystem is not available for any reclaim.  Still the\nwarning is annoying.\n\nTo solve this, acquire the lock later only where we need it, right before\ncalling reiserfs_read_locked_inode() that wants to lock to walk the tree.\n\nReported-by: Knut Petersen \u003cKnut_Petersen@t-online.de\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "37c69b98d0dca54d9eb72226bbf2e211aaaf126e",
      "tree": "249277ba7072933b760164bfac713140c0438745",
      "parents": [
        "f32485be8397ad811312bc055d2e2a5906bc7576"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jan 10 15:11:09 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:53 2012 -0800"
      },
      "message": "reiserfs: don\u0027t lock journal_init()\n\njournal_init() doesn\u0027t need the lock since no operation on the filesystem\nis involved there.  journal_read() and get_list_bitmap() have yet to be\nreviewed carefully though before removing the lock there.  Just keep the\nit around these two calls for safety.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f32485be8397ad811312bc055d2e2a5906bc7576",
      "tree": "3f3ca7a7d8395253189def7742fbd43698dce996",
      "parents": [
        "b18c1c6e0c90cbcd38ba879bd63a44c94e4f7301"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue Jan 10 15:11:07 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:53 2012 -0800"
      },
      "message": "reiserfs: delay reiserfs lock until journal initialization\n\nIn the mount path, transactions that are made before journal\ninitialization don\u0027t involve the filesystem.  We can delay the reiserfs\nlock until we play with the journal.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b18c1c6e0c90cbcd38ba879bd63a44c94e4f7301",
      "tree": "125638b5d0654dab6063a8171d9be821b03688d2",
      "parents": [
        "e74a8f2edb92cb690b467cea0ab652c509e9f624"
      ],
      "author": {
        "name": "Davidlohr Bueso",
        "email": "dave@gnu.org",
        "time": "Tue Jan 10 15:11:05 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:53 2012 -0800"
      },
      "message": "reiserfs: delete comments referring to the BKL\n\nSigned-off-by: Davidlohr Bueso \u003cdave@gnu.org\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e39f560239984c3098237ad94c9449b1494163f8",
      "tree": "c86d9f84a3cb706813919ec7472fb75207bc9c8c",
      "parents": [
        "5742332dea5560d6c449b007d9539dbdc8ee531b"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney.cavm@gmail.com",
        "time": "Tue Jan 10 15:10:21 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:51 2012 -0800"
      },
      "message": "fs: binfmt_elf: create Kconfig variable for PIE randomization\n\nRandomization of PIE load address is hard coded in binfmt_elf.c for X86\nand ARM.  Create a new Kconfig variable\n(CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE) for this and use it instead.  Thus\narchitecture specific policy is pushed out of the generic binfmt_elf.c and\ninto the architecture Kconfig files.\n\nX86 and ARM Kconfigs are modified to select the new variable so there is\nno change in behavior.  A follow on patch will select it for MIPS too.\n\nSigned-off-by: David Daney \u003cdavid.daney@cavium.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "43d2b113241d6797b890318767e0af78e313414b",
      "tree": "6f25647f2660f8fca63cc8355b70ad643993dab8",
      "parents": [
        "6bd4837de96e7d9f9bf33e59117c24fc230862ac"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Jan 10 15:08:09 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:44 2012 -0800"
      },
      "message": "tracepoint: add tracepoints for debugging oom_score_adj\n\noom_score_adj is used for guarding processes from OOM-Killer.  One of\nproblem is that it\u0027s inherited at fork().  When a daemon set oom_score_adj\nand make children, it\u0027s hard to know where the value is set.\n\nThis patch adds some tracepoints useful for debugging. This patch adds\n3 trace points.\n  - creating new task\n  - renaming a task (exec)\n  - set oom_score_adj\n\nTo debug, users need to enable some trace pointer. Maybe filtering is useful as\n\n# EVENT\u003d/sys/kernel/debug/tracing/events/task/\n# echo \"oom_score_adj !\u003d 0\" \u003e $EVENT/task_newtask/filter\n# echo \"oom_score_adj !\u003d 0\" \u003e $EVENT/task_rename/filter\n# echo 1 \u003e $EVENT/enable\n# EVENT\u003d/sys/kernel/debug/tracing/events/oom/\n# echo 1 \u003e $EVENT/enable\n\noutput will be like this.\n# grep oom /sys/kernel/debug/tracing/trace\nbash-7699  [007] d..3  5140.744510: oom_score_adj_update: pid\u003d7699 comm\u003dbash oom_score_adj\u003d-1000\nbash-7699  [007] ...1  5151.818022: task_newtask: pid\u003d7729 comm\u003dbash clone_flags\u003d1200011 oom_score_adj\u003d-1000\nls-7729  [003] ...2  5151.818504: task_rename: pid\u003d7729 oldcomm\u003dbash newcomm\u003dls oom_score_adj\u003d-1000\nbash-7699  [002] ...1  5175.701468: task_newtask: pid\u003d7730 comm\u003dbash clone_flags\u003d1200011 oom_score_adj\u003d-1000\ngrep-7730  [007] ...2  5175.701993: task_rename: pid\u003d7730 oldcomm\u003dbash newcomm\u003dgrep oom_score_adj\u003d-1000\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e3a41a5ba9c2ab988b9f1442925109dca2382fd9",
      "tree": "a89e8b4bc3aa5e60f16c390d1abb3760317a5207",
      "parents": [
        "0faa70cb0180d45a06208e54b552a538aabb8a30"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "jweiner@redhat.com",
        "time": "Tue Jan 10 15:07:55 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:44 2012 -0800"
      },
      "message": "btrfs: pass __GFP_WRITE for buffered write page allocations\n\nTell the page allocator that pages allocated for a buffered write are\nexpected to become dirty soon.\n\nSigned-off-by: Johannes Weiner \u003cjweiner@redhat.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nCc: Shaohua Li \u003cshaohua.li@intel.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5f8aefd44e64ed2f6950a1dcc77309b7dd9979f4",
      "tree": "524db6828c07e0f83f94d799cbc1bbb7dd8e6084",
      "parents": [
        "f90ac3982a78d36f894824636beeef13361d7c59"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Tue Jan 10 15:07:18 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:42 2012 -0800"
      },
      "message": "mm: account reaped page cache on inode cache pruning\n\nInode cache pruning indirectly reclaims page-cache by invalidating mapping\npages.  Let\u0027s account them into reclaim-state to notice this progress in\nmemory reclaimer.\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54c2c5761febcca46c8037d3a81612991e6c209a",
      "tree": "e6a686088f16e182138bdf8ae13f6cd27b8613b0",
      "parents": [
        "609eac1c152353ee4cd6f292d49f0aa0b885951a",
        "ff9cb1c4eead5e4c292e75cd3170a82d66944101"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 15:51:48 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 15:51:48 2012 -0800"
      },
      "message": "Merge tag \u0027ext4_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\nExt4 commits for 3.3 merge window\n\n* tag \u0027ext4_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (32 commits)\n  ext4: fix undefined behavior in ext4_fill_flex_info()\n  ext4: make more symbols static\n  ext4: make local symbol ext4_initxattrs static\n  jbd2: fix hung processes in jbd2_journal_lock_updates()\n  ext4: reserve new feature flag codepoints\n  ext4: Report max_batch_time option correctly\n  ext4: add missing ext4_resize_end on error paths\n  ext4: let ext4_group_add() use common code\n  ext4: let ext4_group_extend() use common code\n  ext4: add new online resize interface\n  ext4: add a new function which adds a flex group to a fs\n  ext4: add a new function which allocates bitmaps and inode tables\n  ext4: pass verify_reserved_gdb() the number of group decriptors\n  ext4: add a function which updates the super block during online resizing\n  ext4: add a function which sets up a block group descriptors of a flex bg\n  ext4: add a function which sets up group blocks of a flex bg\n  ext4: add a structure which will be used by 64bit-resize interface\n  ext4: add a function which adds a new group descriptors to a fs\n  ext4: add a function which extends a group without checking parameters\n  ext4: use proper little-endian bitops\n  ...\n"
    },
    {
      "commit": "609eac1c152353ee4cd6f292d49f0aa0b885951a",
      "tree": "9274243e8d62427be5b7ec15bc9cd383e482f477",
      "parents": [
        "57eccf1c2acae2fcb748730881ba75643fc31c81",
        "f766619db2be059cd0dbba8a36176fe01a29d588"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 15:09:01 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 15:09:01 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:\n  fs/9p: iattr_valid flags are kernel internal flags map them to 9p values.\n  fs/9p: We should not allocate a new inode when creating hardlines.\n  fs/9p: v9fs_stat2inode should update suid/sgid bits.\n  9p: Reduce object size with CONFIG_NET_9P_DEBUG\n  fs/9p: check schedule_timeout_interruptible return value\n\nFix up trivial conflicts in fs/9p/{vfs_inode.c,vfs_inode_dotl.c} due to\ndebug messages having changed to use p9_debug() on one hand, and the\nchanges for umode_t on the other.\n"
    },
    {
      "commit": "57eccf1c2acae2fcb748730881ba75643fc31c81",
      "tree": "be47ac42ef0b2e3e7157ce196ad2ed1224739c6c",
      "parents": [
        "5c395ae7033099fc657114ea997858aa622f08b2",
        "074b1d12fe2500d7d453902f9266e6674b30d84c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 14:57:40 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 14:57:40 2012 -0800"
      },
      "message": "Merge branch \u0027nfs-for-3.3\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs\n\n* \u0027nfs-for-3.3\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs:\n  NFSv4: Change the default setting of the nfs4_disable_idmapping parameter\n  NFSv4: Save the owner/group name string when doing open\n  NFS: Remove pNFS bloat from the generic write path\n  pnfs-obj: Must return layout on IO error\n  pnfs-obj: pNFS errors are communicated on iodata-\u003epnfs_error\n  NFS: Cache state owners after files are closed\n  NFS: Clean up nfs4_find_state_owners_locked()\n  NFSv4: include bitmap in nfsv4 get acl data\n  nfs: fix a minor do_div portability issue\n  NFSv4.1: cleanup comment and debug printk\n  NFSv4.1: change nfs4_free_slot parameters for dynamic slots\n  NFSv4.1: cleanup init and reset of session slot tables\n  NFSv4.1: fix backchannel slotid off-by-one bug\n  nfs: fix regression in handling of context\u003d option in NFSv4\n  NFS - fix recent breakage to NFS error handling.\n  NFS: Retry mounting NFSROOT\n  SUNRPC: Clean up the RPCSEC_GSS service ticket requests\n"
    },
    {
      "commit": "5c395ae7033099fc657114ea997858aa622f08b2",
      "tree": "f714c8d8db528274de2da4f8aa64b69af0d2aa5e",
      "parents": [
        "49d41bae46f15da528ef9848fd7c9d38582aa8e9",
        "e57e0d8e818512047fe379157c3f77f1b9fabffb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 14:57:19 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 14:57:19 2012 -0800"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.infradead.org/ubifs-2.6\n\n* \u0027linux-next\u0027 of git://git.infradead.org/ubifs-2.6:\n  UBI: fix use-after-free on error path\n  UBI: fix missing scrub when there is a bit-flip\n  UBIFS: Use kmemdup rather than duplicating its implementation\n"
    },
    {
      "commit": "49d41bae46f15da528ef9848fd7c9d38582aa8e9",
      "tree": "76907a9a5066642a32cb238ef8d8367fc612d064",
      "parents": [
        "7b3480f8b701170c046e1ed362946f5f0d005e13",
        "60f98d1839376d30e13f3e452dce2433fad3060e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 14:55:55 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 14:55:55 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm:\n  dlm: add recovery callbacks\n  dlm: add node slots and generation\n  dlm: move recovery barrier calls\n  dlm: convert rsb list to rb_tree\n"
    },
    {
      "commit": "b3f2a92447b8443360ac117a3d7c06689562a70c",
      "tree": "c30e40122be3140aeabdb27bb9960fbb9ed2e730",
      "parents": [
        "ace8577aeb438025ecf642f5eda3aa551d251951"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 10 17:48:52 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 10 17:48:52 2012 -0500"
      },
      "message": "hfsplus: creation of hidden dir on mount can fail\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7b3480f8b701170c046e1ed362946f5f0d005e13",
      "tree": "bd25e05b4f35699689b485480dddf24f840f80af",
      "parents": [
        "1c8106528aa6bf16b3f457de80df1cf7462a49a4",
        "b60ef99c1164a8ad346cf41f9e71acfffb6d25a6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 13:45:22 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 13:45:22 2012 -0800"
      },
      "message": "Merge tag \u0027for-linus-3.3\u0027 of git://git.infradead.org/mtd-2.6\n\nMTD pull for 3.3\n\n* tag \u0027for-linus-3.3\u0027 of git://git.infradead.org/mtd-2.6: (113 commits)\n  mtd: Fix dependency for MTD_DOC200x\n  mtd: do not use mtd-\u003eblock_markbad directly\n  logfs: do not use \u0027mtd-\u003eblock_isbad\u0027 directly\n  mtd: introduce mtd_can_have_bb helper\n  mtd: do not use mtd-\u003esuspend and mtd-\u003eresume directly\n  mtd: do not use mtd-\u003elock, unlock and is_locked directly\n  mtd: do not use mtd-\u003esync directly\n  mtd: harmonize mtd_writev usage\n  mtd: do not use mtd-\u003elock_user_prot_reg directly\n  mtd: mtd-\u003ewrite_user_prot_reg directly\n  mtd: do not use mtd-\u003eread_*_prot_reg directly\n  mtd: do not use mtd-\u003eget_*_prot_info directly\n  mtd: do not use mtd-\u003eread_oob directly\n  mtd: mtdoops: do not use mtd-\u003epanic_write directly\n  romfs: do not use mtd-\u003eget_unmapped_area directly\n  mtd: do not use mtd-\u003eget_unmapped_area directly\n  mtd: do use mtd-\u003epoint directly\n  mtd: introduce mtd_has_oob helper\n  mtd: mtdcore: export symbols cleanup\n  mtd: clean-up the default_mtd_writev function\n  ...\n\nFix up trivial edit/remove conflict in drivers/staging/spectra/lld_mtd.c\n"
    },
    {
      "commit": "ace8577aeb438025ecf642f5eda3aa551d251951",
      "tree": "217979e10b342dd4c7494d10948fb659e8dfdb90",
      "parents": [
        "eaf5f9073533cde21c7121c136f1c3f072d9cf59"
      ],
      "author": {
        "name": "Sergey Senozhatsky",
        "email": "sergey.senozhatsky@gmail.com",
        "time": "Tue Jan 10 02:43:59 2012 +0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 10 13:08:55 2012 -0500"
      },
      "message": "block_dev: Suppress bdev_cache_init() kmemleak warninig\n\nKmemleak reports the following warning in bdev_cache_init()\n[    0.003738] kmemleak: Object 0xffff880153035200 (size 256):\n[    0.003823] kmemleak:   comm \"swapper/0\", pid 0, jiffies 4294667299\n[    0.003909] kmemleak:   min_count \u003d 1\n[    0.003988] kmemleak:   count \u003d 0\n[    0.004066] kmemleak:   flags \u003d 0x1\n[    0.004144] kmemleak:   checksum \u003d 0\n[    0.004224] kmemleak:   backtrace:\n[    0.004303]      [\u003cffffffff814755ac\u003e] kmemleak_alloc+0x21/0x3e\n[    0.004446]      [\u003cffffffff811100ba\u003e] kmem_cache_alloc+0xca/0x1dc\n[    0.004592]      [\u003cffffffff811371b1\u003e] alloc_vfsmnt+0x1f/0x198\n[    0.004736]      [\u003cffffffff811375c5\u003e] vfs_kern_mount+0x36/0xd2\n[    0.004879]      [\u003cffffffff8113929a\u003e] kern_mount_data+0x18/0x32\n[    0.005025]      [\u003cffffffff81ab9075\u003e] bdev_cache_init+0x51/0x81\n[    0.005169]      [\u003cffffffff81ab8abf\u003e] vfs_caches_init+0x101/0x10d\n[    0.005313]      [\u003cffffffff81a9bae3\u003e] start_kernel+0x344/0x383\n[    0.005456]      [\u003cffffffff81a9b2a7\u003e] x86_64_start_reservations+0xae/0xb2\n[    0.005602]      [\u003cffffffff81a9b3ad\u003e] x86_64_start_kernel+0x102/0x111\n[    0.005747]      [\u003cffffffffffffffff\u003e] 0xffffffffffffffff\n[    0.008653] kmemleak: Trying to color unknown object at 0xffff880153035220 as Grey\n[    0.008754] Pid: 0, comm: swapper/0 Not tainted 3.3.0-rc0-dbg-04200-g8180888-dirty #888\n[    0.008856] Call Trace:\n[    0.008934]  [\u003cffffffff81118704\u003e] ? find_and_get_object+0x44/0x118\n[    0.009023]  [\u003cffffffff81118fe6\u003e] paint_ptr+0x57/0x8f\n[    0.009109]  [\u003cffffffff81475935\u003e] kmemleak_not_leak+0x23/0x42\n[    0.009195]  [\u003cffffffff81ab9096\u003e] bdev_cache_init+0x72/0x81\n[    0.009282]  [\u003cffffffff81ab8abf\u003e] vfs_caches_init+0x101/0x10d\n[    0.009368]  [\u003cffffffff81a9bae3\u003e] start_kernel+0x344/0x383\n[    0.009466]  [\u003cffffffff81a9b2a7\u003e] x86_64_start_reservations+0xae/0xb2\n[    0.009555]  [\u003cffffffff81a9b140\u003e] ? early_idt_handlers+0x140/0x140\n[    0.009643]  [\u003cffffffff81a9b3ad\u003e] x86_64_start_kernel+0x102/0x111\n\ndue to attempt to mark pointer to `struct vfsmount\u0027 as a gray object, which\nis embedded into `struct mount\u0027 returned from alloc_vfsmnt().\n\nMake `bd_mnt\u0027 static, avoiding need to tell kmemleak to mark it gray, as\nsuggested by Al Viro.\n\nSigned-off-by: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "eaf5f9073533cde21c7121c136f1c3f072d9cf59",
      "tree": "db9cb9424fbae04decf7a8281a5180f65e5124b9",
      "parents": [
        "f4947fbce208990266920d51837e4e7ba9779db1"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Tue Jan 10 18:22:25 2012 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 10 13:06:32 2012 -0500"
      },
      "message": "fix shrink_dcache_parent() livelock\n\nTwo (or more) concurrent calls of shrink_dcache_parent() on the same dentry may\ncause shrink_dcache_parent() to loop forever.\n\nHere\u0027s what appears to happen:\n\n1 - CPU0: select_parent(P) finds C and puts it on dispose list, returns 1\n\n2 - CPU1: select_parent(P) locks P-\u003ed_lock\n\n3 - CPU0: shrink_dentry_list() locks C-\u003ed_lock\n   dentry_kill(C) tries to lock P-\u003ed_lock but fails, unlocks C-\u003ed_lock\n\n4 - CPU1: select_parent(P) locks C-\u003ed_lock,\n         moves C from dispose list being processed on CPU0 to the new\ndispose list, returns 1\n\n5 - CPU0: shrink_dentry_list() finds dispose list empty, returns\n\n6 - Goto 2 with CPU0 and CPU1 switched\n\nBasically select_parent() steals the dentry from shrink_dentry_list() and thinks\nit found a new one, causing shrink_dentry_list() to think it\u0027s making progress\nand loop over and over.\n\nOne way to trigger this is to make udev calls stat() on the sysfs file while it\nis going away.\n\nHaving a file in /lib/udev/rules.d/ with only this one rule seems to the trick:\n\nATTR{vendor}\u003d\u003d\"0x8086\", ATTR{device}\u003d\u003d\"0x10ca\", ENV{PCI_SLOT_NAME}\u003d\"%k\", ENV{MATCHADDR}\u003d\"$attr{address}\", RUN+\u003d\"/bin/true\"\n\nThen execute the following loop:\n\nwhile true; do\n        echo -bond0 \u003e /sys/class/net/bonding_masters\n        echo +bond0 \u003e /sys/class/net/bonding_masters\n        echo -bond1 \u003e /sys/class/net/bonding_masters\n        echo +bond1 \u003e /sys/class/net/bonding_masters\ndone\n\nOne fix would be to check all callers and prevent concurrent calls to\nshrink_dcache_parent().  But I think a better solution is to stop the\nstealing behavior.\n\nThis patch adds a new dentry flag that is set when the dentry is added to the\ndispose list.  The flag is cleared in dentry_lru_del() in case the dentry gets a\nnew reference just before being pruned.\n\nIf the dentry has this flag, select_parent() will skip it and let\nshrink_dentry_list() retry pruning it.  With select_parent() skipping those\ndentries there will not be the appearance of progress (new dentries found) when\nthere is none, hence shrink_dcache_parent() will not loop forever.\n\nSet the flag is also set in prune_dcache_sb() for consistency as suggested by\nLinus.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCC: stable@vger.kernel.org\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ff9cb1c4eead5e4c292e75cd3170a82d66944101",
      "tree": "cdb132a39e550a9b7b28ea67544cb86cd6ebdb6e",
      "parents": [
        "e4e11180dfa545233e5145919b75b7fac88638df",
        "d50f2ab6f050311dbf7b8f5501b25f0bf64a439b"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jan 10 11:54:07 2012 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jan 10 11:54:07 2012 -0500"
      },
      "message": "Merge branch \u0027for_linus\u0027 into for_linus_merged\n\nConflicts:\n\tfs/ext4/ioctl.c\n"
    },
    {
      "commit": "d50f2ab6f050311dbf7b8f5501b25f0bf64a439b",
      "tree": "a4775254db19dc589c85c36a8bd5b3c2e1be4838",
      "parents": [
        "5f163cc759a9fa8844a4efcf1f579dc5b2ca2491"
      ],
      "author": {
        "name": "Xi Wang",
        "email": "xi.wang@gmail.com",
        "time": "Tue Jan 10 11:51:10 2012 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jan 10 11:51:10 2012 -0500"
      },
      "message": "ext4: fix undefined behavior in ext4_fill_flex_info()\n\nCommit 503358ae01b70ce6909d19dd01287093f6b6271c (\"ext4: avoid divide by\nzero when trying to mount a corrupted file system\") fixes CVE-2009-4307\nby performing a sanity check on s_log_groups_per_flex, since it can be\nset to a bogus value by an attacker.\n\n\tsbi-\u003es_log_groups_per_flex \u003d sbi-\u003es_es-\u003es_log_groups_per_flex;\n\tgroups_per_flex \u003d 1 \u003c\u003c sbi-\u003es_log_groups_per_flex;\n\n\tif (groups_per_flex \u003c 2) { ... }\n\nThis patch fixes two potential issues in the previous commit.\n\n1) The sanity check might only work on architectures like PowerPC.\nOn x86, 5 bits are used for the shifting amount.  That means, given a\nlarge s_log_groups_per_flex value like 36, groups_per_flex \u003d 1 \u003c\u003c 36\nis essentially 1 \u003c\u003c 4 \u003d 16, rather than 0.  This will bypass the check,\nleaving s_log_groups_per_flex and groups_per_flex inconsistent.\n\n2) The sanity check relies on undefined behavior, i.e., oversized shift.\nA standard-confirming C compiler could rewrite the check in unexpected\nways.  Consider the following equivalent form, assuming groups_per_flex\nis unsigned for simplicity.\n\n\tgroups_per_flex \u003d 1 \u003c\u003c sbi-\u003es_log_groups_per_flex;\n\tif (groups_per_flex \u003d\u003d 0 || groups_per_flex \u003d\u003d 1) {\n\nWe compile the code snippet using Clang 3.0 and GCC 4.6.  Clang will\ncompletely optimize away the check groups_per_flex \u003d\u003d 0, leaving the\npatched code as vulnerable as the original.  GCC keeps the check, but\nthere is no guarantee that future versions will do the same.\n\nSigned-off-by: Xi Wang \u003cxi.wang@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "f4947fbce208990266920d51837e4e7ba9779db1",
      "tree": "a541edc5de897ce03f54d83c1a1c8147ce22b605",
      "parents": [
        "0b2c4e39c014219ef73f05ab580c284bf8e6af0a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 10 11:11:49 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 10 11:13:16 2012 -0500"
      },
      "message": "coda: switch coda_cnode_make() to sane API as well, clean coda_lookup()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0b2c4e39c014219ef73f05ab580c284bf8e6af0a",
      "tree": "4447c0dbab25dc209f267c17123845b1d3bb8273",
      "parents": [
        "3e25eb9c4bb649acdddb333d10774b640190f727"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 10 10:46:03 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 10 11:13:13 2012 -0500"
      },
      "message": "coda: deal correctly with allocation failure from coda_cnode_makectl()\n\nlookup should fail with ENOMEM, not silently make dentry negative.\nSwitched to saner calling conventions, while we are at it.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e4e11180dfa545233e5145919b75b7fac88638df",
      "tree": "bfdb18eee49aa55fd3d6170a422164e772736a1b",
      "parents": [
        "37cfc3f67db9f2d907f6bfcfae590cdbbef623e8",
        "adc0e91ab142abe93f5b0d7980ada8a7676231fe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 09 17:37:37 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 09 17:37:37 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  vfs: new helper - d_make_root()\n  dcache: use a dispose list in select_parent\n  ceph: d_alloc_root() may fail\n  ext4: fix failure exits\n  isofs: inode leak on mount failure\n"
    },
    {
      "commit": "adc0e91ab142abe93f5b0d7980ada8a7676231fe",
      "tree": "27ee89f960b7e2d6cd5179d914bc252324122c26",
      "parents": [
        "b48f03b319ba78f3abf9a7044d1f436d8d90f4f9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 08 16:49:21 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 09 19:23:45 2012 -0500"
      },
      "message": "vfs: new helper - d_make_root()\n\nd_alloc_root() with iput() in case of allocation failure...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b48f03b319ba78f3abf9a7044d1f436d8d90f4f9",
      "tree": "7ddc8f545787d28825413946519ed88ea19edb24",
      "parents": [
        "3c5184ef1216dd476c9c67f22a199d90ac4d5892"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Tue Aug 23 18:56:24 2011 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 09 19:22:52 2012 -0500"
      },
      "message": "dcache: use a dispose list in select_parent\n\nselect_parent currently abuses the dentry cache LRU to provide\ncleanup features for child dentries that need to be freed. It moves\nthem to the tail of the LRU, then tells shrink_dcache_parent() to\ncalls __shrink_dcache_sb to unconditionally move them to a dispose\nlist (as DCACHE_REFERENCED is ignored). __shrink_dcache_sb() has to\nrelock the dentries to move them off the LRU onto the dispose list,\nbut otherwise does not touch the dentries that select_parent() moved\nto the tail of the LRU. It then passses the dispose list to\nshrink_dentry_list() which tries to free the dentries.\n\nIOWs, the use of __shrink_dcache_sb() is superfluous - we can build\nexactly the same list of dentries for disposal directly in\nselect_parent() and call shrink_dentry_list() instead of calling\n__shrink_dcache_sb() to do that. This means that we avoid long holds\non the lru lock walking the LRU moving dentries to the dispose list\nWe also avoid the need to relock each dentry just to move it off the\nLRU, reducing the numebr of times we lock each dentry to dispose of\nthem in shrink_dcache_parent() from 3 to 2 times.\n\nFurther, we remove one of the two callers of __shrink_dcache_sb().\nThis also means that __shrink_dcache_sb can be moved into back into\nprune_dcache_sb() and we no longer have to handle referenced\ndentries conditionally, simplifying the code.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3c5184ef1216dd476c9c67f22a199d90ac4d5892",
      "tree": "f6bd6d77ee9d1260892c8e8589497eaa2f5efbab",
      "parents": [
        "94bf608a18fa4421315275a81c5489734599297a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 09 16:34:32 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 09 16:36:12 2012 -0500"
      },
      "message": "ceph: d_alloc_root() may fail\n\n... and ceph_init_dentry(NULL) will oops\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "94bf608a18fa4421315275a81c5489734599297a",
      "tree": "69b0022e0f47a5af7888c7e97459302373bfa338",
      "parents": [
        "8fdd8c49fe50394fef3e193db27222cb03c2b212"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 09 15:53:24 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 09 15:57:20 2012 -0500"
      },
      "message": "ext4: fix failure exits\n\na) leaking root dentry is bad\nb) in case of failed ext4_mb_init() we don\u0027t want to do ext4_mb_release()\nc) OTOH, in the same case we *do* want ext4_ext_release()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ac69e0928054ff29a5049902fb477f9c7605c773",
      "tree": "05be6b9285186823452e0adeffe40e1dfee6e354",
      "parents": [
        "9e203936eac786f9268d6a13e6442d2accef1829",
        "302bf2f3259948c93361d501b04a5ed69c3bd4f8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 09 12:51:21 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 09 12:51:21 2012 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:\n  ext2/3/4: delete unneeded includes of module.h\n  ext{3,4}: Fix potential race when setversion ioctl updates inode\n  udf: Mark LVID buffer as uptodate before marking it dirty\n  ext3: Don\u0027t warn from writepage when readonly inode is spotted after error\n  jbd: Remove j_barrier mutex\n  reiserfs: Force inode evictions before umount to avoid crash\n  reiserfs: Fix quota mount option parsing\n  udf: Treat symlink component of type 2 as /\n  udf: Fix deadlock when converting file from in-ICB one to normal one\n  udf: Cleanup calling convention of inode_getblk()\n  ext2: Fix error handling on inode bitmap corruption\n  ext3: Fix error handling on inode bitmap corruption\n  ext3: replace ll_rw_block with other functions\n  ext3: NULL dereference in ext3_evict_inode()\n  jbd: clear revoked flag on buffers before a new transaction started\n  ext3: call ext3_mark_recovery_complete() when recovery is really needed\n"
    },
    {
      "commit": "9e203936eac786f9268d6a13e6442d2accef1829",
      "tree": "1da906e1c099b3afacf3b358b8981931c4da45fd",
      "parents": [
        "993ecff81aa6d50d694704de2647a5529ff2f166",
        "724577ca355795b0a25c93ccbeee927871ca1a77"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 09 12:51:01 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 09 12:51:01 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.open-osd.org/linux-open-osd\n\n* \u0027for-linus\u0027 of git://git.open-osd.org/linux-open-osd:\n  ore: Must support none-PAGE-aligned IO\n  ore: fix BUG_ON, too few sgs when reading\n  ore: Fix crash in case of an IO error.\n  ore: FIX breakage when MISC_FILESYSTEMS is not set\n"
    },
    {
      "commit": "993ecff81aa6d50d694704de2647a5529ff2f166",
      "tree": "047a313e86f63e22f1eff63945bea2e8e8147222",
      "parents": [
        "12e55508921865aefdd80fd17afe70c191afbd1b",
        "b1c770c273a4787069306fc82aab245e9ac72e9d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 09 12:50:15 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 09 12:50:15 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: fix endian conversion issue in discard code\n"
    },
    {
      "commit": "55b81e6f2795484ea8edf5805c95c007cacfa736",
      "tree": "c3724975107857fcc03b5dd649c462e4f72397be",
      "parents": [
        "5983faf942f260023e547f3c5f38c1033c35cc9b",
        "08e87d0d773dc9ca5faf4c3306e238ed0ea129b0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 09 12:09:47 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 09 12:09:47 2012 -0800"
      },
      "message": "Merge branch \u0027usb-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb\n\n* \u0027usb-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (232 commits)\n  USB: Add USB-ID for Multiplex RC serial adapter to cp210x.c\n  xhci: Clean up 32-bit build warnings.\n  USB: update documentation for usbmon\n  usb: usb-storage doesn\u0027t support dynamic id currently, the patch disables the feature to fix an oops\n  drivers/usb/class/cdc-acm.c: clear dangling pointer\n  drivers/usb/dwc3/dwc3-pci.c: introduce missing kfree\n  drivers/usb/host/isp1760-if.c: introduce missing kfree\n  usb: option: add ZD Incorporated HSPA modem\n  usb: ch9: fix up MaxStreams helper\n  USB: usb-skeleton.c: cleanup open_count\n  USB: usb-skeleton.c: fix open/disconnect race\n  xhci: Properly handle COMP_2ND_BW_ERR\n  USB: remove dead code from suspend/resume path\n  USB: add quirk for another camera\n  drivers: usb: wusbcore: Fix dependency for USB_WUSB\n  xhci: Better debugging for critical host errors.\n  xhci: Be less verbose during URB cancellation.\n  xhci: Remove debugging about ring structure allocation.\n  xhci: Remove debugging about toggling cycle bits.\n  xhci: Remove debugging for individual transfers.\n  ...\n"
    },
    {
      "commit": "21a2cb565a74bf794d343ce22300c5f6c1568ae1",
      "tree": "5cf49d94bc8cc31a299417b8a362f0645b41c543",
      "parents": [
        "c99516ca854770000c277b2680a15581c691e18c",
        "2a5ac6f7a9c0a24adcf68e0dd634afbe083191c1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 09 12:08:59 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 09 12:08:59 2012 -0800"
      },
      "message": "Merge branch \u0027char-misc-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc\n\n* \u0027char-misc-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:\n  isl29020: Remove a redundant semi-colon from return statement\n  BMP085: Remove redundant semi-colon from return statement\n  drivers:misc: ti-st: DEBUG uart, baud rate mods\n  drivers:misc: ti-st: flush UART upon fw failure\n  drivers:misc: ti-st: protect registrations\n  char_dev.c: fix up some whitespace errors\n  s390: tape_class.h: remove kobj_map.h inclusion\n  misc: ad525x_dpot: Add support for SPI module device table matching\n"
    },
    {
      "commit": "074b1d12fe2500d7d453902f9266e6674b30d84c",
      "tree": "e451a00bc071af886451a3e0ab02619d2b8fab66",
      "parents": [
        "6926afd1925a54a13684ebe05987868890665e2b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jan 09 13:46:26 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jan 09 14:22:27 2012 -0500"
      },
      "message": "NFSv4: Change the default setting of the nfs4_disable_idmapping parameter\n\nNow that the use of numeric uids/gids is officially sanctioned in\nRFC3530bis, it is time to change the default here to \u0027enabled\u0027.\n\nBy doing so, we ensure that NFSv4 copies the behaviour of NFSv3 when we\u0027re\nusing the default AUTH_SYS authentication (i.e. when the client uses the\nnumeric uids/gids as authentication tokens), so that when new files are\ncreated, they will appear to have the correct user/group.\nIt also fixes a number of backward compatibility issues when migrating\nfrom NFSv3 to NFSv4 on a platform where the server uses different uid/gid\nmappings than the client.\n\nNote also that this setting has been successfully tested against servers\nthat do not support numeric uids/gids at several Connectathon/Bakeathon\nevents at this point, and the fall back to using string names/groups has\nbeen shown to work well in all those test cases.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "800ffd3496987e91f599a135060ef49731e045ac",
      "tree": "a62c4985597e6ce01d8f8ab07f67212357e2a846",
      "parents": [
        "d58b27ed58a30faf376e40d19945f34301944b8d"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Jan 02 13:59:12 2012 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:26 2012 +0000"
      },
      "message": "mtd: do not use mtd-\u003eblock_markbad directly\n\nInstead, use the new \u0027mtd_can_have_bb()\u0027, or just rely on \u0027mtd_block_markbad()\u0027\nreturn code, which will be -EOPNOTSUPP if bad blocks are not supported.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "d58b27ed58a30faf376e40d19945f34301944b8d",
      "tree": "f34860861bc09231188565f88ba1f19e986b8fc1",
      "parents": [
        "8f461a730242c528ca221948edceca49266a3ffb"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Mon Jan 02 13:52:14 2012 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:25 2012 +0000"
      },
      "message": "logfs: do not use \u0027mtd-\u003eblock_isbad\u0027 directly\n\nInstead, use the new \u0027mtd_can_have_bb()\u0027 helper.\n\nCc: Jörn Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "327cf2922b4edf0439b219469722d2a502e37349",
      "tree": "6fe4c70d0b4693950e7e20286a3b66bab82ac821",
      "parents": [
        "1dbebd32562b3c2caeca35960e5cb00bfcc12900"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 30 16:35:35 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:21 2012 +0000"
      },
      "message": "mtd: do not use mtd-\u003esync directly\n\nThis patch teaches \u0027mtd_sync()\u0027 to do nothing when the MTD driver does\nnot have the \u0027-\u003esync()\u0027 method, which allows us to remove all direct\n\u0027mtd-\u003esync\u0027 accesses.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "1dbebd32562b3c2caeca35960e5cb00bfcc12900",
      "tree": "773776d87730828adb55f3f7fe8221eabb528d8f",
      "parents": [
        "e2936b2af5562c8c66060e2bc2ae2e209d0acd3d"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 30 16:23:41 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:19 2012 +0000"
      },
      "message": "mtd: harmonize mtd_writev usage\n\nThis patch makes the \u0027mtd_writev()\u0027 function more usable and logical. We first\nteach it to fall-back to the \u0027default_mtd_writev()\u0027 function if the MTD driver\ndoes not define its own \u0027-\u003ewritev()\u0027 method. Then we make block2mtd and JFFS2\njust \u0027mtd_writev()\u0027 instead of \u0027default_mtd_writev()\u0027 function. This means we\ncan now stop exporting \u0027default_mtd_writev()\u0027 and instead, export\n\u0027mtd_writev()\u0027. This is much cleaner and more logical, as well as allows us to\nget read of another direct \u0027mtd-\u003ewritev\u0027 access in JFFS2.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "4991e7251ed951a5f33faf25912e9db416306309",
      "tree": "77454b88465118f8cf1127049cbf96c47da2c415",
      "parents": [
        "cd621274b0ec747db8dedbf857624c067f481976"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed Dec 28 17:08:03 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:12 2012 +0000"
      },
      "message": "romfs: do not use mtd-\u003eget_unmapped_area directly\n\nRemove direct usage of mtd-\u003eget_unmapped_area. Instead, just call\n\u0027mtd_get_unmapped_area()\u0027 which will return -EOPNOTSUPP if the function\nis not implemented, and then test for this code.\n\nWe also translate -EOPNOTSUPP to -ENOSYS because this return code is\nprobably part of the kernel ABI which we do not want to break.\n\nCc: linux-fsdevel@vger.kernel.org\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "10934478e44d9a5a7b16dadd89094fb608cf101e",
      "tree": "603d4f5165fc032a28e5efaa872da685eea7bf32",
      "parents": [
        "fc002e3c320602d0e206f607aca0460540d7637a"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Wed Dec 28 15:55:42 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:09 2012 +0000"
      },
      "message": "mtd: do use mtd-\u003epoint directly\n\nRemove direct usage of the \"mtd-\u003epoint\" function pointer. Instead,\ntest the mtd_point() return code for \u0027-EOPNOTSUPP\u0027.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "4ccf2f1349e681401b5fae73efc87b8d2d70ce0e",
      "tree": "b62d5d22d67c80918c4c7a40676062e54ae7e236",
      "parents": [
        "bac972777403f810d83062dd0d0303746e466ece"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 30 15:48:55 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:26:04 2012 +0000"
      },
      "message": "jffs: remove custom mtd_fake_writev function\n\nInstead, use \u0027default_mtd_writev()\u0027 function which MTD provides.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "5942ddbc500d1c9b75e571b656be97f65b26adfe",
      "tree": "7e96cfb905fb67bc40e1da30eb8454d674353a36",
      "parents": [
        "7086c19d07429d697057587caf1e5e0345442d16"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 19:37:38 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:48 2012 +0000"
      },
      "message": "mtd: introduce mtd_block_markbad interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "7086c19d07429d697057587caf1e5e0345442d16",
      "tree": "3a892182dba0847de32ef79b1fe1d46d8b1b5de8",
      "parents": [
        "ead995f8d4da1e2f1ef40b0e5f4133fee38a3d3d"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 19:35:30 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:47 2012 +0000"
      },
      "message": "mtd: introduce mtd_block_isbad interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "85f2f2a809d658c15b574df02ede92090f45a1f2",
      "tree": "7d4ae7ca646db856aca7f2509c404b9d938fee0b",
      "parents": [
        "b0a31f7b2a668f00a8d0546dfeed65fac871b2da"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 19:03:12 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:35 2012 +0000"
      },
      "message": "mtd: introduce mtd_sync interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "b0a31f7b2a668f00a8d0546dfeed65fac871b2da",
      "tree": "7379a66d9bfd6ae067f090f1bebac5d47332f5cb",
      "parents": [
        "4403dbfb4541d34e5db33db709094d57d09f7467"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 18:59:12 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:34 2012 +0000"
      },
      "message": "mtd: introduce mtd_writev interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "a2cc5ba075f9bc837d0b4d4ec7328dcefc11859d",
      "tree": "a5f2c88ddd21028247bfaf02ca336dd501ed3a5f",
      "parents": [
        "fd2819bbc92fc98bed5d612e4acbe16b6326f6bf"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 18:29:55 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:24 2012 +0000"
      },
      "message": "mtd: introduce mtd_write_oob interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "fd2819bbc92fc98bed5d612e4acbe16b6326f6bf",
      "tree": "114f2a130cb854c74707eb805854fe048f65ac14",
      "parents": [
        "7ae79d7ff1769a3e9c47076b46e4eaa11204a2ee"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 18:27:05 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:23 2012 +0000"
      },
      "message": "mtd: introduce mtd_read_oob interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "eda95cbf75193808f62948fb0142ba0901d8bee2",
      "tree": "047bcfa05bc118b1d34327b3e62fa1d10d4bcb43",
      "parents": [
        "329ad399a9b3adf52c90637b21ca029fcf7f8795"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 17:35:41 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:20 2012 +0000"
      },
      "message": "mtd: introduce mtd_write interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "329ad399a9b3adf52c90637b21ca029fcf7f8795",
      "tree": "7aa7bb2609c25de7859c3a666f3ea90934609592",
      "parents": [
        "04c601bfa4cb29c968dcb66e44c799c9c01d8675"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 17:30:16 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:19 2012 +0000"
      },
      "message": "mtd: introduce mtd_read interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "04c601bfa4cb29c968dcb66e44c799c9c01d8675",
      "tree": "27fd5aaf5b6174a7f118f88ddbdb4eee3581ef56",
      "parents": [
        "7219778ad9c18cc2c05c7fca0abe026afbc19dfb"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 17:10:15 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:18 2012 +0000"
      },
      "message": "mtd: introduce mtd_get_unmapped_area interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "7219778ad9c18cc2c05c7fca0abe026afbc19dfb",
      "tree": "509a11bf7f7ebeef9a4236901adf53e507d1455b",
      "parents": [
        "d35ea200c0fb5315f16fb2599a4bafd9c1a7b386"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 17:05:52 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:17 2012 +0000"
      },
      "message": "mtd: introduce mtd_unpoint interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "d35ea200c0fb5315f16fb2599a4bafd9c1a7b386",
      "tree": "bca893ecf2cada20a1a3a84f64759c2e75838c5b",
      "parents": [
        "7e1f0dc0551b99acb5e8fa161a7ac401994d57d8"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 17:00:37 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:15 2012 +0000"
      },
      "message": "mtd: introduce mtd_point interface\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "7e1f0dc0551b99acb5e8fa161a7ac401994d57d8",
      "tree": "19108039bb082d42fbda40d4bd3ddb11a1185cd1",
      "parents": [
        "969e57adc2589a0a0ae5edbbe7b92062565ce70b"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 15:25:39 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:25:11 2012 +0000"
      },
      "message": "mtd: introduce mtd_erase interface\n\nThis patch is part of a patch-set which changes the MTD interface\nfrom \u0027mtd-\u003efunc()\u0027 form to \u0027mtd_func()\u0027 form. We need this because\nwe want to add common code to to all drivers in the mtd core level,\nwhich is impossible with the current interface when MTD clients\ncall driver functions like \u0027read()\u0027 or \u0027write()\u0027 directly.\n\nAt this point we just introduce a new inline wrapper function, but\nlater some of them are expected to gain more code. E.g., the input\nparameters check should be moved to the wrappers rather than be\nduplicated at many drivers.\n\nThis particular patch introduced the \u0027mtd_erase()\u0027 interface. The\nfollowing patches add all the other interfaces one by one.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "48d3610268cef9cea0704119a74a00d1bf82f536",
      "tree": "d58742e663834edf61a58643c2d670b457fee2ea",
      "parents": [
        "cdfe5ed0f271f1d5693fbd68809cc7e0e6c3af66"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Fri Dec 23 15:44:14 2011 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:24:54 2012 +0000"
      },
      "message": "logfs: rename functions starting with mtd_\n\nWe are going to re-work the MTD interface and change \u0027mtd-\u003ewrite()\u0027 to\n\u0027mtd_write()\u0027, \u0027mtd-\u003eread()\u0027 to \u0027mtd_read()\u0027 and so forth for all functions\nin the \u0027struct mtd_info\u0027 structure.\n\nHowever, logfs has its own \u0027mtd_read()\u0027, \u0027mtd_write()\u0027, etc functions\nwhich collide with our changes. This patch renames these logfs functions\nto \u0027logfs_mtd_read()\u0027, \u0027logfs_mtd_write()\u0027, etc.\n\nAdditionally, to make the \u0027fs/logfs/dev_mtd.c\u0027 file look consistent, rename\nsimilarly all the other functions starting with \u0027mtd_\u0027.\n\nCc: Jörn Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "53466710202900ce49e471f480cac11275e1d0c4",
      "tree": "c9a4d9458dff37cd7e15f2181c8bc1d5edcf3f91",
      "parents": [
        "fa3ae714c763f3e9d8fd876879338d2b674b8db2"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Tue Dec 06 17:06:06 2011 -0600"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Jan 09 18:18:03 2012 +0000"
      },
      "message": "jffs2: fix up error handling for insert_inode_locked\n\nafter 250df6ed274d767da844a5d9f05720b804240197\n(fs: protect inode-\u003ei_state with inode-\u003ei_lock), insert_inode_locked()\nno longer returns the inode with I_NEW set on failure.  However,\nthe error handler still calls unlock_new_inode() on failure,\nwhich does a WARN_ON if I_NEW is not set, so any failure spews\na lot of warnings.\n\nWe can just drop the unlock_new_inode() if insert_inode_locked()\nfails here.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@linux.intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "8fdd8c49fe50394fef3e193db27222cb03c2b212",
      "tree": "24b13a4397127a7ac8d708af9af6e1f476bc0763",
      "parents": [
        "0ce8c0109f548ed75535d96ec5a347b410ed1472"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 09 10:48:11 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 09 10:48:11 2012 -0500"
      },
      "message": "isofs: inode leak on mount failure\n\nd_alloc_root() failure leaves root inode leaked...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "302bf2f3259948c93361d501b04a5ed69c3bd4f8",
      "tree": "22ccdf5774a28476745a94532b5ce2c2cc454d98",
      "parents": [
        "6c2155b9cc5a193e85194bbeaae2e2e4512dd597"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Wed Jan 04 15:59:47 2012 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 09 13:52:10 2012 +0100"
      },
      "message": "ext2/3/4: delete unneeded includes of module.h\n\nDelete any instances of include module.h that were not strictly\nrequired.  In the case of ext2, the declaration of MODULE_LICENSE\netc. were in inode.c but the module_init/exit were in super.c, so\nrelocate the MODULE_LICENCE/AUTHOR block to super.c which makes it\nconsistent with ext3 and ext4 at the same time.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "6c2155b9cc5a193e85194bbeaae2e2e4512dd597",
      "tree": "fe2e0af12ebdb2bff009f47ccdfebd8dcde2b3a2",
      "parents": [
        "853a0c25baf96b028de1654bea1e0c8857eadf3d"
      ],
      "author": {
        "name": "Djalal Harouni",
        "email": "tixxdz@opendz.org",
        "time": "Tue Jan 03 02:31:52 2012 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 09 13:52:10 2012 +0100"
      },
      "message": "ext{3,4}: Fix potential race when setversion ioctl updates inode\n\nThe EXT{3,4}_IOC_SETVERSION ioctl() updates i_ctime and i_generation\nwithout i_mutex. This can lead to a race with the other operations that\nupdate i_ctime. This is not a big issue but let\u0027s make the ioctl consistent\nwith how we handle e.g. other timestamp updates and use i_mutex to protect\ninode changes.\n\nSigned-off-by: Djalal Harouni \u003ctixxdz@opendz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "853a0c25baf96b028de1654bea1e0c8857eadf3d",
      "tree": "2b72d7cafe569583322fa132ebc8c9821e8d7bce",
      "parents": [
        "33c104d415e92a51aaf638dc3d93920cfa601e5c"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Dec 23 11:53:07 2011 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 09 13:52:10 2012 +0100"
      },
      "message": "udf: Mark LVID buffer as uptodate before marking it dirty\n\nWhen we hit EIO while writing LVID, the buffer uptodate bit is cleared.\nThis then results in an anoying warning from mark_buffer_dirty() when we\nwrite the buffer again. So just set uptodate flag unconditionally.\n\nReviewed-by: Namjae Jeon \u003clinkinjeon@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "33c104d415e92a51aaf638dc3d93920cfa601e5c",
      "tree": "d94d7312b242ee85318188b3bc8fd23481c2f529",
      "parents": [
        "0048278552e9752fd578c3d8deee756987c10873"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 22 16:49:05 2011 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 09 13:52:09 2012 +0100"
      },
      "message": "ext3: Don\u0027t warn from writepage when readonly inode is spotted after error\n\nWARN_ON_ONCE(IS_RDONLY(inode)) tends to trip when filesystem hits error and is\nremounted read-only. This unnecessarily scares users (well, they should be\nscared because of filesystem error, but the stack trace distracts them from the\nright source of their fear ;-). We could as well just remove the WARN_ON but\nit\u0027s not hard to fix it to not trip on filesystem with errors and not use more\ncycles in the common case so that\u0027s what we do.\n\nCC: stable@kernel.org\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "0048278552e9752fd578c3d8deee756987c10873",
      "tree": "0931a7ff6aa5c388eb40e2a97fdcebe59bbae337",
      "parents": [
        "a9e36da655e54545c3289b2a0700b5c443de0edd"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 22 14:52:21 2011 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 09 13:52:09 2012 +0100"
      },
      "message": "jbd: Remove j_barrier mutex\n\nj_barrier mutex is used for serializing different journal lock operations.  The\nproblem with it is that e.g. FIFREEZE ioctl results in process leaving kernel\nwith j_barrier mutex held which makes lockdep freak out. Also hibernation code\nwants to freeze filesystem but it cannot do so because it then cannot hibernate\nthe system because of mutex being locked.\n\nSo we remove j_barrier mutex and use direct wait on j_barrier_count instead.\nSince locking journal is a rare operation we don\u0027t have to care about fairness\nor such things.\n\nCC: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: Joel Becker \u003cjlbec@evilplan.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "a9e36da655e54545c3289b2a0700b5c443de0edd",
      "tree": "14143a3c873177b70b8b66d6f8085378a2c92908",
      "parents": [
        "a06d789b424190e9f59da391681f908486db2554"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Wed Dec 21 21:18:43 2011 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 09 13:52:09 2012 +0100"
      },
      "message": "reiserfs: Force inode evictions before umount to avoid crash\n\nThis patch fixes a crash in reiserfs_delete_xattrs during umount.\n\nWhen shrink_dcache_for_umount clears the dcache from\ngeneric_shutdown_super, delayed evictions are forced to disk. If an\nevicted inode has extended attributes associated with it, it will\nneed to walk the xattr tree to locate and remove them.\n\nBut since shrink_dcache_for_umount will BUG if it encounters active\ndentries, the xattr tree must be released before it\u0027s called or it will\ncrash during every umount.\n\nThis patch forces the evictions to occur before generic_shutdown_super\nby calling shrink_dcache_sb first. The additional evictions caused\nby the removal of each associated xattr file and dir will be automatically\nhandled as they\u0027re added to the LRU list.\n\nCC: reiserfs-devel@vger.kernel.org\nCC: stable@kernel.org\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "a06d789b424190e9f59da391681f908486db2554",
      "tree": "540274351d80680a8fab0325c440dab52170aaae",
      "parents": [
        "fef2e9f3301934773e4f1b3cc5c7bffb119346b8"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 21 17:35:34 2011 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 09 13:52:09 2012 +0100"
      },
      "message": "reiserfs: Fix quota mount option parsing\n\nWhen jqfmt mount option is not specified on remount, we mistakenly clear\ns_jquota_fmt value stored in superblock. Fix the problem.\n\nCC: stable@kernel.org\nCC: reiserfs-devel@vger.kernel.org\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "fef2e9f3301934773e4f1b3cc5c7bffb119346b8",
      "tree": "32db1ddfb36294b26a5df7d87ddc19fc9dd89267",
      "parents": [
        "d2eb8c359309ec45d6bf5b147303ab8e13be86ea"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Dec 12 15:13:50 2011 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 09 13:52:08 2012 +0100"
      },
      "message": "udf: Treat symlink component of type 2 as /\n\nCurrently, we ignore symlink component of type 2. But mkisofs and other OS\u0027\nseem to treat it as / so do the same for compatibility.\n\nReported-by: \"Gábor S.\" \u003cotnaccess@hotmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "d2eb8c359309ec45d6bf5b147303ab8e13be86ea",
      "tree": "4725da2f9f5728b41960cff7b628d0997812504c",
      "parents": [
        "7b0b0933a3ff6052addf4d49ea99f75ab27df2d0"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Sat Dec 10 02:30:48 2011 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 09 13:52:08 2012 +0100"
      },
      "message": "udf: Fix deadlock when converting file from in-ICB one to normal one\n\nDuring BKL removal in 2.6.38, conversion of files from in-ICB format to normal\nformat got broken. We call -\u003ewritepage with i_data_sem held but udf_get_block()\nalso acquires i_data_sem thus creating A-A deadlock.\n\nWe fix the problem by dropping i_data_sem before calling -\u003ewritepage() which is\nsafe since i_mutex still protects us against any changes in the file. Also fix\npagelock - i_data_sem lock inversion in udf_expand_file_adinicb() by dropping\ni_data_sem before calling find_or_create_page().\n\nCC: stable@kernel.org\nReported-by: Matthias Matiak \u003cnetzpython@mail-on.us\u003e\nTested-by: Matthias Matiak \u003cnetzpython@mail-on.us\u003e\nReviewed-by: Namjae Jeon \u003clinkinjeon@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "7b0b0933a3ff6052addf4d49ea99f75ab27df2d0",
      "tree": "b410b1751843d5f1b2765900ac76beaad7f097e8",
      "parents": [
        "ef6919c283257155def420bd247140e9fd2e9843"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Sat Dec 10 01:43:33 2011 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 09 13:52:08 2012 +0100"
      },
      "message": "udf: Cleanup calling convention of inode_getblk()\n\ninode_getblk() always returned NULL and passed results in its parameters.\nMake the function return something useful - found block number.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "ef6919c283257155def420bd247140e9fd2e9843",
      "tree": "49c929bcb5b8be103a4ea8fe9964d0e02a0ec740",
      "parents": [
        "1415dd8705394399d59a3df1ab48d149e1e41e77"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Dec 09 00:08:58 2011 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 09 13:52:07 2012 +0100"
      },
      "message": "ext2: Fix error handling on inode bitmap corruption\n\nWhen insert_inode_locked() fails in ext2_new_inode() it most likely means inode\nbitmap got corrupted and we allocated again inode which is already in use. Also\ndoing unlock_new_inode() during error recovery is wrong since the inode does\nnot have I_NEW set. Fix the problem by informing about filesystem error and\njumping to fail: (instead of fail_drop:) which doesn\u0027t call unlock_new_inode().\n\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "1415dd8705394399d59a3df1ab48d149e1e41e77",
      "tree": "fb98d05d5fa83202d7b4bead058826366fc2592e",
      "parents": [
        "d03e1292c46721f60830c5d2e334966472002ed0"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 08 21:13:46 2011 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 09 13:52:07 2012 +0100"
      },
      "message": "ext3: Fix error handling on inode bitmap corruption\n\nWhen insert_inode_locked() fails in ext3_new_inode() it most likely\nmeans inode bitmap got corrupted and we allocated again inode which\nis already in use. Also doing unlock_new_inode() during error recovery\nis wrong since inode does not have I_NEW set. Fix the problem by jumping\nto fail: (instead of fail_drop:) which declares filesystem error and\ndoes not call unlock_new_inode().\n\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "d03e1292c46721f60830c5d2e334966472002ed0",
      "tree": "bc5a9f63fc52e4b96a6e9faa9457cb47d70b2cc7",
      "parents": [
        "bcdd0c1600903e9222abfcde28947406020ccb5d"
      ],
      "author": {
        "name": "Zheng Liu",
        "email": "wenqing.lz@taobao.com",
        "time": "Mon Dec 05 15:55:11 2011 +0800"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 09 13:52:07 2012 +0100"
      },
      "message": "ext3: replace ll_rw_block with other functions\n\nll_rw_block() is deprecated. Thus we replace it with other functions.\n\nCC: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Zheng Liu \u003cwenqing.lz@taobao.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "0ce8c0109f548ed75535d96ec5a347b410ed1472",
      "tree": "c82c28de75da5b73c224cce18602d1a5680d27d7",
      "parents": [
        "da01636a6511c3bd0c1cf546c47b8e92a837a613"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 08 19:50:23 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 08 20:19:30 2012 -0500"
      },
      "message": "ext[34]: avoid i_nlink warnings triggered by drop_nlink/inc_nlink kludge in symlink()\n\nBoth ext3 and ext4 put the half-created symlink inode into the orphan list\nfor a while (see the comment in ext[34]_symlink() for gory details).  Then,\nif everything went fine, they pull it out of the orphan list and bump the\nlink count back to 1.  The thing is, inc_nlink() is going to complain about\nseeing somebody changing i_nlink from 0 to 1.  With a good reason, since\nnormally something like that is a bug.  Explicit set_nlink(inode, 1) does\nthe same thing as inc_nlink() here, but it does *not* complain - exactly\nbecause it should be usable in strange situations like this one.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "da01636a6511c3bd0c1cf546c47b8e92a837a613",
      "tree": "394f40f4763d444ace4990ff1a5d21b386f83167",
      "parents": [
        "3850aba74873aa47fefe6900b99f42f5e656a6e7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 08 19:45:28 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 08 20:19:12 2012 -0500"
      },
      "message": "exofs: oops after late failure in mount\n\nWe have already set -\u003es_root, so -\u003eput_super() is going to be called.\nFreeing -\u003es_fs_info is a bloody bad idea when it\u0027s going to be\ndereferenced very shortly...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3850aba74873aa47fefe6900b99f42f5e656a6e7",
      "tree": "24f91e8cf4296a86678553809a935f355ae88de0",
      "parents": [
        "87da5b3264c8514b85c6c6e8ef51b9440eee2030"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 08 19:40:27 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 08 20:19:03 2012 -0500"
      },
      "message": "devpts: fix double-free on mount failure\n\ndevpts_kill_sb() is called even if devpts_fill_super() fails;\nwe should not do that kfree() in the latter, especially not\nwith -\u003es_fs_info left pointing to freed object.  Double kfree()\nis a Bad Thing(tm)...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "98793265b429a3f0b3f1750e74d67cd4d740d162",
      "tree": "b0bd717673f0c21845cf053f3fb6b75d42530af5",
      "parents": [
        "b4a133da2eaccb844a7beaef16ffd9c76a0d21d3",
        "bd1b2a555952d959f47169056fca05acf7eff81f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:21:22 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:21:22 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (53 commits)\n  Kconfig: acpi: Fix typo in comment.\n  misc latin1 to utf8 conversions\n  devres: Fix a typo in devm_kfree comment\n  btrfs: free-space-cache.c: remove extra semicolon.\n  fat: Spelling s/obsolate/obsolete/g\n  SCSI, pmcraid: Fix spelling error in a pmcraid_err() call\n  tools/power turbostat: update fields in manpage\n  mac80211: drop spelling fix\n  types.h: fix comment spelling for \u0027architectures\u0027\n  typo fixes: aera -\u003e area, exntension -\u003e extension\n  devices.txt: Fix typo of \u0027VMware\u0027.\n  sis900: Fix enum typo \u0027sis900_rx_bufer_status\u0027\n  decompress_bunzip2: remove invalid vi modeline\n  treewide: Fix comment and string typo \u0027bufer\u0027\n  hyper-v: Update MAINTAINERS\n  treewide: Fix typos in various parts of the kernel, and fix some comments.\n  clockevents: drop unknown Kconfig symbol GENERIC_CLOCKEVENTS_MIGR\n  gpio: Kconfig: drop unknown symbol \u0027CS5535_GPIO\u0027\n  leds: Kconfig: Fix typo \u0027D2NET_V2\u0027\n  sound: Kconfig: drop unknown symbol ARCH_CLPS7500\n  ...\n\nFix up trivial conflicts in arch/powerpc/platforms/40x/Kconfig (some new\nkconfig additions, close to removed commented-out old ones)\n"
    },
    {
      "commit": "eb59c505f8a5906ad2e053d14fab50eb8574fd6f",
      "tree": "c6e875adc12b481b916e847e8f80b8881a0fb02c",
      "parents": [
        "1619ed8f60959829d070d8f39cd2f8ca0e7135ce",
        "c233523b3d392e530033a7587d7970dc62a02361"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:10:57 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:10:57 2012 -0800"
      },
      "message": "Merge branch \u0027pm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\n* \u0027pm-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (76 commits)\n  PM / Hibernate: Implement compat_ioctl for /dev/snapshot\n  PM / Freezer: fix return value of freezable_schedule_timeout_killable()\n  PM / shmobile: Allow the A4R domain to be turned off at run time\n  PM / input / touchscreen: Make st1232 use device PM QoS constraints\n  PM / QoS: Introduce dev_pm_qos_add_ancestor_request()\n  PM / shmobile: Remove the stay_on flag from SH7372\u0027s PM domains\n  PM / shmobile: Don\u0027t include SH7372\u0027s INTCS in syscore suspend/resume\n  PM / shmobile: Add support for the sh7372 A4S power domain / sleep mode\n  PM: Drop generic_subsys_pm_ops\n  PM / Sleep: Remove forward-only callbacks from AMBA bus type\n  PM / Sleep: Remove forward-only callbacks from platform bus type\n  PM: Run the driver callback directly if the subsystem one is not there\n  PM / Sleep: Make pm_op() and pm_noirq_op() return callback pointers\n  PM/Devfreq: Add Exynos4-bus device DVFS driver for Exynos4210/4212/4412.\n  PM / Sleep: Merge internal functions in generic_ops.c\n  PM / Sleep: Simplify generic system suspend callbacks\n  PM / Hibernate: Remove deprecated hibernation snapshot ioctls\n  PM / Sleep: Fix freezer failures due to racy usermodehelper_is_disabled()\n  ARM: S3C64XX: Implement basic power domain support\n  PM / shmobile: Use common always on power domain governor\n  ...\n\nFix up trivial conflict in fs/xfs/xfs_buf.c due to removal of unused\nXBT_FORCE_SLEEP bit\n"
    },
    {
      "commit": "1619ed8f60959829d070d8f39cd2f8ca0e7135ce",
      "tree": "aa2599110827affb10e64a12e85a9d11f45854b1",
      "parents": [
        "29ad0de279002f9b6a63df5ba85328f5b633b842",
        "46cc1e5fce46e71f27e542125e045827a6bb776e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:07:54 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:07:54 2012 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw:\n  GFS2: local functions should be static\n  GFS2: We only need one ACL getting function\n  GFS2: Fix multi-block allocation\n  GFS2: decouple quota allocations from block allocations\n  GFS2: split function rgblk_search\n  GFS2: Fix up \"off by one\" in the previous patch\n  GFS2: move toward a generic multi-block allocator\n  GFS2: O_(D)SYNC support for fallocate\n  GFS2: remove vestigial al_alloced\n  GFS2: combine gfs2_alloc_block and gfs2_alloc_di\n  GFS2: Add non-try locks back to get_local_rgrp\n  GFS2: f_ra is always valid in dir readahead function\n  GFS2: Fix very unlikley memory leak in ACL xattr code\n  GFS2: More automated code analysis fixes\n  GFS2: Add readahead to sequential directory traversal\n  GFS2: Fix up REQ flags\n"
    },
    {
      "commit": "29ad0de279002f9b6a63df5ba85328f5b633b842",
      "tree": "8284c1a50ff2ecf9defca2a47f12947977c04df1",
      "parents": [
        "972b2c719990f91eb3b2310d44ef8a2d38955a14",
        "40d344ec5ee440596b1f3ae87556e20c7197757a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:05:29 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:05:29 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs: (22 commits)\n  xfs: mark the xfssyncd workqueue as non-reentrant\n  xfs: simplify xfs_qm_detach_gdquots\n  xfs: fix acl count validation in xfs_acl_from_disk()\n  xfs: remove unused XBT_FORCE_SLEEP bit\n  xfs: remove XFS_QMOPT_DQSUSER\n  xfs: kill xfs_qm_idtodq\n  xfs: merge xfs_qm_dqinit_core into the only caller\n  xfs: add a xfs_dqhold helper\n  xfs: simplify xfs_qm_dqattach_grouphint\n  xfs: nest qm_dqfrlist_lock inside the dquot qlock\n  xfs: flatten the dquot lock ordering\n  xfs: implement lazy removal for the dquot freelist\n  xfs: remove XFS_DQ_INACTIVE\n  xfs: cleanup xfs_qm_dqlookup\n  xfs: cleanup dquot locking helpers\n  xfs: remove the sync_mode argument to xfs_qm_dqflush_all\n  xfs: remove xfs_qm_sync\n  xfs: make sure to really flush all dquots in xfs_qm_quotacheck\n  xfs: untangle SYNC_WAIT and SYNC_TRYLOCK meanings for xfs_qm_dqflush\n  xfs: remove the lid_size field in struct log_item_desc\n  ...\n\nFix up trivial conflict in fs/xfs/xfs_sync.c\n"
    },
    {
      "commit": "972b2c719990f91eb3b2310d44ef8a2d38955a14",
      "tree": "b25a250ec5bec4b7b6355d214642d8b57c5cab32",
      "parents": [
        "02550d61f49266930e674286379d3601006b2893",
        "c3aa077648e147783a7a53b409578234647db853"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 12:19:57 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 12:19:57 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\n* \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (165 commits)\n  reiserfs: Properly display mount options in /proc/mounts\n  vfs: prevent remount read-only if pending removes\n  vfs: count unlinked inodes\n  vfs: protect remounting superblock read-only\n  vfs: keep list of mounts for each superblock\n  vfs: switch -\u003eshow_options() to struct dentry *\n  vfs: switch -\u003eshow_path() to struct dentry *\n  vfs: switch -\u003eshow_devname() to struct dentry *\n  vfs: switch -\u003eshow_stats to struct dentry *\n  switch security_path_chmod() to struct path *\n  vfs: prefer -\u003edentry-\u003ed_sb to -\u003emnt-\u003emnt_sb\n  vfs: trim includes a bit\n  switch mnt_namespace -\u003eroot to struct mount\n  vfs: take /proc/*/mounts and friends to fs/proc_namespace.c\n  vfs: opencode mntget() mnt_set_mountpoint()\n  vfs: spread struct mount - remaining argument of next_mnt()\n  vfs: move fsnotify junk to struct mount\n  vfs: move mnt_devname\n  vfs: move mnt_list to struct mount\n  vfs: switch pnode.h macros to struct mount *\n  ...\n"
    },
    {
      "commit": "724577ca355795b0a25c93ccbeee927871ca1a77",
      "tree": "ca3cdb4e7f1b9ab7963503227e1ca555c3535b3f",
      "parents": [
        "361aba569f55dd159b850489a3538253afbb3973"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Wed Dec 28 19:21:45 2011 +0200"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun Jan 08 10:43:13 2012 +0200"
      },
      "message": "ore: Must support none-PAGE-aligned IO\n\nNFS might send us offsets that are not PAGE aligned. So\nwe must read in the reminder of the first/last pages, in cases\nwe need it for Parity calculations.\n\nWe only add an sg segments to read the partial page. But\nwe don\u0027t mark it as read\u003dtrue because it is a lock-for-write\npage.\n\nTODO: In some cases (IO spans a single unit) we can just\nadjust the raid_unit offset/length, but this is left for\nlater Kernels.\n\n[Bug in 3.2.0 Kernel]\nCC: Stable Tree \u003cstable@kernel.org\u003e\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "bc31b86a5923fad5f3fbb6192f767f410241ba27",
      "tree": "9c1c0a21b7324567088e37e3c30697f5ebd1c621",
      "parents": [
        "bdaac4902a8225bf247ecaeac46c4b2980cc70e5"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Sat Jan 07 20:41:55 2012 -0600"
      },
      "committer": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Sun Jan 08 10:35:19 2012 +0800"
      },
      "message": "writeback: move MIN_WRITEBACK_PAGES to fs-writeback.c\n\nFix compile error\n\n fs/fs-writeback.c:515:33: error: ‘PAGE_CACHE_SHIFT’ undeclared (first use in this function)\n\nReported-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nAcked-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "7affca3537d74365128e477b40c529d6f2fe86c8",
      "tree": "20be92bd240029182fc89c2c4f25401b7715dcae",
      "parents": [
        "356b95424cfb456e14a59eaa579422ce014c424b",
        "ff4b8a57f0aaa2882d444ca44b2b9b333d22a4df"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 07 12:03:30 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 07 12:03:30 2012 -0800"
      },
      "message": "Merge branch \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core\n\n* \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (73 commits)\n  arm: fix up some samsung merge sysdev conversion problems\n  firmware: Fix an oops on reading fw_priv-\u003efw in sysfs loading file\n  Drivers:hv: Fix a bug in vmbus_driver_unregister()\n  driver core: remove __must_check from device_create_file\n  debugfs: add missing #ifdef HAS_IOMEM\n  arm: time.h: remove device.h #include\n  driver-core: remove sysdev.h usage.\n  clockevents: remove sysdev.h\n  arm: convert sysdev_class to a regular subsystem\n  arm: leds: convert sysdev_class to a regular subsystem\n  kobject: remove kset_find_obj_hinted()\n  m86k: gpio - convert sysdev_class to a regular subsystem\n  mips: txx9_sram - convert sysdev_class to a regular subsystem\n  mips: 7segled - convert sysdev_class to a regular subsystem\n  sh: dma - convert sysdev_class to a regular subsystem\n  sh: intc - convert sysdev_class to a regular subsystem\n  power: suspend - convert sysdev_class to a regular subsystem\n  power: qe_ic - convert sysdev_class to a regular subsystem\n  power: cmm - convert sysdev_class to a regular subsystem\n  s390: time - convert sysdev_class to a regular subsystem\n  ...\n\nFix up conflicts with \u0027struct sysdev\u0027 removal from various platform\ndrivers that got changed:\n - arch/arm/mach-exynos/cpu.c\n - arch/arm/mach-exynos/irq-eint.c\n - arch/arm/mach-s3c64xx/common.c\n - arch/arm/mach-s3c64xx/cpu.c\n - arch/arm/mach-s5p64x0/cpu.c\n - arch/arm/mach-s5pv210/common.c\n - arch/arm/plat-samsung/include/plat/cpu.h\n - arch/powerpc/kernel/sysfs.c\nand fix up cpu_is_hotpluggable() as per Greg in include/linux/cpu.h\n"
    },
    {
      "commit": "6926afd1925a54a13684ebe05987868890665e2b",
      "tree": "14dd0c00c757277d6f28b732c08206376e6dbf31",
      "parents": [
        "e2fecb215b321db0e4a5b2597349a63c07bec42f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jan 07 13:22:46 2012 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jan 07 13:22:46 2012 -0500"
      },
      "message": "NFSv4: Save the owner/group name string when doing open\n\n...so that we can do the uid/gid mapping outside the asynchronous RPC\ncontext.\nThis fixes a bug in the current NFSv4 atomic open code where the client\nisn\u0027t able to determine what the true uid/gid fields of the file are,\n(because the asynchronous nature of the OPEN call denies it the ability\nto do an upcall) and so fills them with default values, marking the\ninode as needing revalidation.\nUnfortunately, in some cases, the VFS will do some additional sanity\nchecks on the file, and may override the server\u0027s decision to allow\nthe open because it sees the wrong owner/group fields.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c3aa077648e147783a7a53b409578234647db853",
      "tree": "6ad21f0a005080a1a89bcd736454bc32f0cffab4",
      "parents": [
        "8e8b87964bc8dc5c14b6543fc933b7725f07d3ac"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 21 20:17:10 2011 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jan 06 23:20:13 2012 -0500"
      },
      "message": "reiserfs: Properly display mount options in /proc/mounts\n\nMake reiserfs properly display mount options in /proc/mounts.\n\nCC: reiserfs-devel@vger.kernel.org\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8e8b87964bc8dc5c14b6543fc933b7725f07d3ac",
      "tree": "9a14c135741f3a8ba960ff97f060a58597604a6d",
      "parents": [
        "7ada4db88634429f4da690ad1c4eb73c93085f0c"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Nov 21 12:11:33 2011 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jan 06 23:20:13 2012 -0500"
      },
      "message": "vfs: prevent remount read-only if pending removes\n\nIf there are any inodes on the super block that have been unlinked\n(i_nlink \u003d\u003d 0) but have not yet been deleted then prevent the\nremounting the super block read-only.\n\nReported-by: Toshiyuki Okajima \u003ctoshi.okajima@jp.fujitsu.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nTested-by: Toshiyuki Okajima \u003ctoshi.okajima@jp.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7ada4db88634429f4da690ad1c4eb73c93085f0c",
      "tree": "ed1228f0bfa9d0050d746933595004d7c6e940f9",
      "parents": [
        "4ed5e82fe77f4147cf386327c9a63a2dd7eff518"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Nov 21 12:11:32 2011 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jan 06 23:20:12 2012 -0500"
      },
      "message": "vfs: count unlinked inodes\n\nAdd a new counter to the superblock that keeps track of unlinked but\nnot yet deleted inodes.\n\nDo not WARN_ON if set_nlink is called with zero count, just do a\nratelimited printk.  This happens on xfs and probably other\nfilesystems after an unclean shutdown when the filesystem reads inodes\nwhich already have zero i_nlink.  Reported by Christoph Hellwig.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nTested-by: Toshiyuki Okajima \u003ctoshi.okajima@jp.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4ed5e82fe77f4147cf386327c9a63a2dd7eff518",
      "tree": "f4eaeefaf5d293014457892ac31f878eece07331",
      "parents": [
        "39f7c4db1d2d9e2e2a90abdf34811783089d217d"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Nov 21 12:11:31 2011 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jan 06 23:20:12 2012 -0500"
      },
      "message": "vfs: protect remounting superblock read-only\n\nCurrently remouting superblock read-only is racy in a major way.\n\nWith the per mount read-only infrastructure it is now possible to\nprevent most races, which this patch attempts.\n\nBefore starting the remount read-only, iterate through all mounts\nbelonging to the superblock and if none of them have any pending\nwrites, set sb-\u003es_readonly_remount.  This indicates that remount is in\nprogress and no further write requests are allowed.  If the remount\nsucceeds set MS_RDONLY and reset s_readonly_remount.\n\nIf the remounting is unsuccessful just reset s_readonly_remount.\nThis can result in transient EROFS errors, despite the fact the\nremount failed.  Unfortunately hodling off writes is difficult as\nremount itself may touch the filesystem (e.g. through load_nls())\nwhich would deadlock.\n\nA later patch deals with delayed writes due to nlink going to zero.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nTested-by: Toshiyuki Okajima \u003ctoshi.okajima@jp.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "39f7c4db1d2d9e2e2a90abdf34811783089d217d",
      "tree": "cbc3496ce21e26b5891bb4c4d4155853317ddfb3",
      "parents": [
        "34c80b1d93e6e20ca9dea0baf583a5b5510d92d4"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Nov 21 12:11:30 2011 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jan 06 23:20:12 2012 -0500"
      },
      "message": "vfs: keep list of mounts for each superblock\n\nKeep track of vfsmounts belonging to a superblock.  List is protected\nby vfsmount_lock.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nTested-by: Toshiyuki Okajima \u003ctoshi.okajima@jp.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "34c80b1d93e6e20ca9dea0baf583a5b5510d92d4",
      "tree": "7dcbf0a4e09464247e6992c8f44fcc872867bd3a",
      "parents": [
        "a6322de67b58a00e3a783ad9c87c2a11b2d67b47"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 08 21:32:45 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jan 06 23:19:54 2012 -0500"
      },
      "message": "vfs: switch -\u003eshow_options() to struct dentry *\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a6322de67b58a00e3a783ad9c87c2a11b2d67b47",
      "tree": "526d8cb03b5f357bab06907eecad4c1d444a4934",
      "parents": [
        "d861c630e99febe5ce6055290085556c5b714b06"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 08 21:37:57 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jan 06 23:16:55 2012 -0500"
      },
      "message": "vfs: switch -\u003eshow_path() to struct dentry *\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d861c630e99febe5ce6055290085556c5b714b06",
      "tree": "972fb0e89694197dbdbeca13920de08394abfe39",
      "parents": [
        "64132379d509184425672e0dce1ac0a031e3f2a5"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 08 21:32:45 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jan 06 23:16:54 2012 -0500"
      },
      "message": "vfs: switch -\u003eshow_devname() to struct dentry *\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "64132379d509184425672e0dce1ac0a031e3f2a5",
      "tree": "2b7191e0e37bf061b2000935c7cf78e6fb1f3c95",
      "parents": [
        "cdcf116d44e78c7216ba9f8be9af1cdfca7af728"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 08 20:51:13 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jan 06 23:16:54 2012 -0500"
      },
      "message": "vfs: switch -\u003eshow_stats to struct dentry *\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cdcf116d44e78c7216ba9f8be9af1cdfca7af728",
      "tree": "2417cfd3e06ac5e2468585e8f00d580242cb5571",
      "parents": [
        "d8c9584ea2a92879f471fd3a2be3af6c534fb035"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 08 10:51:53 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jan 06 23:16:53 2012 -0500"
      },
      "message": "switch security_path_chmod() to struct path *\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    }
  ],
  "next": "d8c9584ea2a92879f471fd3a2be3af6c534fb035"
}
