)]}'
{
  "log": [
    {
      "commit": "a685e08987d1edf1995b76511d4c98ea0e905377",
      "tree": "1d42593e2bc320f8d93b98851b2df0fd432e3859",
      "parents": [
        "dde194a64bb5c3fd05d965775dc92e8a4920a53a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jun 08 21:13:01 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 12 17:45:41 2011 -0400"
      },
      "message": "Delay struct net freeing while there\u0027s a sysfs instance refering to it\n\n\t* new refcount in struct net, controlling actual freeing of the memory\n\t* new method in kobj_ns_type_operations (-\u003edrop_ns())\n\t* -\u003ecurrent_ns() semantics change - it\u0027s supposed to be followed by\ncorresponding -\u003edrop_ns().  For struct net in case of CONFIG_NET_NS it bumps\nthe new refcount; net_drop_ns() decrements it and calls net_free() if the\nlast reference has been dropped.  Method renamed to -\u003egrab_current_ns().\n\t* old net_free() callers call net_drop_ns() instead.\n\t* sysfs_exit_ns() is gone, along with a large part of callchain\nleading to it; now that the references stored in -\u003ens[...] stay valid we\ndo not need to hunt them down and replace them with NULL.  That fixes\nproblems in sysfs_lookup() and sysfs_readdir(), along with getting rid\nof sb-\u003es_instances abuse.\n\n\tNote that struct net *shutdown* logics has not changed - net_cleanup()\nis called exactly when it used to be called.  The only thing postponed by\nhaving a sysfs instance refering to that struct net is actual freeing of\nmemory occupied by struct net.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d0e46f88b2f73828faf00d559c7e5b3ce9e39a4b",
      "tree": "f8d4728b19cc8dd6a02cf04711c9f05be3247cd0",
      "parents": [
        "f7e835710ab5f6e43933c983f38f2d2e262b718c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 26 13:30:36 2010 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 29 04:17:08 2010 -0400"
      },
      "message": "convert sysfs\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "01cd9fef6eb3caae06415861de5b53224b722549",
      "tree": "ab34d701de3454ad2e071a682567c4380393f291",
      "parents": [
        "8267952b362b67a5cb5371d6894a772a13e6874c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 04 22:21:54 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:53 2010 -0400"
      },
      "message": "switch sysfs to -\u003eevict_inode()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "68d75ed4b84a0806ecd4bc14da4759713b23a532",
      "tree": "025c85987d1d553ed014903ad8f6395250b44fa8",
      "parents": [
        "27eabc7cb4b357c68e4ce77d0b014f7a23add752"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Tue May 18 12:58:33 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 21 09:37:31 2010 -0700"
      },
      "message": "sysfs: Remove usage of S_BIAS to avoid merge conflict with the vfs tree\n\nIn Al\u0027s latest vfs tree the code is reworked and S_BIAS has been removed.\n\nIt turns out that checking to see if a super block is in the\nmiddle of an unmount in sysfs_exit_ns is unnecessary because we\nremove the super_block from the s_supers/s_instances list before\nstruct sysfs_super_info pointed to by sb-\u003es_fs_info is freed.\n\nFor now just delete the unnecessary check to see if a superblock is in the\nmiddle of an unmount, it isn\u0027t necessary with or without Al\u0027s changes\nand it just causes a needless conflict.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3ff195b011d7decf501a4d55aeed312731094796",
      "tree": "8cfdc330abbf82893955f2d7d6e96efee81bfd7c",
      "parents": [
        "bc451f2058238013e1cdf4acd443c01734d332f0"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Mar 30 11:31:26 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 21 09:37:31 2010 -0700"
      },
      "message": "sysfs: Implement sysfs tagged directory support.\n\nThe problem.  When implementing a network namespace I need to be able\nto have multiple network devices with the same name.  Currently this\nis a problem for /sys/class/net/*, /sys/devices/virtual/net/*, and\npotentially a few other directories of the form /sys/ ... /net/*.\n\nWhat this patch does is to add an additional tag field to the\nsysfs dirent structure.  For directories that should show different\ncontents depending on the context such as /sys/class/net/, and\n/sys/devices/virtual/net/ this tag field is used to specify the\ncontext in which those directories should be visible.  Effectively\nthis is the same as creating multiple distinct directories with\nthe same name but internally to sysfs the result is nicer.\n\nI am calling the concept of a single directory that looks like multiple\ndirectories all at the same path in the filesystem tagged directories.\n\nFor the networking namespace the set of directories whose contents I need\nto filter with tags can depend on the presence or absence of hotplug\nhardware or which modules are currently loaded.  Which means I need\na simple race free way to setup those directories as tagged.\n\nTo achieve a reace free design all tagged directories are created\nand managed by sysfs itself.\n\nUsers of this interface:\n- define a type in the sysfs_tag_type enumeration.\n- call sysfs_register_ns_types with the type and it\u0027s operations\n- sysfs_exit_ns when an individual tag is no longer valid\n\n- Implement mount_ns() which returns the ns of the calling process\n  so we can attach it to a sysfs superblock.\n- Implement ktype.namespace() which returns the ns of a syfs kobject.\n\nEverything else is left up to sysfs and the driver layer.\n\nFor the network namespace mount_ns and namespace() are essentially\none line functions, and look to remain that.\n\nTags are currently represented a const void * pointers as that is\nboth generic, prevides enough information for equality comparisons,\nand is trivial to create for current users, as it is just the\nexisting namespace pointer.\n\nThe work needed in sysfs is more extensive.  At each directory\nor symlink creating I need to check if the directory it is being\ncreated in is a tagged directory and if so generate the appropriate\ntag to place on the sysfs_dirent.  Likewise at each symlink or\ndirectory removal I need to check if the sysfs directory it is\nbeing removed from is a tagged directory and if so figure out\nwhich tag goes along with the name I am deleting.\n\nCurrently only directories which hold kobjects, and\nsymlinks are supported.  There is not enough information\nin the current file attribute interfaces to give us anything\nto discriminate on which makes it useless, and there are\nno potential users which makes it an uninteresting problem\nto solve.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ba514a57f5c38d9d79ea15e75059e07f49238726",
      "tree": "88a3c7cff6c2db84b0013b3e38ae550dee0f3127",
      "parents": [
        "9e7fdd25b21ebf50713dfb7702af57c270e5572a"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Mar 30 16:50:26 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 21 09:37:31 2010 -0700"
      },
      "message": "sysfs: Remove double free sysfs_get_sb\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9e7fdd25b21ebf50713dfb7702af57c270e5572a",
      "tree": "ea1c4d9c33be9b72782081fc16a5bac8aafe93da",
      "parents": [
        "c3473c63542d53740f175f3a515257ae159e998b"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Mar 30 11:31:24 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 21 09:37:30 2010 -0700"
      },
      "message": "sysfs: Basic support for multiple super blocks\n\nAdd all of the necessary bioler plate to support\nmultiple superblocks in sysfs.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "0f4288ec6fcc1a47d1fa0241ec1c6dacd5a09e96",
      "tree": "7112809d470a7e6dc55cd68054896beef24bc184",
      "parents": [
        "fac2622bbad4d7e3a32c53e631e018b80ec631dc"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Feb 12 19:22:28 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:52 2010 -0800"
      },
      "message": "sysfs: Kill unused sysfs_sb variable.\n\nNow that there are no more users we can remove\nthe sysfs_sb variable.\n\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "fac2622bbad4d7e3a32c53e631e018b80ec631dc",
      "tree": "42e4ad2b38c6d40c86eabaff5efff2b0adeb0b40",
      "parents": [
        "2354dcc7218853a6537ec722be40fde9a11c413b"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Feb 12 19:22:27 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:52 2010 -0800"
      },
      "message": "sysfs: Pass super_block to sysfs_get_inode\n\nCurrently sysfs_get_inode magically returns an inode on\nsysfs_sb.  Make the super_block parameter explicit and\nthe code becomes clearer.\n\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "04256b4a8fc73f54cd14f20867882c299728a446",
      "tree": "16267f6c77e0fa9f7229a30f66343289b6d1108a",
      "parents": [
        "425cb02912d1095febfeaf8d379af7b2ac9e4a89"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Wed Feb 11 13:20:23 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:25 2009 -0700"
      },
      "message": "sysfs: reference sysfs_dirent from sysfs inodes\n\nThe sysfs_dirent serves as both an inode and a directory entry\nfor sysfs.  To prevent the sysfs inode numbers from being freed\nprematurely hold a reference to sysfs_dirent from the sysfs inode.\n\n[akpm@linux-foundation.org: add comment]\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4a67a1bc0b3a0db017b560cee27370d141c58e25",
      "tree": "ab039581d41c9fa45a1bac9eb843baa1312a5969",
      "parents": [
        "8231f2f99a5e5fc45a25e8de09fd1ab9711babf1"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Jan 21 11:55:11 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:24 2009 -0700"
      },
      "message": "sysfs: Take sysfs_mutex when fetching the root inode.\n\nsysfs_get_inode ultimately calls sysfs_count_nlink when the a\ndirectory inode is fectched.  sysfs_count_nlink needs to be\ncalled under the sysfs_mutex to guard against the unlikely\nbut possible scenario that the root directory is changing\nas we are counting the number entries in it, and just in\ngeneral to be consistent.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8231f2f99a5e5fc45a25e8de09fd1ab9711babf1",
      "tree": "18fd1173f6197e373905d94c904c16763086ed06",
      "parents": [
        "1fa5ae857bb14f6046205171d98506d8112dd74e"
      ],
      "author": {
        "name": "Qinghuang Feng",
        "email": "qhfeng.kernel@gmail.com",
        "time": "Wed Jan 14 15:45:13 2009 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:24 2009 -0700"
      },
      "message": "SYSFS: use standard magic.h for sysfs\n\nSYSFS_MAGIC has been added into magic.h, so only use that definition\nin magic.h to avoid potential consistency problem.\n\nSigned-off-by: Qinghuang Feng \u003cqhfeng.kernel@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f1282c844e86db5a041afa41335b5f9eea6cec0c",
      "tree": "3736285f2f7ce145fb06538d616a9c1165ffc125",
      "parents": [
        "ec748fa9ed3fec44aeebbf86ae050b0cc7a978d9"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Wed Jul 16 08:58:04 2008 +1000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 16 09:24:47 2008 -0700"
      },
      "message": "sysfs: Support sysfs_notify from atomic context with new sysfs_notify_dirent\n\nSupport sysfs_notify from atomic context with new sysfs_notify_dirent\n\nsysfs_notify currently takes sysfs_mutex.\nThis means that it cannot be called in atomic context.\nsysfs_mutex  is sometimes held over a malloc (sysfs_rename_dir)\nso it can block on low memory.\n\nIn md I want to be able to notify on a sysfs attribute from\natomic context, and I don\u0027t want to block on low memory because I\ncould be in the writeout path for freeing memory.\n\nSo:\n - export the \"sysfs_dirent\" structure along with sysfs_get, sysfs_put\n   and sysfs_get_dirent so I can get the sysfs_dirent that I want to\n   notify on and hold it in an md structure.\n - split sysfs_notify_dirent out of sysfs_notify so the sysfs_dirent\n   can be notified on with no blocking (just a spinlock).\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8e24eea728068bbeb6a3c500b848f883a20bf225",
      "tree": "93e79da649723e2766237505b22725fec395f139",
      "parents": [
        "530b6412786d7f83592c1a8e2445541ed73fca76"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Apr 30 00:55:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:54 2008 -0700"
      },
      "message": "fs: replace remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e0bf68ddec4f4f90e5871404be4f1854c17f3120",
      "tree": "36203a3558cbe26d698bed18be69b3822fb5eef2",
      "parents": [
        "dc62a30e274d003a4d08fb888f1520add4b21373"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Oct 16 23:25:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:45 2007 -0700"
      },
      "message": "mm: bdi init hooks\n\nprovide BDI constructor/destructor hooks\n\n[akpm@linux-foundation.org: compile fix]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d66f5cd26e4c482e986130b7572f2735a0f7e8b",
      "tree": "b35a4c00af8b2120a672dc19cb09006d5d000a9f",
      "parents": [
        "f0e7e1bd77d450ebfa12153b90f93ad46616ab4a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 17:31:38 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:12 2007 -0700"
      },
      "message": "sysfs: add copyrights\n\nSysfs has gone through considerable amount of reimplementation.  Add\ncopyrights.  Any objections?  :-)\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "dc2f75f0e0cac645c22c85bcf429683b3fa0d2d9",
      "tree": "775a89f5abae0cdc9688a32a6209d74c61cb5975",
      "parents": [
        "d6b4fd2faeb9ddf55ce09cf90b88981e579ee010"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:12 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:11 2007 -0700"
      },
      "message": "sysfs: make sysfs_root a regular directory dirent\n\nsysfs_root is different from a regular directory dirent in that it\u0027s\nof type SYSFS_ROOT and doesn\u0027t have a name.  These differences aren\u0027t\nused by anybody and only adds to complexity.  Make sysfs_root a\nregular directory dirent.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5a26b79c426f8e55ebf7204cb138eb6b1645d4d3",
      "tree": "4cdcd80f88a479a6ed1ef53042f3b17359c0e80e",
      "parents": [
        "e0712bbfd9cb617fc3a822781c2466fb6b7ede50"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Aug 20 21:36:30 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:08 2007 -0700"
      },
      "message": "sysfs: Remove s_dentry\n\nThe only uses of s_dentry left are the code that maintains\ns_dentry and trivial users that don\u0027t actually need it.\nSo this patch removes the s_dentry maintenance code and\nrestructures the trivial uses to use something else.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7d0c7d676cc066413e1583b5af9fba8011972d41",
      "tree": "0afe89f9eca5e1e0ff31f5409a3568991cfceda2",
      "parents": [
        "0333cd8a3f4249fde2c50929a6eac35245fc685b"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Aug 20 21:36:30 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:07 2007 -0700"
      },
      "message": "sysfs: Make sysfs_mount static\n\nThis patch modifies the users of sysfs_mount to use sysfs_root\ninstead (which is what they are looking for).  It then\nmakes sysfs_mount static to keep people from using it\nby accident.\n\nThe net result is slightly faster and cleaner code.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0333cd8a3f4249fde2c50929a6eac35245fc685b",
      "tree": "782679dcb328100b33ccc96bb4cf0b45e8c072ef",
      "parents": [
        "119dd52be33dfe6285f586ab7354897fdefc7e23"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Aug 20 21:36:29 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:07 2007 -0700"
      },
      "message": "sysfs: Use kill_anon_super\n\nSince sysfs no longer stores fs directory information in the dcache\non a permanent basis kill_litter_super it is inappropriate and actively\nwrong.  It will decrement the count on all dentries left in the\ndcache before trying to free them.\n\nAt the moment this is not biting us only because we never unmount sysfs.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "372e88bd1922228e0a55228f6dc8e311d1696fa0",
      "tree": "3f078e13b55a4fc20fe0df5c7e85045554e536bf",
      "parents": [
        "253280267a7f1ced0c434fb24b7bef92d7d22628"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Aug 20 21:36:29 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:07 2007 -0700"
      },
      "message": "sysfs: Move all of inode initialization into sysfs_init_inode\n\nSigned-off-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "90bc61359de0148f8627073d68a22edc7ed9893d",
      "tree": "b054bf0cb9bda41dab498086216f4c0253b2c5ed",
      "parents": [
        "869512ab5ab93e5e82ad7d4aaf4ed098d23bfc3f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Jul 31 19:15:08 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:03 2007 -0700"
      },
      "message": "sysfs: Remove first pass at shadow directory support\n\nWhile shadow directories appear to be a good idea, the current scheme\nof controlling their creation and destruction outside of sysfs appears\nto be a locking and maintenance nightmare in the face of sysfs\ndirectories dynamically coming and going.  Which can now occur for\ndirectories containing network devices when CONFIG_SYSFS_DEPRECATED is\nnot set.\n\nThis patch removes everything from the initial shadow directory support\nthat allowed the shadow directory creation to be controlled at a higher\nlevel.  So except for a few bits of sysfs_rename_dir everything from\ncommit b592fcfe7f06c15ec11774b5be7ce0de3aa86e73 is now gone.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "869512ab5ab93e5e82ad7d4aaf4ed098d23bfc3f",
      "tree": "a5609e3aef01ec49ba2281274bac9d25c1cb3091",
      "parents": [
        "52e8c209d6d2bae6766b9940a107c73e943583f1"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Thu Jul 26 14:53:53 2007 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:03 2007 -0700"
      },
      "message": "sysfs: cleanup semaphore.h\n\nCleanup semaphore.h\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "20c2df83d25c6a95affe6157a4c9cac4cf5ffaac",
      "tree": "415c4453d2b17a50abe7a3e515177e1fa337bd67",
      "parents": [
        "64fb98fc40738ae1a98bcea9ca3145b89fb71524"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "message": "mm: Remove slab destructors from kmem_cache_create().\n\nSlab destructors were no longer supported after Christoph\u0027s\nc59def9f222d44bb7e2f0a559f2906191a0862d7 change. They\u0027ve been\nBUGs for both slab and slub, and slob never supported them\neither.\n\nThis rips out support for the dtor pointer from kmem_cache_create()\ncompletely and fixes up every single callsite in the kernel (there were\nabout 224, not including the slab allocator definitions themselves,\nor the documentation references).\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "e080e436f605877e47e4950f5386ed843badbb1b",
      "tree": "87acb330e8978738d013f10206562c89b85a1a7b",
      "parents": [
        "2c19c49a59ccf2162c0eb999de1ec60c0e07a533"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Jul 18 14:29:06 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 18 15:49:49 2007 -0700"
      },
      "message": "sysfs: fix sysfs root inode nlink accounting\n\nWhile making sysfs indoes hashed, sysfs root inode was left out.  Now\nthat nlink accounting depends on the inode being on the hash, sysfs\nroot inode nlink isn\u0027t adjusted properly.\n\nPut sysfs root inode on the inode hash by allocating it using\nsysfs_get_inode() like other sysfs inodes.  While at it, massage\ncomments a bit.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "51225039f3cf9d250596d1344494b293274b9169",
      "tree": "4e646ab37043068824a146c7353c6242a4eb72df",
      "parents": [
        "53e0ae92690c52eceb997905d85fbb42de5fff63"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 04:27:25 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:09 2007 -0700"
      },
      "message": "sysfs: make directory dentries and inodes reclaimable\n\nThis patch makes dentries and inodes for sysfs directories\nreclaimable.\n\n* sysfs_notify() is modified to walk sysfs_dirent tree instead of\n  dentry tree.\n\n* sysfs_update_file() and sysfs_chmod_file() use sysfs_get_dentry() to\n  grab the victim dentry.\n\n* sysfs_rename_dir() and sysfs_move_dir() grab all dentries using\n  sysfs_get_dentry() on startup.\n\n* Dentries for all shadowed directories are pinned in memory to serve\n  as lookup start point.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b402d72cf7b338a074e3c12b305ec79284e18845",
      "tree": "0724d40180eb78212be81c7ff2d909ec3fb3f306",
      "parents": [
        "d0bcb5689a521df98bff7549fcb8b17499660a99"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 04:27:21 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:08 2007 -0700"
      },
      "message": "sysfs: rename sysfs_dirent-\u003es_type to s_flags and make room for flags\n\nRename sysfs_dirent-\u003es_type to s_flags, pack type into lower eight\nbits and reserve the rest for flags.  sysfs_type() can used to access\nthe type.  All existing sd-\u003es_type accesses are converted to use\nsysfs_type().  While at it, type test is changed to equality test\ninstead of bit-and test where appropriate.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0c73f18b7d95de8a007039337063a770b5fc8e7a",
      "tree": "cf3b6f274139b170136219918dd679f2397e69f6",
      "parents": [
        "8619f979898397582e366877fd5feeba7560d70c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:18 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:07 2007 -0700"
      },
      "message": "sysfs: use singly-linked list for sysfs_dirent tree\n\nMake sysfs_dirent use singly linked list for its tree structure.\nsysfs_link_sibling() and sysfs_unlink_sibling() functions are added to\nhandle simpler cases.  It adds some complexity and cpu cycle overhead\nbut reduced memory footprint is worthwhile on big machines.\n\nThis change reduces the sizeof sysfs_dirent from 104 to 88 on 64bit\nand from 60 to 52 on 32bit.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0b8ead82f5d9d8f08c0d1236f2e350b70a977753",
      "tree": "d725dd9ee12498c84e5efd9da23c9170d3e3400e",
      "parents": [
        "8312a8d7c1d19d31027bd4ca127ce671962c23d4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:18 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:07 2007 -0700"
      },
      "message": "sysfs: fix root sysfs_dirent -\u003e root dentry association\n\nThe root sysfs_dirent didn\u0027t point to the root dentry fix it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "fc9f54b9982e14e6dbe023425c87ffbfd6992c45",
      "tree": "61b828ac694d9e8decb02022a1056a5367bb1bef",
      "parents": [
        "7f7cfffe60ed6271c4028ec79ae1c297b44bcb14"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:17 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:07 2007 -0700"
      },
      "message": "sysfs: reorganize sysfs_new_indoe() and sysfs_create()\n\nReorganize/clean up sysfs_new_inode() and sysfs_create().\n\n* sysfs_init_inode() is separated out from sysfs_new_inode() and is\n  responsible for basic initialization.\n* sysfs_instantiate() replaces the last step of sysfs_create() and is\n  responsible for dentry instantitaion.\n* type-specific initialization is moved out to the callers.\n* mode is specified only once when creating a sysfs_dirent.\n* spurious list_del_init(\u0026sd-\u003es_sibling) dropped from create_dir()\n\nThis change is to\n\n* prepare for inode allocation fix.\n* separate alloc and init code for synchronization update.\n* make dentry/inode initialization more flexible for later changes.\n\nThis patch doesn\u0027t introduce visible behavior change.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "73107cb3ad3963c0f929ae681c05081eafb1c079",
      "tree": "78c9647d5e6a0d9c89cb8c37b7533aad8f805302",
      "parents": [
        "0ab66088c855eca68513bdd7442a426c4b374ced"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:16 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:05 2007 -0700"
      },
      "message": "sysfs: kill attribute file orphaning\n\nNow that sysfs_dirent can be disconnected from kobject on deletion,\nthere is no need to orphan each attribute files.  All [bin_]attribute\nnodes are automatically orphaned when the parent node is deleted.\nKill attribute file orphaning.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3e5190380ebef77f2b015c9e7a4ca225a3d75021",
      "tree": "08d17cd0562acf5101063e93c649f5f71f80b3b9",
      "parents": [
        "0c096b507f15397da890051ee73de4266d3941fb"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:15 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:04 2007 -0700"
      },
      "message": "sysfs: make sysfs_dirent-\u003es_element a union\n\nMake sd-\u003es_element a union of sysfs_elem_{dir|symlink|attr|bin_attr}\nand rename it to s_elem.  This is to achieve...\n\n* some level of type checking : changing symlink to point to\n  sysfs_dirent instead of kobject is much safer and less painful now.\n* easier / standardized dereferencing\n* allow sysfs_elem_* to contain more than one entry\n\nWhere possible, pointer is obtained by directly deferencing from sd\ninstead of going through other entities.  This reduces dependencies to\ndentry, inode and kobject.  to_attr() and to_bin_attr() are unused now\nand removed.\n\nThis is in preparation of object reference simplification.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "13b3086d2ea483cbcae5a4236446cecc082a72cf",
      "tree": "f6932aaf486a302aa7b03857d780bafda33db2d6",
      "parents": [
        "a26cd7226c24c3be5dd5f48a74832fe64beb8489"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:14 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:04 2007 -0700"
      },
      "message": "sysfs: add sysfs_dirent-\u003es_parent\n\nAdd sysfs_dirent-\u003es_parent.  With this patch, each sd points to and\nholds a reference to its parent.  This allows walking sysfs tree\nwithout referencing sd-\u003es_dentry which can go away anytime if the user\ndoesn\u0027t control when it\u0027s deleted.\n\nsd-\u003es_parent is initialized and parent is referenced in\nsysfs_attach_dirent().  Reference to parent is released when the sd is\nreleased, so as long as reference to a sd is held, s_parent can be\nfollowed.\n\ndentry walk in sysfs_readdir() is convereted to s_parent walk.\n\nThis will be used to reimplement symlink such that it uses only\nsysfs_dirent tree.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "dc351252b33f8fede396d6173dba117bcb933607",
      "tree": "282d57855f66119f930eb629ab483bffcc5b6c21",
      "parents": [
        "99f9f3d49cbc7d944476f6fde53a77ec789ab2aa"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Mon Jun 11 14:02:45 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jun 12 16:08:46 2007 -0700"
      },
      "message": "sysfs: store sysfs inode nrs in s_ino to avoid readdir oopses\n\nBackport of\nftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc1/2.6.22-rc1-mm1/broken-out/gregkh-driver-sysfs-allocate-inode-number-using-ida.patch\n\nFor regular files in sysfs, sysfs_readdir wants to traverse\nsysfs_dirent-\u003es_dentry-\u003ed_inode-\u003ei_ino to get to the inode number.\nBut, the dentry can be reclaimed under memory pressure, and there is\nno synchronization with readdir.  This patch follows Tejun\u0027s scheme of\nallocating and storing an inode number in the new s_ino member of a\nsysfs_dirent, when dirents are created, and retrieving it from there\nfor readdir, so that the pointer chain doesn\u0027t have to be traversed.\n\nTejun\u0027s upstream patch uses a new-ish \"ida\" allocator which brings\nalong some extra complexity; this -stable patch has a brain-dead\nincrementing counter which does not guarantee uniqueness, but because\nsysfs doesn\u0027t hash inodes as iunique expects, uniqueness wasn\u0027t\nguaranteed today anyway.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ee9b6d61a2a43c5952eb43283f8db284a4e70b8a",
      "tree": "afb0340e79d3e9d14f39df20e165ce2efe941b18",
      "parents": [
        "c5ef1c42c51b1b5b4a401a6517bdda30933ddbaf"
      ],
      "author": {
        "name": "Josef \u0027Jeff\u0027 Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Mon Feb 12 00:55:41 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:47 2007 -0800"
      },
      "message": "[PATCH] Mark struct super_operations const\n\nThis patch is inspired by Arjan\u0027s \"Patch series to mark struct\nfile_operations and struct inode_operations const\".\n\nCompile tested with gcc \u0026 sparse.\n\nSigned-off-by: Josef \u0027Jeff\u0027 Sipek \u003cjsipek@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b592fcfe7f06c15ec11774b5be7ce0de3aa86e73",
      "tree": "13f2cb344f8871edd30dc15007534405197d8480",
      "parents": [
        "2f65168de7d68a5795e945e781d85b313bdc97b9"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Jan 24 12:35:52 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Feb 07 10:37:14 2007 -0800"
      },
      "message": "sysfs: Shadow directory support\n\nThe problem.  When implementing a network namespace I need to be able\nto have multiple network devices with the same name.  Currently this\nis a problem for /sys/class/net/*. \n\nWhat I want is a separate /sys/class/net directory in sysfs for each\nnetwork namespace, and I want to name each of them /sys/class/net.\n\nI looked and the VFS actually allows that.  All that is needed is\nfor /sys/class/net to implement a follow link method to redirect\nlookups to the real directory you want. \n\nImplementing a follow link method that is sensitive to the current\nnetwork namespace turns out to be 3 lines of code so it looks like a\nclean approach.  Modifying sysfs so it doesn\u0027t get in my was is a bit\ntrickier. \n\nI am calling the concept of multiple directories all at the same path\nin the filesystem shadow directories.  With the directory entry really\nat that location the shadow master. \n\nThe following patch modifies sysfs so it can handle a directory\nstructure slightly different from the kobject tree so I can implement\nthe shadow directories for handling /sys/class/net/.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Maneesh Soni \u003cmaneesh@in.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "94bebf4d1b8e7719f0f3944c037a21cfd99a4af7",
      "tree": "25c6ba1836e74f608b4e434b4f0f4d5c28b11de1",
      "parents": [
        "cb986b749c7178422bfbc982cd30e04d5db54bbc"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.org",
        "time": "Wed Dec 20 10:52:44 2006 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Feb 07 10:37:13 2007 -0800"
      },
      "message": "Driver core: fix race in sysfs between sysfs_remove_file() and read()/write()\n\nThis patch prevents a race between IO and removing a file from sysfs.\nIt introduces a list of sysfs_buffers associated with a file at the inode.\nUpon removal of a file the list is walked and the buffers marked orphaned.\nIO to orphaned buffers fails with -ENODEV. The driver can safely free\nassociated data structures or be unloaded.\n\nSigned-off-by: Oliver Neukum \u003coliver@neukum.name\u003e\nAcked-by: Maneesh Soni \u003cmaneesh@in.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "e18b890bb0881bbab6f4f1a6cd20d9c60d66b003",
      "tree": "4828be07e1c24781c264b42c5a75bcd968223c3f",
      "parents": [
        "441e143e95f5aa1e04026cb0aa71c801ba53982f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:25 2006 -0800"
      },
      "message": "[PATCH] slab: remove kmem_cache_t\n\nReplace all uses of kmem_cache_t with struct kmem_cache.\n\nThe patch was generated using the following script:\n\n\t#!/bin/sh\n\t#\n\t# Replace one string by another in all the kernel sources.\n\t#\n\n\tset -e\n\n\tfor file in `find * -name \"*.c\" -o -name \"*.h\"|xargs grep -l $1`; do\n\t\tquilt add $file\n\t\tsed -e \"1,\\$s/$1/$2/g\" $file \u003e/tmp/$$\n\t\tmv /tmp/$$ $file\n\t\tquilt refresh\n\tdone\n\nThe script was run like this\n\n\tsh replace kmem_cache_t \"struct kmem_cache\"\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d8c76e6f45c111c32a4b3e50a2adc9210737b0d8",
      "tree": "25521b59d48c6d8c9aec1af54dbe5008ad4b215b",
      "parents": [
        "9a53c3a783c2fa9b969628e65695c11c3e51e673"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Sat Sep 30 23:29:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:30 2006 -0700"
      },
      "message": "[PATCH] r/o bind mount prepwork: inc_nlink() helper\n\nThis is mostly included for parity with dec_nlink(), where we will have some\nmore hooks.  This one should stay pretty darn straightforward for now.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "454e2398be9b9fa30433fccc548db34d19aa9958",
      "tree": "1f61cb0c3716a33b661cfc8977e9beeb480a322c",
      "parents": [
        "1ad5544098a69d7dc1fa508cbb17e13a7a952fd8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jun 23 02:02:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:45 2006 -0700"
      },
      "message": "[PATCH] VFS: Permit filesystem to override root dentry on mount\n\nExtend the get_sb() filesystem operation to take an extra argument that\npermits the VFS to pass in the target vfsmount that defines the mountpoint.\n\nThe filesystem is then required to manually set the superblock and root dentry\npointers.  For most filesystems, this should be done with simple_set_mnt()\nwhich will set the superblock pointer and then set the root dentry to the\nsuperblock\u0027s s_root (as per the old default behaviour).\n\nThe get_sb() op now returns an integer as there\u0027s now no need to return the\nsuperblock pointer.\n\nThis patch permits a superblock to be implicitly shared amongst several mount\npoints, such as can be done with NFS to avoid potential inode aliasing.  In\nsuch a case, simple_set_mnt() would not be called, and instead the mnt_root\nand mnt_sb would be set directly.\n\nThe patch also makes the following changes:\n\n (*) the get_sb_*() convenience functions in the core kernel now take a vfsmount\n     pointer argument and return an integer, so most filesystems have to change\n     very little.\n\n (*) If one of the convenience function is not used, then get_sb() should\n     normally call simple_set_mnt() to instantiate the vfsmount. This will\n     always return 0, and so can be tail-called from get_sb().\n\n (*) generic_shutdown_super() now calls shrink_dcache_sb() to clean up the\n     dcache upon superblock destruction rather than shrink_dcache_anon().\n\n     This is required because the superblock may now have multiple trees that\n     aren\u0027t actually bound to s_root, but that still need to be cleaned up. The\n     currently called functions assume that the whole tree is rooted at s_root,\n     and that anonymous dentries are not the roots of trees which results in\n     dentries being left unculled.\n\n     However, with the way NFS superblock sharing are currently set to be\n     implemented, these assumptions are violated: the root of the filesystem is\n     simply a dummy dentry and inode (the real inode for \u0027/\u0027 may well be\n     inaccessible), and all the vfsmounts are rooted on anonymous[*] dentries\n     with child trees.\n\n     [*] Anonymous until discovered from another tree.\n\n (*) The documentation has been adjusted, including the additional bit of\n     changing ext2_* into foo_* in the documentation.\n\n[akpm@osdl.org: convert ipath_fs, do other stuff]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Nathan Scott \u003cnathans@sgi.com\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8215534ce7d073423bfa9c17405c43ab7636ca03",
      "tree": "b53aed1111cf10a7d42ef0695308c4a70b820747",
      "parents": [
        "988d186de5b6966a71a8cc52e6cb4895fd2f7799"
      ],
      "author": {
        "name": "Maneesh Soni",
        "email": "maneesh@in.ibm.com",
        "time": "Tue May 31 10:39:52 2005 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:37 2005 -0700"
      },
      "message": "[PATCH] sysfs-iattr: set inode attributes\n\no Following patch sets the attributes for newly allocated inodes for sysfs\n  objects. If the object has non-default attributes, inode attributes are\n  set as saved in sysfs_dirent-\u003es_iattr, pointer to struct iattr.\n\nSigned-off-by: Maneesh Soni \u003cmaneesh@in.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
