)]}'
{
  "log": [
    {
      "commit": "91a6902958f052358899f58683d44e36228d85c2",
      "tree": "a713792cf3bb09bdbd2ac6906aa44b3da3e49250",
      "parents": [
        "51225039f3cf9d250596d1344494b293274b9169"
      ],
      "author": {
        "name": "Zhang Rui",
        "email": "rui.zhang@intel.com",
        "time": "Sat Jun 09 13:57:22 2007 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:09 2007 -0700"
      },
      "message": "sysfs: add parameter \"struct bin_attribute *\" in .read/.write methods for sysfs binary attributes\n\nWell, first of all, I don\u0027t want to change so many files either.\n\nWhat I do:\nAdding a new parameter \"struct bin_attribute *\" in the\n.read/.write methods for the sysfs binary attributes.\n\nIn fact, only the four lines change in fs/sysfs/bin.c and\ninclude/linux/sysfs.h do the real work.\nBut I have to update all the files that use binary attributes\nto make them compatible with the new .read and .write methods.\nI\u0027m not sure if I missed any. :(\n\nWhy I do this:\nFor a sysfs attribute, we can get a pointer pointing to the\nstruct attribute in the .show/.store method,\nwhile we can\u0027t do this for the binary attributes.\nI don\u0027t know why this is different, but this does make it not\nso handy to use the binary attributes as the regular ones.\nSo I think this patch is reasonable. :)\n\nWho benefits from it:\nThe patch that exposes ACPI tables in sysfs\nrequires such an improvement.\nAll the table binary attributes share the same .read method.\nParameter \"struct bin_attribute *\" is used to get\nthe table signature and instance number which are used to\ndistinguish different ACPI table binary attributes.\n\nWithout this parameter, we need to offer different .read methods\nfor different ACPI table binary attributes.\nThis is impossible as there are various ACPI tables on different\nplatforms, and we don\u0027t know what they are until they are loaded.\n\nSigned-off-by: Zhang Rui \u003crui.zhang@intel.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": "d0bcb5689a521df98bff7549fcb8b17499660a99",
      "tree": "6f9deb74f4facc5e638b71ba8b99ac2baeed9859",
      "parents": [
        "9d9307dabb3de8140fb3801bf6eb01f231dbd83d"
      ],
      "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: make sysfs_drop_dentry() access inodes using ilookup()\n\nsysfs_drop_dentry() used to go through sd-\u003es_dentry and\nsd-\u003es_parent-\u003es_dentry to access the inodes.  This is incorrect\nbecause inode can be cached without dentry.\n\nThis patch makes sysfs_drop_dentry() access inodes using ilookup() on\nsd-\u003es_ino.  This is both correct 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": "9d9307dabb3de8140fb3801bf6eb01f231dbd83d",
      "tree": "55cecd0eaefe5e3cc89f2aaf8542607f7d43ae8e",
      "parents": [
        "0c73f18b7d95de8a007039337063a770b5fc8e7a"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jun 14 03:45:18 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:07 2007 -0700"
      },
      "message": "sysfs: Fix oops in sysfs_drop_dentry on x86_64\n\nFix oops on x86_64 caused by the dereference of dir in\nsysfs_drop_dentry() made before checking if dir is not NULL\n(cf. http://marc.info/?l\u003dlinux-kernel\u0026m\u003d118151626704924\u0026w\u003d2).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\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": "0b8ead82f5d9d8f08c0d1236f2e350b70a977753",
      "tree": "d725dd9ee12498c84e5efd9da23c9170d3e3400e",
      "parents": [
        "8312a8d7c1d19d31027bd4ca127ce671962c23d4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:18 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:07 2007 -0700"
      },
      "message": "sysfs: fix root sysfs_dirent -\u003e root dentry association\n\nThe root sysfs_dirent didn\u0027t point to the root dentry fix it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "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": "7b595756ec1f49e0049a9e01a1298d53a7faaa15",
      "tree": "cd06687ab3e5c7a5a4ef91903dff207a18c4db76",
      "parents": [
        "dbde0fcf9f8f6d477af3c32d9979e789ee680cde"
      ],
      "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: kill unnecessary attribute-\u003eowner\n\nsysfs is now completely out of driver/module lifetime game.  After\ndeletion, a sysfs node doesn\u0027t access anything outside sysfs proper,\nso there\u0027s no reason to hold onto the attribute owners.  Note that\noften the wrong modules were accounted for as owners leading to\naccessing removed modules.\n\nThis patch kills now unnecessary attribute-\u003eowner.  Note that with\nthis change, userland holding a sysfs node does not prevent the\nbacking module from being unloaded.\n\nFor more info regarding lifetime rule cleanup, please read the\nfollowing message.\n\n  http://article.gmane.org/gmane.linux.kernel/510293\n\n(tweaked by Greg to not delete the field just yet, to make it easier to\nmerge things properly.)\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\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": "73107cb3ad3963c0f929ae681c05081eafb1c079",
      "tree": "78c9647d5e6a0d9c89cb8c37b7533aad8f805302",
      "parents": [
        "0ab66088c855eca68513bdd7442a426c4b374ced"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:16 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:05 2007 -0700"
      },
      "message": "sysfs: kill attribute file orphaning\n\nNow that sysfs_dirent can be disconnected from kobject on deletion,\nthere is no need to orphan each attribute files.  All [bin_]attribute\nnodes are automatically orphaned when the parent node is deleted.\nKill attribute file orphaning.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "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": "eb36165353d0e5ac32b063f555acedcbaf6d3b75",
      "tree": "b9ce2b45fb972921aa9f02bbe1149d2d85f3ed36",
      "parents": [
        "2b29ac252afff87b8465b064ca2d9740cf1f6e52"
      ],
      "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:04 2007 -0700"
      },
      "message": "sysfs: implement bin_buffer\n\nImplement bin_buffer which contains a mutex and pointer to PAGE_SIZE\nbuffer to properly synchronize accesses to per-openfile buffer and\nprepare for immediate-kobj-disconnect.\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": "93e3cd8270d036953120eca83610f95d3f7374c6",
      "tree": "8f5bc27cd1d7b28cafd4dd2bdbaabf0f16feb6c8",
      "parents": [
        "7a23ad44047b1084a032bc0d127fe08af024593a"
      ],
      "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: fix error handling in binattr write()\n\nError handling in fs/sysfs/bin.c:write() was wrong because size_t\ncount is used to receive return value from flush_write() which is\nnegative on failure.\n\nThis patch updates write() such that int variable is used instead.\nread() is updated the same way for consistency.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7a23ad44047b1084a032bc0d127fe08af024593a",
      "tree": "1f1819b0897fdd8e0237f22d8eebeb55b75894b9",
      "parents": [
        "2b611bb7abdcc08278453fc9f6517401fd69ef95"
      ],
      "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: make sysfs_put() ignore NULL sd\n\nMake sysfs_put() ignore NULL sd instead of oopsing.\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": "6aa054aadfea613a437ad0b15d38eca2b963fc0a",
      "tree": "e7fd512672b8f85fe2463ba4ba98bca06ffe6bb1",
      "parents": [
        "dc351252b33f8fede396d6173dba117bcb933607"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Mon Jun 11 14:03:27 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jun 12 16:08:46 2007 -0700"
      },
      "message": "sysfs: fix condition check in sysfs_drop_dentry()\n\nThe condition check doesn\u0027t make much sense as it basically always\nsucceeds.  This causes NULL dereferencing on certain cases.  It seems\nthat parentheses are put in the wrong place.  Fix it.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "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": "e8edc6e03a5c8562dc70a6d969f732bdb355a7e7",
      "tree": "fc86c863655128a7041dfe613d14393d761fa7b9",
      "parents": [
        "ff1be9ad61e3e17ba83702d8ed0b534e5b8ee15c"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon May 21 01:22:52 2007 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon May 21 09:18:19 2007 -0700"
      },
      "message": "Detach sched.h from mm.h\n\nFirst thing mm.h does is including sched.h solely for can_do_mlock() inline\nfunction which has \"current\" dereference inside. By dealing with can_do_mlock()\nmm.h can be detached from sched.h which is good. See below, why.\n\nThis patch\na) removes unconditional inclusion of sched.h from mm.h\nb) makes can_do_mlock() normal function in mm/mlock.c\nc) exports can_do_mlock() to not break compilation\nd) adds sched.h inclusions back to files that were getting it indirectly.\ne) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were\n   getting them indirectly\n\nNet result is:\na) mm.h users would get less code to open, read, preprocess, parse, ... if\n   they don\u0027t need sched.h\nb) sched.h stops being dependency for significant number of files:\n   on x86_64 allmodconfig touching sched.h results in recompile of 4083 files,\n   after patch it\u0027s only 3744 (-8.3%).\n\nCross-compile tested on\n\n\tall arm defconfigs, all mips defconfigs, all powerpc defconfigs,\n\talpha alpha-up\n\tarm\n\ti386 i386-up i386-defconfig i386-allnoconfig\n\tia64 ia64-up\n\tm68k\n\tmips\n\tparisc parisc-up\n\tpowerpc powerpc-up\n\ts390 s390-up\n\tsparc sparc-up\n\tsparc64 sparc64-up\n\tum-x86_64\n\tx86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig\n\nas well as my two usual configs.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "92f4c701aad794de9e4cf7341d0a486aed027c46",
      "tree": "59a47427d43670a50409fc91d68a325e7cfa0ab7",
      "parents": [
        "884c3d751093446918c2f7a4b2c745f28cf91c39"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed May 09 02:33:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:49 2007 -0700"
      },
      "message": "use simple_read_from_buffer() in fs/\n\nCleanup using simple_read_from_buffer() in binfmt_misc, configfs, and sysfs.\n\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "823bccfc4002296ba88c3ad0f049e1abd8108d30",
      "tree": "5338ae0b32409446af4cd00c5107d9405d5bf0b6",
      "parents": [
        "2609e7b9bebfd433254c02538ba803dc516ff674"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 13 13:15:19 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 02 18:57:59 2007 -0700"
      },
      "message": "remove \"struct subsystem\" as it is no longer needed\n\nWe need to work on cleaning up the relationship between kobjects, ksets and\nktypes.  The removal of \u0027struct subsystem\u0027 is the first step of this,\nespecially as it is not really needed at all.\n\nThanks to Kay for fixing the bugs in this patch.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "2609e7b9bebfd433254c02538ba803dc516ff674",
      "tree": "b96f7c2bfc6ffdeb49c649655b4aee9e9a00aedc",
      "parents": [
        "3265b54556b2d8ed4e9612b08edb592b60205c40"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Apr 30 17:55:03 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 02 18:57:59 2007 -0700"
      },
      "message": "sysfs: printk format warning\n\nFix sysfs printk format warning:\nfs/sysfs/bin.c:62: warning: format \u0027%d\u0027 expects type \u0027int\u0027, but argument 4 has type \u0027size_t\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "057f6c019fff9ee290641d50647359bb8898918e",
      "tree": "c051a915e2038825dd2f50f24fc28abb3c4a5e79",
      "parents": [
        "523ded71de0c5e66973335bf99a80edfda9f401b"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Apr 26 00:12:05 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:33 2007 -0700"
      },
      "message": "security: prevent permission checking of file removal via sysfs_remove_group()\n\nPrevent permission checking from being performed when the kernel wants to\nunconditionally remove a sysfs group, by introducing an kernel-only variant\nof lookup_one_len(), lookup_one_len_kern().\n\nAdditionally, as sysfs_remove_group() does not check the return value of\nthe lookup before using it, a BUG_ON has been added to pinpoint the cause\nof any problems potentially caused by this (and as a form of annotation).\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nCc: Nagendra Singh Tomar \u003cnagendra_tomar@adaptec.com\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "523ded71de0c5e66973335bf99a80edfda9f401b",
      "tree": "20f47e8ed91018977d9fb7f4169a6ef8db407b82",
      "parents": [
        "fa1a8c23eb7d3ded8a3c6d0e653339a2bc7fca9e"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Apr 26 00:12:04 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:32 2007 -0700"
      },
      "message": "device_schedule_callback() needs a module reference\n\nThis patch (as896b) fixes an oversight in the design of\ndevice_schedule_callback().  It is necessary to acquire a reference to the\nmodule owning the callback routine, to prevent the module from being\nunloaded before the callback can run.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Satyam Sharma \u003csatyam.sharma@gmail.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "45cd8d8e1e56fba41b1e4fae988f40fe938045c2",
      "tree": "62a76d522f988eabf6831d419037fa124e18ab39",
      "parents": [
        "b2366d68d9ec3498b342507facf526c1f66ffa41"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu Apr 26 00:12:10 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:32 2007 -0700"
      },
      "message": "sysfs: bin.c printk fix\n\nfs/sysfs/bin.c: In function \u0027read\u0027:\nfs/sysfs/bin.c:77: warning: format \u0027%zd\u0027 expects type \u0027signed size_t\u0027, but argument 4 has type \u0027int\u0027\n\n\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e7b0d26a86943370c04d6833c6edba2a72a6e240",
      "tree": "696e696176a1e72abb80afa6112fc057b39bf86b",
      "parents": [
        "d9a9cdfb078d755e648d53ec25b7370f84ee5729"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Mar 15 15:51:28 2007 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 15 15:29:26 2007 -0700"
      },
      "message": "[PATCH] sysfs: reinstate exclusion between method calls and attribute unregistration\n\nThis patch (as869) reinstates the mutual exclusion between sysfs\nattribute method calls and attribute unregistration.  The\npreviously-reported deadlocks have been fixed, and this exclusion is\nby far the simplest way to avoid races during driver unbinding.\n\nThe check for orphaned read-buffers has been moved down slightly, so\nthat the remainder of a partially-read buffer will still be available\nto userspace even after the attribute has been unregistered.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nCc: Oliver Neukum \u003coneukum@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d9a9cdfb078d755e648d53ec25b7370f84ee5729",
      "tree": "308380483fd6241b1d0ef5916b9329c1c5df00f6",
      "parents": [
        "6ab27c6bf38d5ff71dafeca77b79e7c284804b75"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Mar 15 15:50:34 2007 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 15 15:29:26 2007 -0700"
      },
      "message": "[PATCH] sysfs and driver core: add callback helper, used by SCSI and S390\n\nThis patch (as868) adds a helper routine for device drivers that need\nto set up a callback to perform some action in a different process\u0027s\ncontext.  This is intended for use by attribute methods that want to\nunregister themselves or their parent device.  Attribute method calls\nare mutually exclusive with unregistration, so such actions cannot be\ntaken directly.\n\nTwo attribute methods are converted to use the new helper routine: one\nfor SCSI device deletion and one for System/390 ccwgroup devices.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nCc: Oliver Neukum \u003coneukum@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "266d4f40370757459f8aa063976c932d0de5e59b",
      "tree": "315f882e2325b1485b55e0c2c029fb7e4173786f",
      "parents": [
        "7c368bb1049bde17fc4f8655492478d7f2918da9"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Tue Mar 06 19:20:11 2007 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 06 17:59:14 2007 -0800"
      },
      "message": "[PATCH] suspend regression: sysfs deadlock\n\nSuspend deadlocks when trying to unregister /sys/block/sr0.\n\nThis comes from Oliver\u0027s commit 94bebf4d1b8e7719f0f3944c037a21cfd99a4af7\n\"Driver core: fix race in sysfs between sysfs_remove_file() and\nread()/write()\".\n\nsysfs_write_file downs buffer-\u003esem while calling flush_write_buffer, and\nflushing that particular write buffer entails downing buffer-\u003esem in\norphan_all_buffers, resulting in the obvious self-deadlock.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\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": "a7538a7f87826fb5cacc6959f00dfa9fba6f4b15",
      "tree": "a0fef9252200a78634f0fa4eaa714c7a40e802b9",
      "parents": [
        "92320cec611d4ed44a9bd635727d61f6caa669a7",
        "dfff0a0671baf4e69fc676bf8150635407548288"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 26 11:41:30 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 26 11:41:30 2007 -0800"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6:\n  Revert \"Driver core: let request_module() send a /sys/modules/kmod/-uevent\"\n  Driver core: fix error by cleanup up symlinks properly\n  make kernel/kmod.c:kmod_mk static\n  power management: fix struct layout and docs\n  power management: no valid states w/o pm_ops\n  Driver core: more fallout from class_device changes for pcmcia\n  sysfs: move struct sysfs_dirent to private header\n  driver core: refcounting fix\n  Driver core: remove class_device_rename\n"
    },
    {
      "commit": "dfa87c824a9a5430008acd1ed2e8111ed164fcbe",
      "tree": "1e25c9d6a00b409e3cd6a7d304fe2b98eb955309",
      "parents": [
        "b5e795f8df42936590ba9c606edc715fe3593284"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue Feb 20 15:02:44 2007 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 23 15:03:46 2007 -0800"
      },
      "message": "sysfs: allow attributes to be added to groups\n\nThis patch (as860) adds two new sysfs routines:\nsysfs_add_file_to_group() and sysfs_remove_file_from_group().\nA later patch adds code that uses the new routines.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Maneesh Soni \u003cmaneesh@in.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d56c3eae6753f53d3313b926dcdda38c6c9bbe9b",
      "tree": "c5df874dec463be02221a58a9dcdaf43d8038457",
      "parents": [
        "63ce18cfe685115ff8d341bae4c9204a79043cf0"
      ],
      "author": {
        "name": "Adam J. Richter",
        "email": "adam@yggdrasil.com",
        "time": "Fri Feb 16 21:35:25 2007 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 23 14:52:09 2007 -0800"
      },
      "message": "sysfs: move struct sysfs_dirent to private header\n\nstruct sysfs_dirent is private to the fs/sysfs/ subtree.  It is\nnot even referenced as an opaque structure outside of that subtree.\n\nThe following patch moves the declaration from include/linux/sysfs.h to\nfs/sysfs/sysfs.h, making it clearer that nothing else in the kernel\ndereferences it.\n\nI have been running this patch for years.  Please integrate and forward\nupstream if there are no objections.\n\nFrom: \"Adam J. Richter\" \u003cadam@yggdrasil.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f95d882d81ee731be2a4a3b34f86810e29b68836",
      "tree": "bf4d2f2471c354bd3ddbf60e073ba69cd0e755fc",
      "parents": [
        "8a03d9a498eaf02c8a118752050a5154852c13bf"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sat Feb 10 14:41:56 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 16 15:30:10 2007 -0800"
      },
      "message": "PCI/sysfs/kobject kernel-doc fixes\n\nFix kernel-doc warnings in PCI, sysfs, and kobject files.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ee9b6d61a2a43c5952eb43283f8db284a4e70b8a",
      "tree": "afb0340e79d3e9d14f39df20e165ce2efe941b18",
      "parents": [
        "c5ef1c42c51b1b5b4a401a6517bdda30933ddbaf"
      ],
      "author": {
        "name": "Josef \u0027Jeff\u0027 Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Mon Feb 12 00:55:41 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:47 2007 -0800"
      },
      "message": "[PATCH] Mark struct super_operations const\n\nThis patch is inspired by Arjan\u0027s \"Patch series to mark struct\nfile_operations and struct inode_operations const\".\n\nCompile tested with gcc \u0026 sparse.\n\nSigned-off-by: Josef \u0027Jeff\u0027 Sipek \u003cjsipek@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "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": "82244b169ed2eee1ef7f97a3a6693f5a6eff8a69",
      "tree": "544170373b626e7cd110070930446208476b625e",
      "parents": [
        "b067db49e1f4013ef02ef68845701b600e88a722"
      ],
      "author": {
        "name": "Oliver Neukum",
        "email": "oliver@neukum.name",
        "time": "Tue Jan 02 08:48:08 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Feb 07 10:37:13 2007 -0800"
      },
      "message": "sysfs: error handling in sysfs, fill_read_buffer()\n\nif a driver returns an error in fill_read_buffer(), the buffer will be\nmarked as filled. Subsequent reads will return eof. But there is\nno data because of an error, not because it has been read.\nNot marking the buffer filled is the obvious fix.\n\nSigned-off-by: Oliver Neukum \u003coliver@neukum.name\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f75065367077bd3b77842a5aa523ecd05d33e82d",
      "tree": "8c88382e578c2df7ff14ec005ae821dd4b36379e",
      "parents": [
        "d3fc373ac5061cab7a654502b942e7d00e77f733"
      ],
      "author": {
        "name": "Mariusz Kozlowski",
        "email": "m.kozlowski@tuxland.pl",
        "time": "Tue Jan 02 13:41:10 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Feb 07 10:37:13 2007 -0800"
      },
      "message": "sysfs: kobject_put cleanup\n\nThis patch removes redundant argument checks for kobject_put().\n\nSigned-off-by: Mariusz Kozlowski \u003cm.kozlowski@tuxland.pl\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "d3fc373ac5061cab7a654502b942e7d00e77f733",
      "tree": "b93390a9b48f3e9438cab9f2f1f1ee6f1907bb69",
      "parents": [
        "94bebf4d1b8e7719f0f3944c037a21cfd99a4af7"
      ],
      "author": {
        "name": "Frederik Deweerdt",
        "email": "deweerdt@free.fr",
        "time": "Fri Jan 05 12:04:33 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Feb 07 10:37:13 2007 -0800"
      },
      "message": "sysfs: suppress lockdep warnings\n\nLockdep issues the following warning:\n[    9.064000] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[    9.064000] [ INFO: possible recursive locking detected ]\n[    9.064000] 2.6.20-rc3-mm1 #3\n[    9.064000] ---------------------------------------------\n[    9.064000] init/1 is trying to acquire lock:\n[    9.064000]  (\u0026sysfs_inode_imutex_key){--..}, at: [\u003cc03e6afc\u003e] mutex_lock+0x1c/0x1f\n[    9.064000]\n[    9.064000] but task is already holding lock:\n[    9.064000]  (\u0026sysfs_inode_imutex_key){--..}, at: [\u003cc03e6afc\u003e] mutex_lock+0x1c/0x1f\n[    9.065000]\n[    9.065000] other info that might help us debug this:\n[    9.065000] 2 locks held by init/1:\n[    9.065000]  #0:  (tty_mutex){--..}, at: [\u003cc03e6afc\u003e] mutex_lock+0x1c/0x1f\n[    9.065000]  #1:  (\u0026sysfs_inode_imutex_key){--..}, at: [\u003cc03e6afc\u003e] mutex_lock+0x1c/0x1f\n[    9.065000]\n[    9.065000] stack backtrace:\n[    9.065000]  [\u003cc010390d\u003e] show_trace_log_lvl+0x1a/0x30\n[    9.066000]  [\u003cc0103935\u003e] show_trace+0x12/0x14\n[    9.066000]  [\u003cc0103a2f\u003e] dump_stack+0x16/0x18\n[    9.066000]  [\u003cc0138cb8\u003e] print_deadlock_bug+0xb9/0xc3\n[    9.066000]  [\u003cc0138d17\u003e] check_deadlock+0x55/0x5a\n[    9.066000]  [\u003cc013a953\u003e] __lock_acquire+0x371/0xbf0\n[    9.066000]  [\u003cc013b7a9\u003e] lock_acquire+0x69/0x83\n[    9.066000]  [\u003cc03e6b7e\u003e] __mutex_lock_slowpath+0x75/0x2d1\n[    9.066000]  [\u003cc03e6afc\u003e] mutex_lock+0x1c/0x1f\n[    9.066000]  [\u003cc01b249c\u003e] sysfs_drop_dentry+0xb1/0x133\n[    9.066000]  [\u003cc01b25d1\u003e] sysfs_hash_and_remove+0xb3/0x142\n[    9.066000]  [\u003cc01b30ed\u003e] sysfs_remove_file+0xd/0x10\n[    9.067000]  [\u003cc02849e0\u003e] device_remove_file+0x23/0x2e\n[    9.067000]  [\u003cc02850b2\u003e] device_del+0x188/0x1e6\n[    9.067000]  [\u003cc028511b\u003e] device_unregister+0xb/0x15\n[    9.067000]  [\u003cc0285318\u003e] device_destroy+0x9c/0xa9\n[    9.067000]  [\u003cc0261431\u003e] vcs_remove_sysfs+0x1c/0x3b\n[    9.067000]  [\u003cc0267a08\u003e] con_close+0x5e/0x6b\n[    9.067000]  [\u003cc02598f2\u003e] release_dev+0x4c4/0x6e5\n[    9.067000]  [\u003cc0259faa\u003e] tty_release+0x12/0x1c\n[    9.067000]  [\u003cc0174872\u003e] __fput+0x177/0x1a0\n[    9.067000]  [\u003cc01746f5\u003e] fput+0x3b/0x41\n[    9.068000]  [\u003cc0172ee1\u003e] filp_close+0x36/0x65\n[    9.068000]  [\u003cc0172f73\u003e] sys_close+0x63/0xa4\n[    9.068000]  [\u003cc0102a96\u003e] sysenter_past_esp+0x5f/0x99\n[    9.068000]  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nThis is due to sysfs_hash_and_remove() holding dir-\u003ed_inode-\u003ei_mutex\nbefore calling sysfs_drop_dentry() which calls orphan_all_buffers()\nwhich in turn takes node-\u003ei_mutex.\n\nSigned-off-by: Frederik Deweerdt \u003cfrederik.deweerdt@gmail.com\u003e\nCc: Oliver Neukum \u003coliver@neukum.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\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": "e18b890bb0881bbab6f4f1a6cd20d9c60d66b003",
      "tree": "4828be07e1c24781c264b42c5a75bcd968223c3f",
      "parents": [
        "441e143e95f5aa1e04026cb0aa71c801ba53982f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:25 2006 -0800"
      },
      "message": "[PATCH] slab: remove kmem_cache_t\n\nReplace all uses of kmem_cache_t with struct kmem_cache.\n\nThe patch was generated using the following script:\n\n\t#!/bin/sh\n\t#\n\t# Replace one string by another in all the kernel sources.\n\t#\n\n\tset -e\n\n\tfor file in `find * -name \"*.c\" -o -name \"*.h\"|xargs grep -l $1`; do\n\t\tquilt add $file\n\t\tsed -e \"1,\\$s/$1/$2/g\" $file \u003e/tmp/$$\n\t\tmv /tmp/$$ $file\n\t\tquilt refresh\n\tdone\n\nThe script was run like this\n\n\tsh replace kmem_cache_t \"struct kmem_cache\"\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "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": "035ed7a49447bc8e15d4d9316fc6a359b2d94333",
      "tree": "2607c8c03a719e4aa4bbbe46ca4ee3eb490755b5",
      "parents": [
        "06a4bcae1ff2cd5f6f42bd74add85ec785a26343"
      ],
      "author": {
        "name": "Thomas Maier",
        "email": "balagi@justmail.de",
        "time": "Sun Oct 22 19:17:47 2006 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 01 14:52:01 2006 -0800"
      },
      "message": "sysfs: sysfs_write_file() writes zero terminated data\n\nsince most of the files in sysfs are text files,\nit would be nice, if the \"store\" function called\nduring sysfs_write_file() gets a zero terminated\nstring / data.\nThe current implementation seems not to ensure this.\n(But only if it is the first time the zeroed buffer\npage is allocated.)\n\nSo the buffer can be scanned by sscanf() easily,\nfor example.\n\nThis patch simply sets a \\0 char behind the\ndata in buffer-\u003epage.\n\nSigned-off-by: Thomas Maier \u003cbalagi@justmail.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "97a501849d60f3dbb8bfcd2300cf65dd5ebc0355",
      "tree": "512d61381ac414994052a13d746150535788a72a",
      "parents": [
        "e42344514c6e8ca7f5427da9b1407b56550dfa01"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Wed Sep 20 16:49:02 2006 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Oct 18 12:49:54 2006 -0700"
      },
      "message": "sysfs: update obsolete comment in sysfs_update_file\n\nAnd the obsolete comment should be updated (or totally removed).\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e42344514c6e8ca7f5427da9b1407b56550dfa01",
      "tree": "4dd26210cc0bb5147a455ef9b097266d0218c3b9",
      "parents": [
        "722385f75efd82d9f480f0765a1e97a4d83cac0d"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Wed Sep 20 16:38:00 2006 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Oct 18 12:49:54 2006 -0700"
      },
      "message": "sysfs: remove duplicated dput in sysfs_update_file\n\nFollowing function can drops d_count twice against one reference\nby lookup_one_len.\n\n\u003cSOURCE\u003e\n/**\n * sysfs_update_file - update the modified timestamp on an object attribute.\n * @kobj: object we\u0027re acting for.\n * @attr: attribute descriptor.\n */\nint sysfs_update_file(struct kobject * kobj, const struct attribute * attr)\n{\n        struct dentry * dir \u003d kobj-\u003edentry;\n        struct dentry * victim;\n        int res \u003d -ENOENT;\n\n        mutex_lock(\u0026dir-\u003ed_inode-\u003ei_mutex);\n        victim \u003d lookup_one_len(attr-\u003ename, dir, strlen(attr-\u003ename));\n        if (!IS_ERR(victim)) {\n                /* make sure dentry is really there */\n                if (victim-\u003ed_inode \u0026\u0026\n                    (victim-\u003ed_parent-\u003ed_inode \u003d\u003d dir-\u003ed_inode)) {\n                        victim-\u003ed_inode-\u003ei_mtime \u003d CURRENT_TIME;\n                        fsnotify_modify(victim);\n\n                        /**\n                         * Drop reference from initial sysfs_get_dentry().\n                         */\n                        dput(victim);\n                        res \u003d 0;\n                } else\n                        d_drop(victim);\n\n                /**\n                 * Drop the reference acquired from sysfs_get_dentry() above.\n                 */\n                dput(victim);\n        }\n        mutex_unlock(\u0026dir-\u003ed_inode-\u003ei_mutex);\n\n        return res;\n}\n\u003c/SOURCE\u003e\n\nPCI-hotplug (drivers/pci/hotplug/pci_hotplug_core.c) is only user of\nthis function. I confirmed that dentry of /sys/bus/pci/slots/XXX/*\nhave negative d_count value.\n\nThis patch removes unnecessary dput().\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nAcked-by: Maneesh Soni \u003cmaneesh@in.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5c1fdf4150c3b4e486020d0ada787469900d66ed",
      "tree": "548af19a34ebf554774e7373fbd7825cf30ab165",
      "parents": [
        "4779efca147475a708e84d902e096bbd20e613b7"
      ],
      "author": {
        "name": "Zach Brown",
        "email": "zach.brown@oracle.com",
        "time": "Tue Oct 03 01:16:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 03 08:04:19 2006 -0700"
      },
      "message": "[PATCH] pr_debug: sysfs: use size_t length modifier in pr_debug format arguments\n\nsysfs: use size_t length modifier in pr_debug format arguments\n\nSigned-off-by: Zach Brown \u003czach.brown@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d8c76e6f45c111c32a4b3e50a2adc9210737b0d8",
      "tree": "25521b59d48c6d8c9aec1af54dbe5008ad4b215b",
      "parents": [
        "9a53c3a783c2fa9b969628e65695c11c3e51e673"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Sat Sep 30 23:29:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:30 2006 -0700"
      },
      "message": "[PATCH] r/o bind mount prepwork: inc_nlink() helper\n\nThis is mostly included for parity with dec_nlink(), where we will have some\nmore hooks.  This one should stay pretty darn straightforward for now.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ba52de123d454b57369f291348266d86f4b35070",
      "tree": "3973f3f3c853b5857b6b64a027cadd4fe954e3b9",
      "parents": [
        "577c4eb09d1034d0739e3135fd2cff50588024be"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 27 01:50:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:18 2006 -0700"
      },
      "message": "[PATCH] inode-diet: Eliminate i_blksize from the inode structure\n\nThis eliminates the i_blksize field from struct inode.  Filesystems that want\nto provide a per-inode st_blksize can do so by providing their own getattr\nroutine instead of using the generic_fillattr() function.\n\nNote that some filesystems were providing pretty much random (and incorrect)\nvalues for i_blksize.\n\n[bunk@stusta.de: cleanup]\n[akpm@osdl.org: generic_fillattr() fix]\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "995982ca79d9262869513948ec7c540f32035491",
      "tree": "08c9a655a210388dce467400aa11484cfd2b230b",
      "parents": [
        "10188012daa586ae7fcbef272e4db4f404741adf"
      ],
      "author": {
        "name": "Randy.Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Mon Jul 10 23:05:25 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 25 21:08:39 2006 -0700"
      },
      "message": "sysfs_remove_bin_file: no return value, dump_stack on error\n\nMake sysfs_remove_bin_file() void.  If it detects an error,\nprintk the file name and call dump_stack().\n\nsysfs_hash_and_remove() now returns an error code indicating\nits success or failure so that sysfs_remove_bin_file() can\nknow success/failure.\n\nConvert the only driver that checked the return value of\nsysfs_remove_bin_file().\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ceeee1fb2897651b434547eb26d93e6d2ff5a1a5",
      "tree": "d841561babe6538e463069870166524c58e25014",
      "parents": [
        "6468b3afa7bcd9b0abc5997e5330d78f0bb6626a"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Apr 09 12:14:34 2002 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 25 21:08:36 2006 -0700"
      },
      "message": "SYSFS: allow sysfs_create_link to create symlinks in the root of sysfs\n\nThis is needed to make the compatible link for /sys/block in the future.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "eea3f8911f34001d2450a272c2d02f175279b53c",
      "tree": "0565109ca2020176b42e1f4bd2f14dc08aae84ba",
      "parents": [
        "ab7d7371acc68fa9130b079a9ba879191202035f"
      ],
      "author": {
        "name": "Juha Yrjölä",
        "email": "juha.yrjola@solidboot.com",
        "time": "Thu Aug 03 19:06:25 2006 +0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 25 21:08:36 2006 -0700"
      },
      "message": "sysfs: Make poll behaviour consistent\n\nWhen no events have been reported by sysfs_notify(), sd-\u003es_events\nwas previously set to zero.  The initial value for new readers is\nalso zero, so poll was blocking, regardless of whether the attribute\nwas read by the process or not.\n\nMake poll behave consistently by setting the initial value of\nsd-\u003es_events to non-zero.\n\nSigned-off-by: Juha Yrjola \u003cjuha.yrjola@solidboot.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "232ba9dbd68bb084d5d90c511f207d18eae614da",
      "tree": "257808053d298d4bf0fd169310e628cc1ed7209d",
      "parents": [
        "d579091b4385e9386e244622d593fe064aa8e8e7"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Wed Jul 12 09:03:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jul 12 12:52:54 2006 -0700"
      },
      "message": "[PATCH] lockdep: annotate the sysfs i_mutex to be a separate class\n\nsysfs has a different i_mutex lock order behavior for i_mutex than the\nother filesystems; sysfs i_mutex is called in many places with subsystem\nlocks held.  At the same time, many of the VFS locking rules do not apply\nto sysfs at all (cross directory rename for example).  To untangle this\nmess (which gives false positives in lockdep), we\u0027re giving sysfs inodes\ntheir own class for i_mutex.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f5e54d6e53a20cef45af7499e86164f0e0d16bb2",
      "tree": "cb92acbb89b84796261bf5563182261ec5654127",
      "parents": [
        "a052b68b1e7a31f1e6a721290035e9deb0f6fed9"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Jun 28 04:26:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jun 28 14:59:04 2006 -0700"
      },
      "message": "[PATCH] mark address_space_operations const\n\nSame as with already do with the file operations: keep them in .rodata and\nprevents people from doing runtime patching.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1bfba4e8ea0e555e3a0296051517d96253660ccc",
      "tree": "48ced9016b5c08f1be217677c25e6879c07b5278",
      "parents": [
        "a7addcea6ac7c0e9733a48cda06ca0880f116a48"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Mon Jun 26 00:24:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:17 2006 -0700"
      },
      "message": "[PATCH] core: use list_move()\n\nThis patch converts the combination of list_del(A) and list_add(A, B) to\nlist_move(A, B).\n\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Ram Pai \u003clinuxram@us.ibm.com\u003e\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "454e2398be9b9fa30433fccc548db34d19aa9958",
      "tree": "1f61cb0c3716a33b661cfc8977e9beeb480a322c",
      "parents": [
        "1ad5544098a69d7dc1fa508cbb17e13a7a952fd8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jun 23 02:02:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:45 2006 -0700"
      },
      "message": "[PATCH] VFS: Permit filesystem to override root dentry on mount\n\nExtend the get_sb() filesystem operation to take an extra argument that\npermits the VFS to pass in the target vfsmount that defines the mountpoint.\n\nThe filesystem is then required to manually set the superblock and root dentry\npointers.  For most filesystems, this should be done with simple_set_mnt()\nwhich will set the superblock pointer and then set the root dentry to the\nsuperblock\u0027s s_root (as per the old default behaviour).\n\nThe get_sb() op now returns an integer as there\u0027s now no need to return the\nsuperblock pointer.\n\nThis patch permits a superblock to be implicitly shared amongst several mount\npoints, such as can be done with NFS to avoid potential inode aliasing.  In\nsuch a case, simple_set_mnt() would not be called, and instead the mnt_root\nand mnt_sb would be set directly.\n\nThe patch also makes the following changes:\n\n (*) the get_sb_*() convenience functions in the core kernel now take a vfsmount\n     pointer argument and return an integer, so most filesystems have to change\n     very little.\n\n (*) If one of the convenience function is not used, then get_sb() should\n     normally call simple_set_mnt() to instantiate the vfsmount. This will\n     always return 0, and so can be tail-called from get_sb().\n\n (*) generic_shutdown_super() now calls shrink_dcache_sb() to clean up the\n     dcache upon superblock destruction rather than shrink_dcache_anon().\n\n     This is required because the superblock may now have multiple trees that\n     aren\u0027t actually bound to s_root, but that still need to be cleaned up. The\n     currently called functions assume that the whole tree is rooted at s_root,\n     and that anonymous dentries are not the roots of trees which results in\n     dentries being left unculled.\n\n     However, with the way NFS superblock sharing are currently set to be\n     implemented, these assumptions are violated: the root of the filesystem is\n     simply a dummy dentry and inode (the real inode for \u0027/\u0027 may well be\n     inaccessible), and all the vfsmounts are rooted on anonymous[*] dentries\n     with child trees.\n\n     [*] Anonymous until discovered from another tree.\n\n (*) The documentation has been adjusted, including the additional bit of\n     changing ext2_* into foo_* in the documentation.\n\n[akpm@osdl.org: convert ipath_fs, do other stuff]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Nathan Scott \u003cnathans@sgi.com\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4508a7a734b111b8b7e39986237d84acb1168dd0",
      "tree": "8fe535fbb97d619c9069da26367ead03d1a294aa",
      "parents": [
        "f043ca43c1ae354346f72dc5826d820d5619f0b2"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Mon Mar 20 17:53:53 2006 +1100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 14 11:41:24 2006 -0700"
      },
      "message": "[PATCH] sysfs: Allow sysfs attribute files to be pollable\n\nIt works like this:\n  Open the file\n  Read all the contents.\n  Call poll requesting POLLERR or POLLPRI (so select/exceptfds works)\n  When poll returns,\n     close the file and go to top of loop.\n   or lseek to start of file and go back to the \u0027read\u0027.\n\nEvents are signaled by an object manager calling\n   sysfs_notify(kobj, dir, attr);\n\nIf the dir is non-NULL, it is used to find a subdirectory which\ncontains the attribute (presumably created by sysfs_create_group).\n\nThis has a cost of one int  per attribute, one wait_queuehead per kobject,\none int per open file.\n\nThe name \"sysfs_notify\" may be confused with the inotify\nfunctionality.  Maybe it would be nice to support inotify for sysfs\nattributes as well?\n\nThis patch also uses sysfs_notify to allow /sys/block/md*/md/sync_action\nto be pollable\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "6e0dd741a89be35defa05bd79f4211c5a2762825",
      "tree": "565d0328e9e353884e9d5785590e6d4be99e0964",
      "parents": [
        "597a7679dd83691be2f3a53e1f3f915b4a7f6eba"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 31 15:37:06 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Apr 02 13:03:31 2006 -0700"
      },
      "message": "[PATCH] sysfs: zero terminate sysfs write buffers\n\nNo one should be writing a PAGE_SIZE worth of data to a normal sysfs\nfile, so properly terminate the buffer.\n\nThanks to Al Viro for pointing out my supidity here.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a580290c3e64bb695158a090d02d1232d9609311",
      "tree": "70f29239b9a206a9afb77ddff35fc47b5b248866",
      "parents": [
        "5d9428de1a9785f10a4339f80b717be665ba51c7"
      ],
      "author": {
        "name": "Martin Waitz",
        "email": "tali@admingilde.org",
        "time": "Sun Apr 02 13:59:55 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun Apr 02 13:59:55 2006 +0200"
      },
      "message": "Documentation: fix minor kernel-doc warnings\n\nThis patch updates the comments to match the actual code.\n\nSigned-off-by: Martin Waitz \u003ctali@admingilde.org\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "99cee0cd7560fc4e7f3646ee18d90e328bd1cb32",
      "tree": "6c36d8c3b7071b2fad88e4127ef02ac8d374b0db",
      "parents": [
        "5df0d312413d920628f149421d7b0a3994684620"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Sat Apr 01 01:18:38 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Apr 01 01:18:38 2006 +0200"
      },
      "message": "BUG_ON() Conversion in fs/sysfs/\n\nthis changes if() BUG(); constructs to BUG_ON() which is\ncleaner, contains unlikely() and can better optimized away.\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "4b6f5d20b04dcbc3d888555522b90ba6d36c4106",
      "tree": "420f271eaef7d3def7d4433b151c3cb6d7a54770",
      "parents": [
        "99ac48f54a91d02140c497edc31dc57d4bc5c85d"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Tue Mar 28 01:56:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:06 2006 -0800"
      },
      "message": "[PATCH] Make most file operations structs in fs/ const\n\nThis is a conversion to make the various file_operations structs in fs/\nconst.  Basically a regexp job, with a few manual fixups\n\nThe goal is both to increase correctness (harder to accidentally write to\nshared datastructures) and reducing the false sharing of cachelines with\nthings that get dirty in .data (while .rodata is nicely read only and thus\ncache clean)\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b3229087c5e08589cea4f5040dab56f7dc11332a",
      "tree": "5a9568e4d041370b453f6074015ff1081a045c26",
      "parents": [
        "832c57e9afa7a263bb2f8ee6d04d527ef6709aae"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Mar 16 15:44:26 2006 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Mar 20 13:42:59 2006 -0800"
      },
      "message": "[PATCH] sysfs: fix a kobject leak in sysfs_add_link on the error path\n\nAs pointed out by Oliver Neukum.\n\nCc: Maneesh Soni \u003cmaneesh@in.ibm.com\u003e\nCc: Oliver Neukum \u003coliver@neukum.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "832c57e9afa7a263bb2f8ee6d04d527ef6709aae",
      "tree": "dbc11a1979d582bd15a12353a2e6f421d3445522",
      "parents": [
        "a29d642a4aa99c5234314ab2523281139226c231"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Mar 16 11:23:21 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Mar 20 13:42:59 2006 -0800"
      },
      "message": "[PATCH] sysfs: don\u0027t export dir symbols\n\nThese functions should only be used by the kobject core, and if any\ndriver tries to use them, bad things happen.  Unexport them to try to\nprevent this from happening.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "c516865cfbac0d862d4888df91793ad1e74ffd58",
      "tree": "432024125976af3e6c87ae5b9e64b6f1cc291f70",
      "parents": [
        "22f98c0cd7e003b896ee52ded945081307118745"
      ],
      "author": {
        "name": "Maneesh Soni",
        "email": "maneesh@in.ibm.com",
        "time": "Thu Mar 09 19:40:14 2006 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Mar 20 13:42:59 2006 -0800"
      },
      "message": "[PATCH] sysfs: fix problem with duplicate sysfs directories and files\n\nThe following patch checks for existing sysfs_dirent before\npreparing new one while creating sysfs directories and files.\n\nSigned-off-by: Maneesh Soni \u003cmaneesh@in.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "58d49283b87751f7af75e021a629dcddb027e8eb",
      "tree": "b553643f22a4a216e06c5ab1711a88d3df1e1e6a",
      "parents": [
        "03e88ae1b13dfdc8bbaa59b8198e1ca53aad12ac"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Wed Feb 22 11:18:15 2006 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Mar 20 13:42:58 2006 -0800"
      },
      "message": "[PATCH] sysfs: kzalloc conversion\n\nthis converts fs/sysfs to kzalloc() usage.\ncompile tested with make allyesconfig\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "641e6f30a095f3752ed84fd9d279382f5d3ef4c1",
      "tree": "59b57c14f9249488ded6814de4512f7f9949289f",
      "parents": [
        "c4a1745aa09fc110afdefea0e5d025043e348bae"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Mar 16 15:44:26 2006 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Mar 20 13:42:57 2006 -0800"
      },
      "message": "[PATCH] sysfs: sysfs_remove_dir() needs to invalidate the dentry\n\nWhen calling sysfs_remove_dir() don\u0027t allow any further sysfs functions\nto work for this kobject anymore.  This fixes a nasty USB cdc-acm oops\non disconnect.\n\nMany thanks to Bob Copeland and Paul Fulghum for taking the time to\ntrack this down.\n\nCc: Bob Copeland \u003cemail@bobcopeland.com\u003e\nCc: Paul Fulghum \u003cpaulkf@microgate.com\u003e\nCc: Maneesh Soni \u003cmaneesh@in.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "16f7e0fe2ecc30f30652e8185e1772cdebe39109",
      "tree": "e668703267c7b02f1af3cc1581bb4366a5370fdd",
      "parents": [
        "c59ede7b78db329949d9cdcd7064e22d357560ef"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Wed Jan 11 12:17:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 11 18:42:13 2006 -0800"
      },
      "message": "[PATCH] capable/capability.h (fs/)\n\nfs: Use \u003clinux/capability.h\u003e where capable() is used.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nAcked-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1b1dcc1b57a49136f118a0f16367256ff9994a69",
      "tree": "b0b36d4f41d28c9d6514fb309d33c1a084d6309b",
      "parents": [
        "794ee1baee1c26be40410233e6c20bceb2b03c08"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@sgi.com",
        "time": "Mon Jan 09 15:59:24 2006 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@hera.kernel.org",
        "time": "Mon Jan 09 15:59:24 2006 -0800"
      },
      "message": "[PATCH] mutex subsystem, semaphore to mutex: VFS, -\u003ei_sem\n\nThis patch converts the inode semaphore to a mutex. I have tested it on\nXFS and compiled as much as one can consider on an ia64. Anyway your\nluck with it might be different.\n\nModified-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n(finished the conversion)\n\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e80a5dea8e056d8f398be1900d61c581d379f02f",
      "tree": "97d6e0d1c669987c54961bec49347b3717e55d52",
      "parents": [
        "8218ef80932aa7e5e3d20c929a640c8d82133a9a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 23 09:15:44 2005 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 04 16:18:09 2006 -0800"
      },
      "message": "[PATCH] sysfs: handle failures in sysfs_make_dirent\n\nI noticed that if sysfs_make_dirent fails to allocate the sd, then a\nnull will be passed to sysfs_put.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "36676bcbf9f6bcbea9d06e67ee8d04eacde54952",
      "tree": "f31e9a79a643cfba649637164a559d94b4183ccc",
      "parents": [
        "657390d25d4241705cb4fc5b3b4ba5b30575dc17"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@SteelEye.com",
        "time": "Fri Aug 26 18:34:17 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Aug 26 19:37:13 2005 -0700"
      },
      "message": "[PATCH] Fix oops in sysfs_hash_and_remove_file()\n\nThe problem arises if an entity in sysfs is created and removed without\never having been made completely visible.  In SCSI this is triggered by\nremoving a device while it\u0027s initialising.\n\nThe problem appears to be that because it was never made visible in sysfs,\nthe sysfs dentry has a null d_inode which oopses when a reference is made\nto it.  The solution is simply to check d_inode and assume the object was\nnever made visible (and thus doesn\u0027t need deleting) if it\u0027s NULL.\n\n(akpm: possibly a stopgap for 2.6.13 scsi problems.  May not be the\nlong-term fix)\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cc314eef0128a807e50fa03baf2d0abc0647952c",
      "tree": "8e38db1be28006894915273b3f3cb3beaa6efda3",
      "parents": [
        "2fb1e3086df9b454538491fba8121298da37cd23"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Aug 19 18:02:56 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Aug 19 18:02:56 2005 -0700"
      },
      "message": "Fix nasty ncpfs symlink handling bug.\n\nThis bug could cause oopses and page state corruption, because ncpfs\nused the generic page-cache symlink handlign functions.  But those\nfunctions only work if the page cache is guaranteed to be \"stable\", ie a\npage that was installed when the symlink walk was started has to still\nbe installed in the page cache at the end of the walk.\n\nWe could have fixed ncpfs to not use the generic helper routines, but it\nis in many ways much cleaner to instead improve on the symlink walking\nhelper routines so that they don\u0027t require that absolute stability.\n\nWe do this by allowing \"follow_link()\" to return a error-pointer as a\ncookie, which is fed back to the cleanup \"put_link()\" routine.  This\nalso simplifies NFS symlink handling.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9ca1eb3282b6050c295adb296761f8d26baf4ca5",
      "tree": "1750560628f01102186150f62791703ea3bde6e8",
      "parents": [
        "bc062b1b5c6bef4e3a29c7fda57967251d12beb0"
      ],
      "author": {
        "name": "Maneesh Soni",
        "email": "maneesh@in.ibm.com",
        "time": "Fri Jul 29 12:14:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 29 13:12:49 2005 -0700"
      },
      "message": "[PATCH] sysfs: fix sysfs_setattr\n\no sysfs_dirent\u0027s s_mode field should also be updated in sysfs_setattr(), else\n  there could be inconsistency in the two fields. s_mode is used while\n  -\u003ereaddir so as not to bring in the inode to cache.\n\nSigned-off-by: Maneesh Soni \u003cmaneesh@in.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bc062b1b5c6bef4e3a29c7fda57967251d12beb0",
      "tree": "57dceb8371d0e83e7772b3deeb4a9e8dd2ae6b03",
      "parents": [
        "30d07a22a19329c89628a2057b0120245c482c9e"
      ],
      "author": {
        "name": "Maneesh Soni",
        "email": "maneesh@in.ibm.com",
        "time": "Fri Jul 29 12:13:35 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 29 13:12:49 2005 -0700"
      },
      "message": "[PATCH] sysfs: fix sysfs_chmod_file\n\no sysfs_chmod_file() must update the new iattr field in sysfs_dirent else\n  the mode change will not be persistent in case of inode evacuation from\n  cache.\n\nSigned-off-by: Maneesh Soni \u003cmaneesh@in.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0eeca28300df110bd6ed54b31193c83b87921443",
      "tree": "7db42d8a18d80eca538f5b7d25e0532b8fa38b85",
      "parents": [
        "bd4c625c061c2a38568d0add3478f59172455159"
      ],
      "author": {
        "name": "Robert Love",
        "email": "rml@novell.com",
        "time": "Tue Jul 12 17:06:03 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 12 20:38:38 2005 -0700"
      },
      "message": "[PATCH] inotify\n\ninotify is intended to correct the deficiencies of dnotify, particularly\nits inability to scale and its terrible user interface:\n\n        * dnotify requires the opening of one fd per each directory\n          that you intend to watch. This quickly results in too many\n          open files and pins removable media, preventing unmount.\n        * dnotify is directory-based. You only learn about changes to\n          directories. Sure, a change to a file in a directory affects\n          the directory, but you are then forced to keep a cache of\n          stat structures.\n        * dnotify\u0027s interface to user-space is awful.  Signals?\n\ninotify provides a more usable, simple, powerful solution to file change\nnotification:\n\n        * inotify\u0027s interface is a system call that returns a fd, not SIGIO.\n\t  You get a single fd, which is select()-able.\n        * inotify has an event that says \"the filesystem that the item\n          you were watching is on was unmounted.\"\n        * inotify can watch directories or files.\n\nInotify is currently used by Beagle (a desktop search infrastructure),\nGamin (a FAM replacement), and other projects.\n\nSee Documentation/filesystems/inotify.txt.\n\nSigned-off-by: Robert Love \u003crml@novell.com\u003e\nCc: John McCutchan \u003cttb@tentacle.dhs.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "3d41088fa327782b14b5659dbcfff62ec704c23c"
}
