)]}'
{
  "log": [
    {
      "commit": "ca1bab38195d66bdf42320a99cc7359434a271d3",
      "tree": "4394403b4a85fb269d052b7852b41ee0f7ba8a88",
      "parents": [
        "832b6af198aefe6034310e124594cc8b833c0ef9"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Nov 20 16:08:57 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:54 2009 -0800"
      },
      "message": "sysfs: Factor out sysfs_rename from sysfs_rename_dir and sysfs_move_dir\n\nThese two functions do 90% of the same work and it doesn\u0027t significantly\nobfuscate the function to allow both the parent dir and the name to change\nat the same time.  So merge them together to simplify maintenance, and\nincrease testing.\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": "832b6af198aefe6034310e124594cc8b833c0ef9",
      "tree": "853eec8f7449dd7fc51c6d4c9b70ea44b81cf0d9",
      "parents": [
        "a16bbc3430ed94b543222f4c8ef68025f8493e93"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Nov 20 16:08:56 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:54 2009 -0800"
      },
      "message": "sysfs: Propagate renames to the vfs on demand\n\nBy teaching sysfs_revalidate to hide a dentry for\na sysfs_dirent if the sysfs_dirent has been renamed,\nand by teaching sysfs_lookup to return the original\ndentry if the sysfs dirent has been renamed.  I can\nshow the results of renames correctly without having to\nupdate the dcache during the directory rename.\n\nThis massively simplifies the rename logic allowing a lot\nof weird sysfs special cases to be removed along with\na lot of now unnecesary helper code.\n\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a16bbc3430ed94b543222f4c8ef68025f8493e93",
      "tree": "e866babd9a5ab024bcd68a9f935c4b373b1e8ac7",
      "parents": [
        "06fc0d66f7ed3a3b08e8fcf8c325ecf0b8f93fea"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@maxwell.aristanetworks.com",
        "time": "Fri Nov 20 16:08:55 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:54 2009 -0800"
      },
      "message": "sysfs: Gut sysfs_addrm_start and sysfs_addrm_finish\n\nWith lazy inode updates and dentry operations bringing everything\ninto sync on demand there is no longer any need to immediately\nupdate the vfs or grab i_mutex to protect those updates as we\nmake changes to sysfs.\n\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e61ab4ae48fbf477f5b9fcbec9e1b8dc789920d0",
      "tree": "70199a29a97a4f5ba8aea4340bc828da4f550e5d",
      "parents": [
        "c099aacd48ee73bd2de7da029e536ed005d72a43"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Nov 20 16:08:53 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:54 2009 -0800"
      },
      "message": "sysfs: Implement sysfs_getattr \u0026 sysfs_permission\n\nWith the implementation of sysfs_getattr and sysfs_permission\nsysfs becomes able to lazily propogate inode attribute changes\nfrom the sysfs_dirents to the vfs inodes.   This paves the way\nfor deleting significant chunks of now unnecessary code.\n\nWhile doing this we did not reference sysfs_setattr from\nsysfs_symlink_inode_operations so I added along with\nsysfs_getattr and sysfs_permission.\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": "6b0bfe9383a54cf35046980c61f5ff8fefa557d7",
      "tree": "3206ee6374ba6b735e97ce7af60ed8a48df0df9c",
      "parents": [
        "35df63c46c8605d00140ec4833d2104e2e9f1acc"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Nov 20 16:08:51 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:53 2009 -0800"
      },
      "message": "sysfs: Update s_iattr on link and unlink.\n\nCurrently sysfs updates the timestamps on the vfs directory\ninode when we create or remove a directory entry but doesn\u0027t\nupdate the cached copy on the sysfs_dirent, fix that oversight.\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": "e8f077c8831528e2ec1ea6c8ba090e405fdcd0b7",
      "tree": "707b25f1368d59d7d945ae46d2139f6592120a8e",
      "parents": [
        "28a027cfc0d527fcc31bfeac1d94d572c68847d1"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Nov 07 23:27:01 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:53 2009 -0800"
      },
      "message": "sysfs: Use dentry_ops instead of directly playing with the dcache\n\nCalling d_drop unconditionally when a sysfs_dirent is deleted has\nthe potential to leak mounts, so instead implement dentry delete\nand revalidate operations that cause sysfs dentries to be removed\nat the appropriate time.\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": "28a027cfc0d527fcc31bfeac1d94d572c68847d1",
      "tree": "b240a56532ba819eb7849f117bce3d3038f745ee",
      "parents": [
        "f44d3e7857e5d21413fc9a2b61948190c73705e7"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Nov 07 23:27:00 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:53 2009 -0800"
      },
      "message": "sysfs: Rename sysfs_d_iput to sysfs_dentry_iput\n\nUsing dentry instead of d in the function name is what\nseveral other filesystems are doing and it seems to be\na more readable convention.\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": "4c3da2209b1261af9a948b7509a38904c8eee554",
      "tree": "74e2f113f8a40885b0df4858a3ba19f4747086a1",
      "parents": [
        "91d3f9bacdb4950d2f79fe2ba296aa249f60d06c"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Nov 04 02:50:06 2009 -0800"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Nov 05 08:19:18 2009 +1100"
      },
      "message": "sysfs: Don\u0027t leak secdata when a sysfs_dirent is freed.\n\nWhile refreshing my sysfs patches I noticed a leak in the secdata\nimplementation.  We don\u0027t free the secdata when we free the\nsysfs dirent.\n\nThis is a bug in 2.6.32-rc5 that we really should close.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "a6a8357788d6a37f8ad0f7eb46b0a386b613abb9",
      "tree": "b8505a5394bc7f825753e0451f421b8333388e37",
      "parents": [
        "80f506918fdaaca6b574ba931536a58ce015c7be"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Tue Oct 06 15:33:35 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Oct 14 15:16:25 2009 -0700"
      },
      "message": "sysfs: Allow sysfs_move_dir(..., NULL) again.\n\nAs device_move() and kobject_move() both handle a NULL destination,\nsysfs_move_dir() should do this as well (again) and fall back to\nsysfs_root in that case.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nCc: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ddd29ec6597125c830f7badb608a86c98b936b64",
      "tree": "e6df1ef9a635179de78650d006ecb4cd1453ebb1",
      "parents": [
        "1ee65e37e904b959c24404139f5752edc66319d5"
      ],
      "author": {
        "name": "David P. Quigley",
        "email": "dpquigl@tycho.nsa.gov",
        "time": "Wed Sep 09 14:25:37 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Sep 10 10:11:29 2009 +1000"
      },
      "message": "sysfs: Add labeling support for sysfs\n\nThis patch adds a setxattr handler to the file, directory, and symlink\ninode_operations structures for sysfs. The patch uses hooks introduced in the\nprevious patch to handle the getting and setting of security information for\nthe sysfs inodes. As was suggested by Eric Biederman the struct iattr in the\nsysfs_dirent structure has been replaced by a structure which contains the\niattr, secdata and secdata length to allow the changes to persist in the event\nthat the inode representing the sysfs_dirent is evicted. Because sysfs only\nstores this information when a change is made all the optional data is moved\ninto one dynamically allocated field.\n\nThis patch addresses an issue where SELinux was denying virtd access to the PCI\nconfiguration entries in sysfs. The lack of setxattr handlers for sysfs\nrequired that a single label be assigned to all entries in sysfs. Granting virtd\naccess to every entry in sysfs is not an acceptable solution so fine grained\nlabeling of sysfs is required such that individual entries can be labeled\nappropriately.\n\n[sds:  Fixed compile-time warnings, coding style, and setting of inode security init flags.]\n\nSigned-off-by: David P. Quigley \u003cdpquigl@tycho.nsa.gov\u003e\nSigned-off-by: Stephen D. Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "0f58b44582001c8bcdb75f36cf85ebbe5170e959",
      "tree": "4d9f1a2ff668f37db7f0d5b5076307213868d2fb",
      "parents": [
        "4733fd328f14280900435d9dbae1487d110a4d56"
      ],
      "author": {
        "name": "Peter Oberparleiter",
        "email": "oberpar@linux.vnet.ibm.com",
        "time": "Tue Jul 14 17:56:15 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jul 28 13:45:21 2009 -0700"
      },
      "message": "sysfs: fix hardlink count on device_move\n\nUpdate directory hardlink count when moving kobjects to a new parent.\nFixes the following problem which occurs when several devices are\nmoved to the same parent and then unregistered:\n\n\u003e ls -laF /sys/devices/css0/defunct/\n\u003e total 0\n\u003e drwxr-xr-x 4294967295 root root    0 2009-07-14 17:02 ./\n\u003e drwxr-xr-x        114 root root    0 2009-07-14 17:02 ../\n\u003e drwxr-xr-x          2 root root    0 2009-07-14 17:01 power/\n\u003e -rw-r--r--          1 root root 4096 2009-07-14 17:01 uevent\n\nSigned-off-by: Peter Oberparleiter \u003coberpar@linux.vnet.ibm.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3ae5080f4c2e293229508dabe7c8a90af4e4c460",
      "tree": "9cb11f26905a82b7fac9d3b8f9d61d58bc5c94b0",
      "parents": [
        "2c9e15a011c55ff96b2b8d2b126d1b9a96abba20",
        "aabb8fdb41128705fd1627f56fdd571e45fdbcdb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 27 16:23:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 27 16:23:12 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (37 commits)\n  fs: avoid I_NEW inodes\n  Merge code for single and multiple-instance mounts\n  Remove get_init_pts_sb()\n  Move common mknod_ptmx() calls into caller\n  Parse mount options just once and copy them to super block\n  Unroll essentials of do_remount_sb() into devpts\n  vfs: simple_set_mnt() should return void\n  fs: move bdev code out of buffer.c\n  constify dentry_operations: rest\n  constify dentry_operations: configfs\n  constify dentry_operations: sysfs\n  constify dentry_operations: JFS\n  constify dentry_operations: OCFS2\n  constify dentry_operations: GFS2\n  constify dentry_operations: FAT\n  constify dentry_operations: FUSE\n  constify dentry_operations: procfs\n  constify dentry_operations: ecryptfs\n  constify dentry_operations: CIFS\n  constify dentry_operations: AFS\n  ...\n"
    },
    {
      "commit": "ee1ec32903fc3139af00ebc7ee483dabca3f4fa5",
      "tree": "70145c6ef8e4426705082059ac674a4c4fd937b8",
      "parents": [
        "ad28b4ef1937b11432cd64fe1ebad714f8e253bd"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 20 06:01:46 2009 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 27 14:44:02 2009 -0400"
      },
      "message": "constify dentry_operations: sysfs\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e0edd3c65aa5b53e20280565a7ce11675eb7ed6b",
      "tree": "e9d7a8834eba3f19635f770f5d19bfe88a2485e4",
      "parents": [
        "ae1b41715ee2aae356fbcca032838b71d70b855f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Wed Mar 04 11:57:20 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:26 2009 -0700"
      },
      "message": "sysfs: don\u0027t block indefinitely for unmapped files.\n\nModify sysfs bin files so that we can remove the bin file while they are\nstill mapped.  When the kobject is removed we unmap the bin file and\narrange for future accesses to the mapping to receive SIGBUS.\n\nImplementing this prevents a nasty DOS when pci devices are hot plugged\nand unplugged.  Where if any of their resources were mmaped the kernel\ncould not free up their pci resources or release their pci data\nstructures.\n\n[akpm@linux-foundation.org: remove unused var]\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "425cb02912d1095febfeaf8d379af7b2ac9e4a89",
      "tree": "d7cbd6309c280714a3dc45d968129128d649be22",
      "parents": [
        "f48f3febb2cbfd0f2ecee7690835ba745c1034a4"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Thu Feb 12 10:56:59 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:25 2009 -0700"
      },
      "message": "sysfs: sysfs_add_one WARNs with full path to duplicate filename\n\nsysfs: sysfs_add_one WARNs with full path to duplicate filename\n\nAs a debugging aid, it can be useful to know the full path to a\nduplicate file being created in sysfs.\n\nWe now will display warnings such as:\n\n\tsysfs: cannot create duplicate filename \u0027/foo\u0027\n\nwhen attempting to create multiple files named \u0027foo\u0027 in the sysfs\nroot, or:\n\n\tsysfs: cannot create duplicate filename \u0027/bus/pci/slots/5/foo\u0027\n\nwhen attempting to create multiple files named \u0027foo\u0027 under a\ngiven directory in sysfs.\n\nThe path displayed is always a relative path to sysfs_root. The\nleading \u0027/\u0027 in the path name refers to the sysfs_root mount\npoint, and should not be confused with the \"real\" \u0027/\u0027.\n\nThanks to Alex Williamson for essentially writing sysfs_pathname.\n\nCc: Alex Williamson \u003calex.williamson@hp.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3222a3e55f4025acb2a5a4379cf2f2b7df1f1243",
      "tree": "d12740cd5dc00ae17f7beb63584dd00d7c1fb4cb",
      "parents": [
        "4e9ed2f85af7adfa7c3f0efa839a53186254fdcb"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Sep 03 21:53:01 2008 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Oct 23 05:13:21 2008 -0400"
      },
      "message": "[PATCH] fix -\u003ellseek for more directories\n\nWith this patch all directory fops instances that have a readdir\nthat doesn\u0027t take the BKL are switched to generic_file_llseek.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "0b4a4fea253e1296222603ccc55430ed7cd9413a",
      "tree": "5ce1810393a0f3a48ac208e0dbf994b63a481f18",
      "parents": [
        "030c1d2bfcc2187650fb975456ca0b61a5bb77f4"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Jul 03 18:05:28 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 16 09:24:52 2008 -0700"
      },
      "message": "kobject: Cleanup kobject_rename and !CONFIG_SYSFS\n\nIt finally dawned on me what the clean fix to sysfs_rename_dir\ncalling kobject_set_name is.  Move the work into kobject_rename\nwhere it belongs.  The callers serialize us anyway so this is\nsafe.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "45c076c5d71e6e644e2eae64f80922d162c900ac",
      "tree": "68e188af66201219f41681d57975a1bdf7ec9347",
      "parents": [
        "8a89efd18aa15bb832778baa4e6eee3857ecada4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sun Sep 28 07:48:08 2008 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 16 09:24:51 2008 -0700"
      },
      "message": "sysfs: use ilookup5() instead of ilookup5_nowait()\n\nAs inode creation is protected by sysfs_mutex, ilookup5_nowait()\nalways either fails to find at all or finds one which is fully\ninitialized, so using ilookup5_nowait() or ilookup5() doesn\u0027t make any\ndifference.  Switch to ilookup5() as it\u0027s planned to be removed.  This\nchange also makes lookup return value handling a bit simpler.\n\nThis change was suggested by Al Viro.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Al Viro \u003cviro@hera.kernel.org\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": "99fcd77d15357e8ba51005c25cc750b9c28b2688",
      "tree": "403293819dc7bcd854c50d8c486a1fdbbf9711a2",
      "parents": [
        "5c752ad9f35910ff1912b3f3ae82878178ddc432"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Jul 25 19:45:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:07 2008 -0700"
      },
      "message": "Use WARN() in fs/sysfs\n\nUse WARN() instead of a printk+WARN_ON() pair; this way the message becomes\npart of the warning section for better reporting/collection.  Also, with this,\none fo the if() sections collapses entirely into the WARN().\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "36ce6dad6e3cb3f050ed41e0beac0070d2062b25",
      "tree": "91c89c903b06dc8b76e66e7b2341bcd6085e81d0",
      "parents": [
        "0ad1d6f37cc3bb234c6e7ae30e40d1d40b9aa258"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Tue Jun 10 11:09:08 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:55:01 2008 -0700"
      },
      "message": "driver core: Suppress sysfs warnings for device_rename().\n\ndriver core: Suppress sysfs warnings for device_rename().\n\nRenaming network devices to an already existing name is not\nsomething we want sysfs to print a scary warning for, since the\ncallers can deal with this correctly. So let\u0027s introduce\nsysfs_create_link_nowarn() which gets rid of the common warning.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0599ad53fee2d084f9ba26247d7452f06a40d298",
      "tree": "2d31232e6991d507ff60ec6a774eb0b27de7aeca",
      "parents": [
        "dcc997738e538919101d8756f19ca23110b25d8d"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed May 14 22:34:16 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 14 22:34:16 2008 -0700"
      },
      "message": "sysfs: remove error messages for -EEXIST case\n\nIt is possible that the entry in sysfs already exists, one case of this is\nwhen a network device is renamed to bonding_masters. Anyway, in this case\nthe proper error path is for device_rename to return an error code, not to\ngenerate bogus backtrace and errors.\n\nAlso, to avoid possible races, the create link should be done before the\nremove link. This makes a device rename atomic operation like other renames.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c6f87733823d69a8f12e391688ceeb1ff4922530",
      "tree": "2061036d1d015167a4de9e2c3a14810e6409f18f",
      "parents": [
        "3f62e5700b2a679ae987b32a68126dd6dcf2488f"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Thu Mar 13 22:41:52 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:27 2008 -0700"
      },
      "message": "SYSFS: Explicitly include required header file slab.h.\n\nAfter an experimental deletion of the unnecessary inclusion of\n\u003clinux/slab.h\u003e from the header file \u003clinux/percpu.h\u003e, the following\nfiles under fs/sysfs were exposed as needing to explicitly include\n\u003clinux/slab.h\u003e.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9fd5b1c906a9b4b0efb24cb2b4d20c678ff26122",
      "tree": "56bac78b8044babb2d6fb147397813ce7177b704",
      "parents": [
        "463e526083fdaa284eaea45b53bb917ed3c72900"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue Jan 08 18:11:24 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:04 2008 -0800"
      },
      "message": "sysfs: Fix a copy-n-paste typo in comment\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "456ef1553cb2b06729d64c1d1f0f2bda34e9b201",
      "tree": "4ad211cbaff6056d9f1c9aded2d24e83b1641c31",
      "parents": [
        "e49452c67703d3647467d65275fb893589384fed"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Jan 16 12:10:53 2008 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jan 16 09:54:03 2008 -0800"
      },
      "message": "sysfs: fix bugs in sysfs_rename/move_dir()\n\nsysfs_rename/move_dir() have the following bugs.\n\n - On dentry lookup failure, kfree() is called on ERR_PTR() value.\n - sysfs_move_dir() has an extra dput() on success path.\n\nFix them.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e49452c67703d3647467d65275fb893589384fed",
      "tree": "137d7dea836f16f4efc3c709981dee3d306aa757",
      "parents": [
        "cbd9c883696da72b2b1f03f909dbacc04bbf8b58"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Jan 16 12:06:14 2008 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Jan 16 09:54:03 2008 -0800"
      },
      "message": "sysfs: make sysfs_lookup() return ERR_PTR(-ENOENT) on failed lookup\n\nsysfs tries to keep dcache a strict subset of sysfs_dirent tree by\nshooting down dentries when a node is removed, that is, no negative\ndentry for sysfs.  However, the lookup function returned NULL and thus\ncreated negative dentries when the target node didn\u0027t exist.\n\nMake sysfs_lookup() return ERR_PTR(-ENOENT) on lookup failure.  This\nfixes the NULL dereference bug in sysfs_get_dentry() discovered by\nbluetooth rfcomm device moving around.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "78e9d3678c8362aad2b2a48c242966aebb089dbd",
      "tree": "8521c590a8682fb6039e66990213c292068b9475",
      "parents": [
        "34358c26a2c96b2a068dc44e0ac602106a466bce"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Oct 24 18:23:32 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Oct 30 21:52:33 2007 -0700"
      },
      "message": "sysfs: make sysfs_{get,put}_active() static\n\nsysfs_{get,put}_active() can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f7a75f0a40073601a0fb509290019d5f3f32b94b",
      "tree": "61b4e44ec385b17fe0177fbece0c02d7ad1e882f",
      "parents": [
        "d68c9d6ae8f1fdae7d998158adc5ee106a2f8ce6"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "12o3l@tiscali.nl",
        "time": "Tue Oct 16 23:30:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:01 2007 -0700"
      },
      "message": "spin_lock_unlocked cleanups\n\nReplace some SPIN_LOCK_UNLOCKED with DEFINE_SPINLOCK\n\nSigned-off-by: Roel Kluin \u003c12o3l@tiscali.nl\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eead19115329c5615ba03cbaf1c3fe24c14858a3",
      "tree": "4b8aeeea5060fca595f2c5e8290d742cdb14a08f",
      "parents": [
        "ebb3e820b83e426ee331bae6d8fb0e54f472a25d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Oct 16 23:25:38 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:44 2007 -0700"
      },
      "message": "partially fix up the lookup_one_noperm mess\n\nTry to fix the mess created by sysfs braindamage.\n\n - refactor code internal to fs/namei.c a little to avoid too much\n   duplication:\n\to __lookup_hash_kern is renamed back to __lookup_hash\n\to the old __lookup_hash goes away, permission checks moves to\n\t  the two callers\n\to useless inline qualifiers on above functions go away\n - lookup_one_len_kern loses it\u0027s last argument and is renamed to\n   lookup_one_noperm to make it\u0027s useage a little more clear\n - added kerneldoc comments to describe lookup_one_len aswell as\n   lookup_one_noperm and make it very clear that no one should use\n   the latter ever.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Josef \u0027Jeff\u0027 Sipek \u003cjsipek@cs.sunysb.edu\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\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": "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": "a4e8b912541d5372ae049a3b7c1979968e52c40b",
      "tree": "a95937748b6216f914abe55ed47c2627e7856bf7",
      "parents": [
        "85a4ffad3de77177591f7c2c18c26c3c8dd28bff"
      ],
      "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: move sysfs file poll implementation to sysfs_open_dirent\n\nSysfs file poll implementation is scattered over sysfs and kobject.\nEvent numbering is done in sysfs_dirent but wait itself is done on\nkobject.  This not only unecessarily bloats both kobject and\nsysfs_dirent but is also buggy - if a sysfs_dirent is removed while\nthere still are pollers, the associaton betwen the kobject and\nsysfs_dirent breaks and kobject may be freed with the pollers still\nsleeping on it.\n\nThis patch moves whole poll implementation into sysfs_open_dirent.\nEach time a sysfs_open_dirent is created, event number restarts from 1\nand pollers sleep on sysfs_open_dirent.  As event sequence number is\nmeaningless without any open file and pollers should have open file\nand thus sysfs_open_dirent, this ephemeral event counting works and is\na saner implementation.\n\nThis patch fixes the dnagling sleepers bug and reduces the sizes of\nkobject and sysfs_dirent by one pointer.\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": "bc747f37a0f089b9366f7385ff870e12911f2383",
      "tree": "b23e81c5136486bc081770dd83595e658437ace8",
      "parents": [
        "dc2f75f0e0cac645c22c85bcf429683b3fa0d2d9"
      ],
      "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: move sysfs_dirent-\u003es_children into sysfs_dirent-\u003es_dir\n\nChildren list head is only meaninful for directory nodes.  Move it\ninto s_dir.  This doesn\u0027t save any space currently but it will with\nfurther changes.\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": "d6b4fd2faeb9ddf55ce09cf90b88981e579ee010",
      "tree": "eb122aadde2b5e8fa2dcb2b800c6890d7fcb73b2",
      "parents": [
        "b1fc3d6144d56360d1373b01c7881826f558b6cd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:11 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:11 2007 -0700"
      },
      "message": "sysfs: open code sysfs_attach_dentry()\n\nsysfs_attach_dentry() now has only one caller and isn\u0027t doing much\nother than obfuscating the code.  Open code and kill it.\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": "b1fc3d6144d56360d1373b01c7881826f558b6cd",
      "tree": "3bac4c3df21dc74c6373c3e4a22c3ea6b01b1832",
      "parents": [
        "078ce6409ca54d5fc6eb7d2147cd6efc3eb09078"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:11 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:10 2007 -0700"
      },
      "message": "sysfs: make s_elem an anonymous union\n\nMake s_elem an anonymous union.  Prefixing with s_elem makes things\nneedlessly longer without any advantage.\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": "181b2e4be1603ce3ccace8322047a548f29f4b20",
      "tree": "5cfc9844ccacd8c8b378e9e47d2c8f7625b7bff3",
      "parents": [
        "5c3e8964ce87477a12e3e9edc3742156a3929a74"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Sep 20 16:05:09 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:09 2007 -0700"
      },
      "message": "sysfs: fix comments of sysfs_add/remove_one()\n\nsysfs_add/remove_one() now link and unlink the target dirent into and\nfrom the children list.  Update comments accordingly.\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": "5c3e8964ce87477a12e3e9edc3742156a3929a74",
      "tree": "fa9f43c11b7eea40d8758a638b8452ae5a1e724f",
      "parents": [
        "dc8c85871c9728c5fddca6854a191fd41eb9438c"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Sep 13 02:53:13 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:09 2007 -0700"
      },
      "message": "sysfs: spit a warning to users when they try to create a duplicate sysfs file\n\nWe want to let people know when we create a duplicate sysfs file, as\nthey need to fix up their code.\n\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "45aaae9c51d768d5a8fd53fb372b1eb714f37691",
      "tree": "0735356cf38a950404bcea49d44ac5610306e9eb",
      "parents": [
        "9918f9a4817cb6241c727b434d5f8ec5564198de"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Aug 20 21:36:31 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:08 2007 -0700"
      },
      "message": "sysfs: Rewrite sysfs_move_dir in terms of sysfs dirents\n\nThis patch rewrites sysfs_move_dir to perform it\u0027s checks\nas much as possible on the underlying sysfs_dirents instead\nof the contents of the dcache, making sysfs_move_dir\nmore like the rest of the sysfs directory modification\ncode.\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": "9918f9a4817cb6241c727b434d5f8ec5564198de",
      "tree": "76fa5f03994d22e580623baa04ba62c070b94c42",
      "parents": [
        "5a26b79c426f8e55ebf7204cb138eb6b1645d4d3"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Aug 20 21:36:31 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:08 2007 -0700"
      },
      "message": "sysfs: Rewrite rename in terms of sysfs dirents\n\nThis patch rewrites sysfs_rename_dir to perform it\u0027s checks\nas much as possible on the underlying sysfs_dirents instead\nof the contents of the dcache.  It turns out that this version\nis a little simpler, and a little more like the rest of\nthe sysfs directory modification code.\n\ntj: fixed double locking of sysfs_mutex\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": "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": "e0712bbfd9cb617fc3a822781c2466fb6b7ede50",
      "tree": "1f1424730b488368048f76ffff36b8a5fa7d0a33",
      "parents": [
        "932ea2e374dd1ca26676297a5eccd1cdab86f7cd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.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: simply sysfs_get_dentry\n\nNow that we know the sysfs tree structure cannot change under us and\nsysfs shadow support is dropped, sysfs_get_dentry() can be simplified\ngreatly.  It can just look up from the root and there\u0027s no need to\nretry on failure.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "932ea2e374dd1ca26676297a5eccd1cdab86f7cd",
      "tree": "83bba794de7f1f9f9290192f4f95a8ed9c91dfb6",
      "parents": [
        "89bec09705d2033b8b765f3c3ac5093f80bd5bc4"
      ],
      "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: Introduce sysfs_rename_mutex\n\nLooking carefully at the rename code we have a subtle dependency\nthat the structure of sysfs not change while we are performing\na rename.  If the parent directory of the object we are renaming\nchanges while the rename is being performed nasty things could\nhappen when we go to release our locks.\n\nSo introduce a sysfs_rename_mutex to prevent this highly\nunlikely theoretical issue.\n\nIn addition hold sysfs_rename_mutex over all calls to\nsysfs_get_dentry. Allowing sysfs_get_dentry to be simplified\nin the future.\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": "89bec09705d2033b8b765f3c3ac5093f80bd5bc4",
      "tree": "3f0583740c18258ab793e86ae11e3a24c4acf8eb",
      "parents": [
        "3efa65b92d832873ece62b42a4268c2515943977"
      ],
      "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: Rewrite sysfs_drop_dentry.\n\nCurrently we find the dentry to drop by looking at sd-\u003es_dentry.\nWe can just as easily accomplish the same task by looking up the\nsysfs inode and finding all of the dentries from there, with the\nadded bonus that we don\u0027t need to play with the sysfs_assoc_lock.\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": "3efa65b92d832873ece62b42a4268c2515943977",
      "tree": "c7d09674edfd683e614649564e9159066dfc1d40",
      "parents": [
        "94777e09180b6249d455baa2dbe34cf630e0c033"
      ],
      "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: Simplify readdir.\n\nAt some point someone wrote sysfs_readdir to insert a cursor\ninto the list of sysfs_dirents to ensure that sysfs_readdir would\nrestart properly.  That works but it is complex code and tends\nto be expensive.\n\nThe same effect can be achieved by keeping the sysfs_dirents in\ninode order and using the inode number as the f_pos.  Then\nwhen we restart we just have to find the first dirent whose inode\nnumber is equal or greater then the last sysfs_dirent we attempted\nto return.\n\nRemoving the sysfs directory cursor also allows the remove of\nall of the mysterious checks for sysfs_type(sd) !\u003d 0.   Which\nwere nonbovious checks to see if a cursor was in a directory list.\n\ntj: offset marker for EOF is changed from UINT_MAX to INT_MAX to avoid\n    overflow in case offset is 32bit.\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": "94777e09180b6249d455baa2dbe34cf630e0c033",
      "tree": "e8d31efaed978ff452045053c8b3716bbc052cf5",
      "parents": [
        "7d0c7d676cc066413e1583b5af9fba8011972d41"
      ],
      "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: In sysfs_lookup don\u0027t open code sysfs_find_dirent\n\nThis is a small cleanup patch that makes the code just\na little bit cleaner.\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": "119dd52be33dfe6285f586ab7354897fdefc7e23",
      "tree": "f7422f753f3605401d4ee0a34b85fb7a0038fbf3",
      "parents": [
        "372e88bd1922228e0a55228f6dc8e311d1696fa0"
      ],
      "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: Remove sysfs_instantiate\n\nNow that sysfs_get_inode is dropping the inode lock\nwe no longer have a need from sysfs_instantiate.\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": "253280267a7f1ced0c434fb24b7bef92d7d22628",
      "tree": "8add8daefa3cf776daf7f042cb9341debafe54f1",
      "parents": [
        "1359555eb77d240b7c1d7ee75bb07e89e89770e4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.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: fix i_mutex locking in sysfs_get_dentry()\n\nlookup_one_len_kern() should be called with the parent\u0027s i_mutex\nlocked.  Fix it.\n\nSpotted by Eric W. Biederman.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "990e53f880be9ff93072b4cce590ec2826cee0b6",
      "tree": "faa7cbedef2f1d9b8d27832ccbaa28e508d134e8",
      "parents": [
        "23dc279950a056c33a14d09cf759f5173d41abd9"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Aug 02 21:38:03 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:04 2007 -0700"
      },
      "message": "sysfs: make sysfs_addrm_finish() return void\n\nWith the previous sysfs_add_one() update, there is only one user of\nthe return value of sysfs_addrm_finish() and the user can switch to\ntesting @sd easily.  Make sysfs_addrm_finish() return void for cleaner\nsemantics as suggested by Satyam Sharma.\n\nThis patch doesn\u0027t introduce any noticeable behavior change.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Satyam Sharma \u003csatyam.sharma@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": "23dc279950a056c33a14d09cf759f5173d41abd9",
      "tree": "852f8cc24c24988717dbae8f98da999ff27755fa",
      "parents": [
        "41fc1c27452e041a18e5141b8203ee0ea72bc483"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Aug 02 21:38:03 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:04 2007 -0700"
      },
      "message": "sysfs: make sysfs_add_one() automatically check for duplicate entry\n\nMake sysfs_add_one() check for duplicate entry and return -EEXIST if\nsuch entry exists.  This simplifies node addition code a bit.\n\nThis patch doesn\u0027t introduce any noticeable behavior change.\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": "41fc1c27452e041a18e5141b8203ee0ea72bc483",
      "tree": "fc81138ca37182c25931818681630c90b018b127",
      "parents": [
        "ff869de7bf5e76adffebd3a176c1c73bca7eddb7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Aug 02 21:38:03 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:03 2007 -0700"
      },
      "message": "sysfs: make sysfs_add/remove_one() call link/unlink_sibling() implictly\n\nWhen adding or removing a sysfs_dirent, the user used to be required\nto call link/unlink separately.  It was for two reasons - code looked\nlike that before sysfs_addrm_cxt conversion and to avoid looping\nthrough parent_sd-\u003echildren list twice during removal.\n\nPerformance optimization during removal just isn\u0027t worth it.  Make\nsysfs_add/remove_one() call sysfs_link/unlink_sibing() implicitly.\nThis makes code simpler albeit slightly less efficient.  This change\ndoesn\u0027t introduce any noticeable behavior change.\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": "ff869de7bf5e76adffebd3a176c1c73bca7eddb7",
      "tree": "547e0a58953896eb897cdd2bf5eb89cfdfff450a",
      "parents": [
        "a7a0475497f9018e2e28cd421ee467d2ad68643e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Aug 02 21:38:02 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:03 2007 -0700"
      },
      "message": "sysfs: simplify sysfs_rename_dir()\n\nWith the shadow directories gone, sysfs_rename_dir() can be simplified.\n\n* parent doesn\u0027t need to be grabbed separately.  Just access\n  old_dentry-\u003ed_parent.\n\n* parent sd can never change.  Remove code to move under the new\n  parent.\n\n* Massage comments a bit.\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": "a7a0475497f9018e2e28cd421ee467d2ad68643e",
      "tree": "14d5f86f5aa37abc127dd575c928739694fffb7a",
      "parents": [
        "90bc61359de0148f8627073d68a22edc7ed9893d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Aug 02 21:38:02 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:03 2007 -0700"
      },
      "message": "sysfs: cosmetic changes in sysfs_lookup()\n\n* remove space between * and symbol name in variable declaration.\n\n* kill unnecessary new line.\n\n* kill \u0027found\u0027 and test \u0027sd\u0027 instead.\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": "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": "19c38de88a80913351fcacefdb461cc0b585fa87",
      "tree": "17d2978ce27861926a0d9a3eb49471b9b736f968",
      "parents": [
        "5901d0145c6b9e791bacd049eea11c9db9a3006e"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 12 15:06:57 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:02 2007 -0700"
      },
      "message": "kobjects: fix up improper use of the kobject name field\n\nA number of different drivers incorrect access the kobject name field\ndirectly.  This is not correct as the name might not be in the array.\nUse the proper accessor function instead.\n\n"
    },
    {
      "commit": "6cb52147b254373364a2fef5df8b4aa3739c8bb6",
      "tree": "423fa52521460ac39169397f637e2d9d9a2c8dab",
      "parents": [
        "74e8f346d59074147c564d9c1ffd6caf18286516"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Jul 31 19:15:08 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Aug 22 14:35:34 2007 -0700"
      },
      "message": "sysfs: fix locking in sysfs_lookup() and sysfs_rename_dir()\n\nsd children list walking in sysfs_lookup() and sd renaming in\nsysfs_rename_dir() were left out during i_mutex -\u003e sysfs_mutex\nconversion.  Fix them.\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": "967e35dcc9ac194b4a6fad69a5a51f93d69bb0d1",
      "tree": "218c6fc093ec110ee6f4c5d7f0aae448e5f82173",
      "parents": [
        "a1da4dfe35bc36c3bc9716d995c85b7983c38a76"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Wed Jul 18 16:38:11 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 18 15:49:50 2007 -0700"
      },
      "message": "sysfs: cosmetic clean up on node creation failure paths\n\nNode addition failure is detected by testing return value of\nsysfs_addfm_finish() which returns the number of added and removed\nnodes.  As the function is called as the last step of addition right\non top of error handling block, the if blocks looked like the\nfollowing.\n\n\tif (sysfs_addrm_finish(\u0026acxt))\n\t\tsuccess handling, usually return;\n\t/* fall through to error handling */\n\nThis is the opposite of usual convention in sysfs and makes the code\ndifficult to understand.  This patch inverts the test and makes those\nblocks look more like others.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Gabriel C \u003cnix.or.die@googlemail.com\u003e\nCc: Miles Lane \u003cmiles.lane@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "01da2425f327d7ac673e594bee5655523115970b",
      "tree": "44a33a3fa5e088dfe63e9485823400d12aab3b0b",
      "parents": [
        "3f8df781fc5f9ee5253a54ba669e1c8872844b86"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Sat Jul 14 11:03:35 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 18 15:49:49 2007 -0700"
      },
      "message": "sysfs: avoid kmem_cache_free(NULL)\n\nkmem_cache_free() with NULL is not allowed. But it may happen\nif out of memory error is triggered in sysfs_new_dirent().\nThis patch fixes that error handling.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\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": "53e0ae92690c52eceb997905d85fbb42de5fff63",
      "tree": "b3bccd211bb09d43c29a751793ac50d8860b8303",
      "parents": [
        "a0edd7c848945a75e2f41673f43bc37d0a5fed15"
      ],
      "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: implement sysfs_get_dentry()\n\nSome sysfs operations require dentry and inode.  sysfs_get_dentry()\nlooks up and gets dentry for the specified sysfs_dirent.  It finds the\nfirst ancestor with dentry attached and starts looking up dentries\nfrom there.\n\nLooking up from the nearest ancestor is necessary to support shadowed\ndirectories because we can\u0027t reliably lookup dentry for one of the\nshadows.  Dentries for each shadow will be pinned in memory such that\nthey can serve as the starting point for dentry lookup.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a0edd7c848945a75e2f41673f43bc37d0a5fed15",
      "tree": "c74ea7d7dbc814faef126f97601a16c7118b3099",
      "parents": [
        "fb6896da37f19be4b75154c14d1cd79231255b17"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 04:27:24 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:09 2007 -0700"
      },
      "message": "sysfs: move sysfs_drop_dentry() to dir.c and make it static\n\nAfter add/remove path restructuring, the only user of\nsysfs_drop_dentry() is sysfs_addrm_finish().  Move sysfs_drop_dentry()\nto dir.c and make it static.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "fb6896da37f19be4b75154c14d1cd79231255b17",
      "tree": "d1480206694a0642067dc7dc5b40bd63b038cac0",
      "parents": [
        "3007e997de91ec59af39a3f9c91595b31ae6e08b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 04:27:24 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:09 2007 -0700"
      },
      "message": "sysfs: restructure add/remove paths and fix inode update\n\nThe original add/remove code had the following problems.\n\n* parent\u0027s timestamps are updated on dentry instantiation.  this is\n  incorrect with reclaimable files.\n\n* updating parent\u0027s timestamps isn\u0027t synchronized.\n\n* parent nlink update assumes the inode is accessible which won\u0027t be\n  true once directory dentries are made reclaimable.\n\nThis patch restructures add/remove paths to resolve the above\nproblems.  Add/removal are done in the following steps.\n\n1. sysfs_addrm_start() : acquire locks including sysfs_mutex and other\n   resources.\n\n2-a. sysfs_add_one() : add new sd.  linking the new sd into the\n     children list is caller\u0027s responsibility.\n\n2-b. sysfs_remove_one() : remove a sd.  unlinking the sd from the\n     children list is caller\u0027s responsibility.\n\n3. sysfs_addrm_finish() : release all resources and clean up.\n\nSteps 2-a and/or 2-b can be repeated multiple times.\n\nParent\u0027s inode is looked up during sysfs_addrm_start().  If available\n(always at the moment), it\u0027s pinned and nlink is updated as sd\u0027s are\nadded and removed.  Timestamps are updated during finish if any sd has\nbeen added or removed.  If parent\u0027s inode is not available during\nstart, sysfs_mutex ensures that parent inode is not created till\nadd/remove is complete.\n\nAll the complexity is contained inside the helper functions.\nEspecially, dentry/inode handling is properly hidden from the rest of\nsysfs which now mostly operate on sysfs_dirents.  As an added bonus,\ncodes which use these helpers to add and remove sysfs_dirents are now\nmore structured and simpler.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3007e997de91ec59af39a3f9c91595b31ae6e08b",
      "tree": "4ed4df3ef3a249d2a4b562e36876fc8d4a3fabd9",
      "parents": [
        "5f9953237f684ea1778adb9d26162da00b282225"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 04:27:23 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:08 2007 -0700"
      },
      "message": "sysfs: use sysfs_mutex to protect the sysfs_dirent tree\n\nAs kobj sysfs dentries and inodes are gonna be made reclaimable,\ni_mutex can\u0027t be used to protect sysfs_dirent tree.  Use sysfs_mutex\nglobally instead.  As the whole tree is protected with sysfs_mutex,\nthere is no reason to keep sysfs_rename_sem.  Drop it.\n\nWhile at it, add docbook comments to functions which require\nsysfs_mutex locking.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5f9953237f684ea1778adb9d26162da00b282225",
      "tree": "962bbe5fe2483876caa74943875cbef432db6945",
      "parents": [
        "608e266a2d4e62c1b98c1c573064b6afe8c06a58"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 04:27:23 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:08 2007 -0700"
      },
      "message": "sysfs: consolidate sysfs spinlocks\n\nReplace sysfs_lock and kobj_sysfs_assoc_lock with sysfs_assoc_lock.\nsysfs_lock was originally to be used to protect sysfs_dirent tree but\nmutex seems better choice, so there is no reason to keep sysfs_lock\nseparate.  Merge the two spinlocks into one.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "608e266a2d4e62c1b98c1c573064b6afe8c06a58",
      "tree": "73d670ab6c315b42273bc9d2731ec2b8e7c199af",
      "parents": [
        "f0b0af4792d751106e2003f96af76fa95e10c68d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 04:27:22 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:08 2007 -0700"
      },
      "message": "sysfs: make kobj point to sysfs_dirent instead of dentry\n\nAs kobj sysfs dentries and inodes are gonna be made reclaimable,\ndentry can\u0027t be used as naming token for sysfs file/directory, replace\nkobj-\u003edentry with kobj-\u003esd.  The only external interface change is\nshadow directory handling.  All other changes are contained in kobj\nand sysfs.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f0b0af4792d751106e2003f96af76fa95e10c68d",
      "tree": "09483c5b34009cc815897d885f310d0704d0c396",
      "parents": [
        "380e6fbb729a55b73d5d8409551474884e0d93fc"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 04:27:22 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:08 2007 -0700"
      },
      "message": "sysfs: implement sysfs_find_dirent() and sysfs_get_dirent()\n\nImplement sysfs_find_dirent() and sysfs_get_dirent().\nsysfs_dirent_exist() is replaced by sysfs_find_dirent().  These will\nbe used to make directory entries reclamiable.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "380e6fbb729a55b73d5d8409551474884e0d93fc",
      "tree": "38922357a91869f0d8c9769fa5afa504f1175fc0",
      "parents": [
        "b402d72cf7b338a074e3c12b305ec79284e18845"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 04:27:22 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:08 2007 -0700"
      },
      "message": "sysfs: implement SYSFS_FLAG_REMOVED flag\n\nImplement SYSFS_FLAG_REMOVED flag which currently is used only to\nimprove sanity check in sysfs_deactivate().  The flag will be used to\nmake directory entries reclamiable.\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": "8619f979898397582e366877fd5feeba7560d70c",
      "tree": "7d0e92d4c17d92a00dfeba2b840bf89657b30607",
      "parents": [
        "b6b4a4399c2a83d1af77c99dee0d0b5cc15ec268"
      ],
      "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: slim down sysfs_dirent-\u003es_active\n\nMake sysfs_dirent-\u003es_active an atomic_t instead of rwsem.  This\nreduces the size of sysfs_dirent from 136 to 104 on 64bit and from 76\nto 60 on 32bit with lock debugging turned off.  With lock debugging\nturned on the reduction is much larger.\n\ns_active starts at zero and each active reference increments s_active.\nPutting a reference decrements s_active.  Deactivation subtracts\nSD_DEACTIVATED_BIAS which is currently INT_MIN and assumed to be small\nenough to make s_active negative.  If s_active is negative,\nsysfs_get() no longer grants new references.  Deactivation succeeds\nimmediately if there is no active user; otherwise, it waits using a\ncompletion for the last put.\n\nDue to the removal of lockdep tricks, this change makes things less\ntrickier in release_sysfs_dirent().  As all the complexity is\ncontained in three s_active functions, I think it\u0027s more readable this\nway.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b6b4a4399c2a83d1af77c99dee0d0b5cc15ec268",
      "tree": "7a5d3134a338f03ab813024d5501bde1d434c98b",
      "parents": [
        "0b8ead82f5d9d8f08c0d1236f2e350b70a977753"
      ],
      "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: move s_active functions to fs/sysfs/dir.c\n\nThese functions are about to receive more complexity and doesn\u0027t\nreally need to be inlined in the first place.  Move them from\nfs/sysfs/sysfs.h to fs/sysfs/dir.c.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8312a8d7c1d19d31027bd4ca127ce671962c23d4",
      "tree": "ee28a44611ac2192b265f5f85a74f7da98d2fdef",
      "parents": [
        "fc9f54b9982e14e6dbe023425c87ffbfd6992c45"
      ],
      "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: use iget_locked() instead of new_inode()\n\nAfter dentry is reclaimed, sysfs always used to allocate new dentry\nand inode if the file is accessed again.  This causes problem with\noperations which only pin the inode.  For example, if inotify watch is\nadded to a sysfs file and the dentry for the file is reclaimed, the\nnext update event creates new dentry and new inode making the inotify\nwatch miss all the events from there on.\n\nThis patch fixes it by using iget_locked() instead of new_inode().\nsysfs_new_inode() is renamed to sysfs_get_inode() and inode is\ninitialized iff the inode is newly allocated.  sysfs_instantiate() is\nresponsible for unlocking new inodes.\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": "7f7cfffe60ed6271c4028ec79ae1c297b44bcb14",
      "tree": "b2d0f1228f9b6cc0cc262cd1be6d950ec4816291",
      "parents": [
        "42b37df6abb42ae021e15bf865b43f3629c7f3ab"
      ],
      "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: fix parent refcounting during rename and move\n\nParent reference wasn\u0027t properly transferred during rename and move.\nFix it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "42b37df6abb42ae021e15bf865b43f3629c7f3ab",
      "tree": "a6757acacf4e590318485df0e282f163a9cb1439",
      "parents": [
        "ad6a1e1c66009ba9dcd2f5c90ffa1fb4ce72fce0"
      ],
      "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:06 2007 -0700"
      },
      "message": "sysfs: make sysfs_alloc_ino() static\n\nsysfs_alloc_ino() isn\u0027t used out side of fs/sysfs/dir.c.  Make it\nstatic.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "dbde0fcf9f8f6d477af3c32d9979e789ee680cde",
      "tree": "12a1240213d59c061fec60325c7d5ebb1edebcd7",
      "parents": [
        "198a2a847015805c6f57d8cc732bdaaccb494007"
      ],
      "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:06 2007 -0700"
      },
      "message": "sysfs: reimplement sysfs_drop_dentry()\n\nThis patch reimplements sysfs_drop_dentry() such that remove_dir() can\nuse it to drop dentry instead of using a separate mechanism.  With\nthis change, making directories reclaimable is much easier.\n\nThis patch used to contain fixes for two race conditions around\nsd-\u003es_dentry but that part has been separated out and included into\nmainline early as commit 6aa054aadfea613a437ad0b15d38eca2b963fc0a and\ndd14cbc994709a1c5a64ed3621f583c49a27e521.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "198a2a847015805c6f57d8cc732bdaaccb494007",
      "tree": "614aa44e1bd1ab31a5baaab717c3af95773bd06b",
      "parents": [
        "73107cb3ad3963c0f929ae681c05081eafb1c079"
      ],
      "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: separate out sysfs_attach_dentry()\n\nConsolidate sd \u003c-\u003e dentry association into sysfs_attach_dentry() and\ncall it after dentry and inode are properly set up.  This is in\npreparation of sysfs_drop_dentry() updates.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0ab66088c855eca68513bdd7442a426c4b374ced",
      "tree": "7f931f7f984ac14701a33d123fa9e03d9048bf8f",
      "parents": [
        "eb36165353d0e5ac32b063f555acedcbaf6d3b75"
      ],
      "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: implement sysfs_dirent active reference and immediate disconnect\n\nsysfs: implement sysfs_dirent active reference and immediate disconnect\n\nOpening a sysfs node references its associated kobject, so userland\ncan arbitrarily prolong lifetime of a kobject which complicates\nlifetime rules in drivers.  This patch implements active reference and\nmakes the association between kobject and sysfs immediately breakable.\n\nNow each sysfs_dirent has two reference counts - s_count and s_active.\ns_count is a regular reference count which guarantees that the\ncontaining sysfs_dirent is accessible.  As long as s_count reference\nis held, all sysfs internal fields in sysfs_dirent are accessible\nincluding s_parent and s_name.\n\nThe newly added s_active is active reference count.  This is acquired\nby invoking sysfs_get_active() and it\u0027s the caller\u0027s responsibility to\nensure sysfs_dirent itself is accessible (should be holding s_count\none way or the other).  Dereferencing sysfs_dirent to access objects\nout of sysfs proper requires active reference.  This includes access\nto the associated kobjects, attributes and ops.\n\nThe active references can be drained and denied by calling\nsysfs_deactivate().  All active sysfs_dirents must be deactivated\nafter deletion but before the default reference is dropped.  This\nenables immediate disconnect of sysfs nodes.  Once a sysfs_dirent is\ndeleted, it won\u0027t access any entity external to sysfs proper.\n\nBecause attr/bin_attr ops access both the node itself and its parent\nfor kobject, they need to hold active references to both.\nsysfs_get/put_active_two() helpers are provided to help grabbing both\nreferences.  Parent\u0027s is acquired first and released last.\n\nUnlike other operations, mmapped area lingers on after mmap() is\nfinished and the module implement implementing it and kobj need to\nstay referenced till all the mapped pages are gone.  This is\naccomplished by holding one set of active references to the bin_attr\nand its parent if there have been any mmap during lifetime of an\nopenfile.  The references are dropped when the openfile is released.\n\nThis change makes sysfs lifetime rules independent from both kobject\u0027s\nand module\u0027s.  It not only fixes several race conditions caused by\nsysfs not holding onto the proper module when referencing kobject, but\nalso helps fixing and simplifying lifetime management in driver model\nand drivers by taking sysfs out of the equation.\n\nPlease read the following message for more info.\n\n  http://article.gmane.org/gmane.linux.kernel/510293\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "2b29ac252afff87b8465b064ca2d9740cf1f6e52",
      "tree": "9f4930db68ace50adc7c11feba12aafe34e2cdbe",
      "parents": [
        "aecdcedaab49ca40620dc7dd70f67ee7269a66c9"
      ],
      "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: reimplement symlink using sysfs_dirent tree\n\nsysfs symlink is implemented by referencing dentry and kobject from\nsysfs_dirent - symlink entry references kobject, dentry is used to\nwalk the tree.  This complicates object lifetimes rules and is\ndangerous - for example, there is no way to tell to which module the\ntarget of a symlink belongs and referencing that kobject can make it\nlinger after the module is gone.\n\nThis patch reimplements symlink using only sysfs_dirent tree.  sd for\na symlink points and holds reference to the target sysfs_dirent and\nall walking is done using sysfs_dirent tree.  Simpler and safer.\n\nPlease read the following message for more info.\n\n  http://article.gmane.org/gmane.linux.kernel/510293\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "aecdcedaab49ca40620dc7dd70f67ee7269a66c9",
      "tree": "df1faa0302e6fb428b7ae0a14d443626fd73b121",
      "parents": [
        "3e5190380ebef77f2b015c9e7a4ca225a3d75021"
      ],
      "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: implement kobj_sysfs_assoc_lock\n\nkobj-\u003edentry can go away anytime unless the user controls when the\nassociated sysfs node is deleted.  This patch implements\nkobj_sysfs_assoc_lock which protects kobj-\u003edentry.  This will be used\nto maintain kobj based API when converting sysfs to use sysfs_dirent\ntree instead of dentry/kobject.\n\nNote that this lock belongs to kobject/driver-model not sysfs.  Once\nsysfs is converted to not use kobject in its interface, this can be\nremoved from sysfs.\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": "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": "0c096b507f15397da890051ee73de4266d3941fb",
      "tree": "c6b7d204a493157b3926bdb46500313eee9f9690",
      "parents": [
        "13b3086d2ea483cbcae5a4236446cecc082a72cf"
      ],
      "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: add sysfs_dirent-\u003es_name\n\nAdd s_name to sysfs_dirent.  This is to further reduce dependency to\nthe associated dentry.  Name is copied for directories and symlinks\nbut not for attributes.\n\nWhere possible, name dereferences are converted to use sd-\u003es_name.\nsysfs_symlink-\u003elink_name and sysfs_get_name() are unused now and\nremoved.\n\nThis change allows symlink to be implemented using sysfs_dirent tree\nproper, which is the last remaining dentry-dependent sysfs walk.\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": "a26cd7226c24c3be5dd5f48a74832fe64beb8489",
      "tree": "0dfb4a15d800494a06a4ddf83c4d33812c404fac",
      "parents": [
        "996b73764e9bb9d5e751fd15b130ba38637d66a8"
      ],
      "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: consolidate sysfs_dirent creation functions\n\nCurrently there are four functions to create sysfs_dirent -\n__sysfs_new_dirent(), sysfs_new_dirent(), __sysfs_make_dirent() and\nsysfs_make_dirent().  Other than sysfs_make_dirent(), no function has\ntwo users if calls to implement other functions are excluded.\n\nThis patch consolidates sysfs_dirent creation functions into the\nfollowing two.\n\n* sysfs_new_dirent() : allocate and initialize\n* sysfs_attach_dirent() : attach to sysfs_dirent hierarchy and/or\n\t\t\t  associate with dentry\n\nThis simplifies interface and gives callers more flexibility.  This is\nin 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": "996b73764e9bb9d5e751fd15b130ba38637d66a8",
      "tree": "b8fe0310d1d37da2c2434d1398c12b5ae82b929f",
      "parents": [
        "dfeb9fb0343363aadc3ee00a9347d120bc2a26b1"
      ],
      "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:03 2007 -0700"
      },
      "message": "sysfs: flatten and fix sysfs_rename_dir() error handling\n\nError handling in sysfs_rename_dir() was broken.\n\n* When lookup_one_len() fails, 0 is returned.\n\n* If parent inode check fails, returns with inode mutex and rename\n  rwsem held.\n\nThis patch fixes the above bugs and flattens error handling such that\nit\u0027s more readable and easier to modify.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "dfeb9fb0343363aadc3ee00a9347d120bc2a26b1",
      "tree": "f9bbba921409d021da1730b8edc95614504583cd",
      "parents": [
        "93e3cd8270d036953120eca83610f95d3f7374c6"
      ],
      "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:03 2007 -0700"
      },
      "message": "sysfs: flatten cleanup paths in sysfs_add_link() and create_dir()\n\nFlatten cleanup paths in sysfs_add_link() and create_dir() to improve\nreadability and ease further changes to these functions.  This is in\npreparation 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": "2b611bb7abdcc08278453fc9f6517401fd69ef95",
      "tree": "a236b9090d541ed2c24e4fa9e3ee19c1237fc33f",
      "parents": [
        "fa7f912ad4ae0ed7591add52422e48282389652d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:13 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:03 2007 -0700"
      },
      "message": "sysfs: allocate inode number using ida\n\nsysfs used simple incrementing allocator which is not guaranteed to be\nunique.  This patch makes sysfs use ida to give each sd a unique and\npacked inode number.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "fa7f912ad4ae0ed7591add52422e48282389652d",
      "tree": "2f986dbf55002e32d6d296a1b5b96d55135ad28f",
      "parents": [
        "72dba584b695d8bc8c1a50ed54ad4cba7c62314d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:13 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:03 2007 -0700"
      },
      "message": "sysfs: move release_sysfs_dirent() to dir.c\n\nThere is no reason this function should be inlined and soon to follow\nsysfs object reference simplification will make it heavier.  Move it\nto dir.c.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "dd14cbc994709a1c5a64ed3621f583c49a27e521",
      "tree": "e48d38b7450661907c7b75490504c7f70b04d6cc",
      "parents": [
        "6aa054aadfea613a437ad0b15d38eca2b963fc0a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Jun 11 14:04:01 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jun 12 16:08:47 2007 -0700"
      },
      "message": "sysfs: fix race condition around sd-\u003es_dentry, take#2\n\nAllowing attribute and symlink dentries to be reclaimed means\nsd-\u003es_dentry can change dynamically.  However, updates to the field\nare unsynchronized leading to race conditions.  This patch adds\nsysfs_lock and use it to synchronize updates to sd-\u003es_dentry.\n\nDue to the locking around -\u003ed_iput, the check in sysfs_drop_dentry()\nis complex.  sysfs_lock only protect sd-\u003es_dentry pointer itself.  The\nvalidity of the dentry is protected by dcache_lock, so whether dentry\nis alive or not can only be tested while holding both locks.\n\nThis is minimal backport of sysfs_drop_dentry() rewrite in devel\nbranch.\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": "0de1517e23c2e28d58a6344b97a120596ea200bb",
      "tree": "13760d58a2b12f5849be7bb478167ecb99028f5c",
      "parents": [
        "166f60dde0f3793e67bd0d76952eaa46705bbaa9"
      ],
      "author": {
        "name": "Mark Lord",
        "email": "lkml@rtr.ca",
        "time": "Tue Mar 06 01:42:03 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 06 09:30:24 2007 -0800"
      },
      "message": "[PATCH] Fix 2.6.21 rfcomm lockups\n\nAny attempt to open/use a bluetooth rfcomm device locks up\nscheduling completely on my machine.\n\nInterrupts (ping, alt-sysrq) seem to be alive, but nothing else.\n\nThis was working fine in 2.6.20, broken now in 2.6.21-rc2-git*\n\nReverting this change (below) fixes it:\n\n| author    Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n|      Sat, 17 Feb 2007 22:58:57 +0000 (23:58 +0100)\n| committer    David S. Miller \u003cdavem@sunset.davemloft.net\u003e\n|      Mon, 26 Feb 2007 19:42:41 +0000 (11:42 -0800)\n| commit    c1a3313698895d8ad4760f98642007bf236af2e8\n| tree    337a876f727061362b6a169f8759849c105b8f7a    tree | snapshot\n| parent    f5ffd4620aba9e55656483ae1ef5c79ba81f5403    commit | diff\n| | [Bluetooth] Make use of device_move() for RFCOMM TTY devices\n| | In the case of bound RFCOMM TTY devices the parent is not available\n| before its usage. So when opening a RFCOMM TTY device, move it to\n| the corresponding ACL device as a child. When closing the device,\n| move it back to the virtual device tree.\n| Signed-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n\nThe simplest fix for this bug is to prevent sysfs_move_dir()\nfrom self-deadlocking when (old_parent \u003d\u003d new_parent).\n\nThis patch prevents total system lockup when using rfcomm devices.\n\nSigned-off-by:  Mark Lord \u003cmlord@pobox.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c5ef1c42c51b1b5b4a401a6517bdda30933ddbaf",
      "tree": "e1a9804a8af427f700aaba4b386cf8679b317e83",
      "parents": [
        "92e1d5be91a0e3ffa5c4697eeb09b2aa22792122"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:40 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:46 2007 -0800"
      },
      "message": "[PATCH] mark struct inode_operations const 3\n\nMany struct inode_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c376222960ae91d5ffb9197ee36771aaed1d9f90",
      "tree": "7f431c42529fec77433d33490bd9f2a8c47ba091",
      "parents": [
        "1b135431abf5ea92e61bf4e91d93726c7b96da5f"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sat Feb 10 01:45:03 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:27 2007 -0800"
      },
      "message": "[PATCH] Transform kmem_cache_alloc()+memset(0) -\u003e kmem_cache_zalloc().\n\nReplace appropriate pairs of \"kmem_cache_alloc()\" + \"memset(0)\" with the\ncorresponding \"kmem_cache_zalloc()\" call.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nAcked-by: Joel Becker \u003cJoel.Becker@oracle.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\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": "c744aeae9d173a953b771a7ad5c872f91fa99dec",
      "tree": "83d36e211ff6d0109f3aeb29d4fd1bb2dbb2a9b3",
      "parents": [
        "717e48c29d9a58f4d31c1651bec364212da5f6b2"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Mon Jan 08 20:16:44 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Feb 07 10:37:11 2007 -0800"
      },
      "message": "driver core: Allow device_move(dev, NULL).\n\nIf we allow NULL as the new parent in device_move(), we need to make sure\nthat the device is placed into the same place as it would if it was\nnewly registered:\n\n- Consider the device virtual tree. In order to be able to reuse code,\n  setup_parent() has been tweaked a bit.\n- kobject_move() can fall back to the kset\u0027s kobject.\n- sysfs_move_dir() uses the sysfs root dir as fallback.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nCc: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f427f5d5d6b0eb729505a2d9c0a6cad22734a74c",
      "tree": "d9e15c44036407c74e7ff31f083f3aef6902c0dd",
      "parents": [
        "0f7fc9e4d03987fe29f6dd4aa67e4c56eb7ecb05"
      ],
      "author": {
        "name": "Josef \"Jeff\" Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Fri Dec 08 02:36:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:41 2006 -0800"
      },
      "message": "[PATCH] sysfs: change uses of f_{dentry, vfsmnt} to use f_path\n\nChange all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the sysfs\nfilesystem code.\n\nSigned-off-by: Josef \"Jeff\" Sipek \u003cjsipek@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8a82472f86bf693b8e91ed56c9ca4f62fbbdcfa3",
      "tree": "79d148ee548f4b57e6f5a4a69cf6cdb81e7a1bf2",
      "parents": [
        "af9e0765362151b27372c14d9d6dc417184182d3"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Mon Nov 20 17:07:51 2006 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 01 14:52:01 2006 -0800"
      },
      "message": "driver core: Introduce device_move(): move a device to a new parent.\n\nProvide a function device_move() to move a device to a new parent device. Add\nauxilliary functions kobject_move() and sysfs_move_dir().\nkobject_move() generates a new uevent of type KOBJ_MOVE, containing the\nprevious path (DEVPATH_OLD) in addition to the usual values. For this, a new\ninterface kobject_uevent_env() is created that allows to add further\nenvironmental data to the uevent at the kobject layer.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nAcked-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\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"
    }
  ],
  "next": "eea3f8911f34001d2450a272c2d02f175279b53c"
}
