)]}'
{
  "log": [
    {
      "commit": "7ca7e564e049d8b350ec9d958ff25eaa24226352",
      "tree": "e3c1397dc898dbd7c685c6a052425e7346eb79d1",
      "parents": [
        "d2b20b11547cefc89d6c81937e81afaf3c62808b"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Thu Oct 18 23:40:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:44 2007 -0700"
      },
      "message": "ipc: store ipcs into IDRs\n\nThis patch introduces ipcs storage into IDRs. The main changes are:\n  . This ipc_ids structure is changed: the entries array is changed into a\n    root idr structure.\n  . The grow_ary() routine is removed: it is not needed anymore when adding\n    an ipc structure, since we are now using the IDR facility.\n  . The ipc_rmid() routine interface is changed:\n       . there is no need for this routine to return the pointer passed in as\n         argument: it is now declared as a void\n       . since the id is now part of the kern_ipc_perm structure, no need to\n         have it as an argument to the routine\n\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "470fd646444c65a5d062a371f5ec8dcedee61239",
      "tree": "59b923486d4a95efa07c4b2ad7cb0b1fcc3f3c88",
      "parents": [
        "bd89aabc6761de1c35b154fe6f914a445d301510"
      ],
      "author": {
        "name": "Cliff Wickman",
        "email": "cpw@sgi.com",
        "time": "Thu Oct 18 23:40:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:44 2007 -0700"
      },
      "message": "hotplug cpu: migrate a task within its cpuset\n\nWhen a cpu is disabled, move_task_off_dead_cpu() is called for tasks that have\nbeen running on that cpu.\n\nCurrently, such a task is migrated:\n 1) to any cpu on the same node as the disabled cpu, which is both online\n    and among that task\u0027s cpus_allowed\n 2) to any cpu which is both online and among that task\u0027s cpus_allowed\n\nIt is typical of a multithreaded application running on a large NUMA system to\nhave its tasks confined to a cpuset so as to cluster them near the memory that\nthey share.  Furthermore, it is typical to explicitly place such a task on a\nspecific cpu in that cpuset.  And in that case the task\u0027s cpus_allowed\nincludes only a single cpu.\n\nThis patch would insert a preference to migrate such a task to some cpu within\nits cpuset (and set its cpus_allowed to its entire cpuset).\n\nWith this patch, migrate the task to:\n 1) to any cpu on the same node as the disabled cpu, which is both online\n    and among that task\u0027s cpus_allowed\n 2) to any online cpu within the task\u0027s cpuset\n 3) to any cpu which is both online and among that task\u0027s cpus_allowed\n\nIn order to do this, move_task_off_dead_cpu() must make a call to\ncpuset_cpus_allowed_locked(), a new subset of cpuset_cpus_allowed(), that will\nnot block.  (name change - per Oleg\u0027s suggestion)\n\nCalls are made to cpuset_lock() and cpuset_unlock() in migration_call() to set\nthe cpuset mutex during the whole migrate_live_tasks() and\nmigrate_dead_tasks() procedure.\n\n[akpm@linux-foundation.org: build fix]\n[pj@sgi.com: Fix indentation and spacing]\nSigned-off-by: Cliff Wickman \u003ccpw@sgi.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ba25f9dcc4ea6e30839fcab5a5516f2176d5bfed",
      "tree": "3123c03b25dd5c0cd24b6ab4fc16731217838157",
      "parents": [
        "9a2e70572e94e21e7ec4186702d045415422bda0"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:43 2007 -0700"
      },
      "message": "Use helpers to obtain task pid in printks\n\nThe task_struct-\u003epid member is going to be deprecated, so start\nusing the helpers (task_pid_nr/task_pid_vnr/task_pid_nr_ns) in\nthe kernel.\n\nThe first thing to start with is the pid, printed to dmesg - in\nthis case we may safely use task_pid_nr(). Besides, printks produce\nmore (much more) than a half of all the explicit pid usage.\n\n[akpm@linux-foundation.org: git-drm went and changed lots of stuff]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a2e70572e94e21e7ec4186702d045415422bda0",
      "tree": "a6cd54dc559cbf6840dac4077f507a961486e21b",
      "parents": [
        "270f722d4d5f94b02fd48eed47e57917ab00a858"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:43 2007 -0700"
      },
      "message": "Isolate the explicit usage of signal-\u003epgrp\n\nThe pgrp field is not used widely around the kernel so it is now marked as\ndeprecated with appropriate comment.\n\nThe initialization of INIT_SIGNALS is trimmed because\na) they are set to 0 automatically;\nb) gcc cannot properly initialize two anonymous (the second one\n   is the one with the session) unions. In this particular case\n   to make it compile we\u0027d have to add some field initialized\n   right before the .pgrp.\n\nThis is the same patch as the 1ec320afdc9552c92191d5f89fcd1ebe588334ca one\n(from Cedric), but for the pgrp field.\n\nSome progress report:\n\nWe have to deprecate the pid, tgid, session and pgrp fields on struct\ntask_struct and struct signal_struct.  The session and pgrp are already\ndeprecated.  The tgid value is close to being such - the worst known usage\nin in fs/locks.c and audit code.  The pid field deprecation is mainly\nblocked by numerous printk-s around the kernel that print the tsk-\u003epid to\nlog.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "14ed9d23aa9acd79210a92ac561a728b42a8e281",
      "tree": "2a8aca939e4f4376b26485b518d55d152dd45e48",
      "parents": [
        "1cafc30f43696e8b1b6f7ef4fed354cb3e3af2e6"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Oct 18 23:40:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:42 2007 -0700"
      },
      "message": "remove BITS_TO_TYPE macro\n\nremove BITS_TO_TYPE macro\n\nI realized, that it is actually the same as DIV_ROUND_UP, use it instead.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Jiri Slaby \u003cjirislaby@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": "93043ece030af58529e3e1367502461d265ab4e2",
      "tree": "48add1b72e3ebd07866089c88ad6122422f1da55",
      "parents": [
        "7b19ada2ed3c1eccb9fe94d74b05e1428224663d"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Oct 18 23:40:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:42 2007 -0700"
      },
      "message": "define global BIT macro\n\ndefine global BIT macro\n\nmove all local BIT defines to the new globally define macro.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Kumar Gala \u003cgalak@gate.crashing.org\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7b19ada2ed3c1eccb9fe94d74b05e1428224663d",
      "tree": "a0c5975ce5236ff4023b92d431bd0a8fa321c6ce",
      "parents": [
        "d05be13bcc6ec615fb2e9556a9b85d52800669b6"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Oct 18 23:40:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:42 2007 -0700"
      },
      "message": "get rid of input BIT* duplicate defines\n\nget rid of input BIT* duplicate defines\n\nuse newly global defined macros for input layer. Also remove includes of\ninput.h from non-input sources only for BIT macro definiton. Define the\nmacro temporarily in local manner, all those local definitons will be\nremoved further in this patchset (to not break bisecting).\nBIT macro will be globally defined (1\u003c\u003cx)\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: \u003cdtor@mail.ru\u003e\nAcked-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: \u003clenb@kernel.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nCc: \u003cperex@suse.cz\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nCc: \u003cvernux@us.ibm.com\u003e\nCc: \u003cmalattia@linux.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d05be13bcc6ec615fb2e9556a9b85d52800669b6",
      "tree": "e75cee7b28e2a22d94f29fdd44746ea14f4fc6b8",
      "parents": [
        "5159f40742508e03aed4273a9b3ef06f4e71929f"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Oct 18 23:40:31 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:42 2007 -0700"
      },
      "message": "define first set of BIT* macros\n\ndefine first set of BIT* macros\n\n- move BITOP_MASK and BITOP_WORD from asm-generic/bitops/atomic.h to\n  include/linux/bitops.h and rename it to BIT_MASK and BIT_WORD\n- move BITS_TO_LONGS and BITS_PER_BYTE to bitops.h too and allow easily\n  define another BITS_TO_something (e.g. in event.c) by BITS_TO_TYPE macro\nRemaining (and common) BIT macro will be defined after all occurences and\nconflicts will be sorted out in the patches.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@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": "1977f032722c27ee3730284582fd3991ad9ac81b",
      "tree": "00ba5692a697a387399131850c56e01345c7cace",
      "parents": [
        "1276b103c20603835d9b903cae099125e8c2c5a3"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Oct 18 23:40:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:41 2007 -0700"
      },
      "message": "remove asm/bitops.h includes\n\nremove asm/bitops.h includes\n\nincluding asm/bitops directly may cause compile errors. don\u0027t include it\nand include linux/bitops instead. next patch will deny including asm header\ndirectly.\n\nCc: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jiri Slaby \u003cjirislaby@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": "bc552f77157d1bae79d0d3a5541da9579c39cb70",
      "tree": "3874dee446b831d1ef6fa3ff81ce941138604b0a",
      "parents": [
        "b2afe3317099afe0843e3cece6be60664e6033ea"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Oct 18 23:40:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:41 2007 -0700"
      },
      "message": "Misc: phantom, improved data passing\n\nThis new version guarantees amb_bit switch in small enough intervals, so that\nthe device won\u0027t stop working in the middle of a movement anymore.  However it\npreserves old (openhaptics) functionality.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@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": "8707d8b8c0cbdf4441507f8dded194167da896c7",
      "tree": "1e9ac6b15027bd55263378e551c1595a937d66d6",
      "parents": [
        "020958b6272882c1a8bfbe5f3e0927f3845c2698"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Thu Oct 18 23:40:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:41 2007 -0700"
      },
      "message": "Fix cpusets update_cpumask\n\nCause writes to cpuset \"cpus\" file to update cpus_allowed for member tasks:\n\n- collect batches of tasks under tasklist_lock and then call\n  set_cpus_allowed() on them outside the lock (since this can sleep).\n\n- add a simple generic priority heap type to allow efficient collection\n  of batches of tasks to be processed without duplicating or missing any\n  tasks in subsequent batches.\n\n- make \"cpus\" file update a no-op if the mask hasn\u0027t changed\n\n- fix race between update_cpumask() and sched_setaffinity() by making\n  sched_setaffinity() post-check that it\u0027s not running on any cpus outside\n  cpuset_cpus_allowed().\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "029190c515f15f512ac85de8fc686d4dbd0ae731",
      "tree": "a946f9223d17e945141fef81f94a75b38e2cc6ef",
      "parents": [
        "2f2a3a46fcafa7a12d61454f67f932dfe7d84c60"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Thu Oct 18 23:40:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:41 2007 -0700"
      },
      "message": "cpuset sched_load_balance flag\n\nAdd a new per-cpuset flag called \u0027sched_load_balance\u0027.\n\nWhen enabled in a cpuset (the default value) it tells the kernel scheduler\nthat the scheduler should provide the normal load balancing on the CPUs in\nthat cpuset, sometimes moving tasks from one CPU to a second CPU if the\nsecond CPU is less loaded and if that task is allowed to run there.\n\nWhen disabled (write \"0\" to the file) then it tells the kernel scheduler\nthat load balancing is not required for the CPUs in that cpuset.\n\nNow even if this flag is disabled for some cpuset, the kernel may still\nhave to load balance some or all the CPUs in that cpuset, if some\noverlapping cpuset has its sched_load_balance flag enabled.\n\nIf there are some CPUs that are not in any cpuset whose sched_load_balance\nflag is enabled, the kernel scheduler will not load balance tasks to those\nCPUs.\n\nMoreover the kernel will partition the \u0027sched domains\u0027 (non-overlapping\nsets of CPUs over which load balancing is attempted) into the finest\ngranularity partition that it can find, while still keeping any two CPUs\nthat are in the same shed_load_balance enabled cpuset in the same element\nof the partition.\n\nThis serves two purposes:\n 1) It provides a mechanism for real time isolation of some CPUs, and\n 2) it can be used to improve performance on systems with many CPUs\n    by supporting configurations in which load balancing is not done\n    across all CPUs at once, but rather only done in several smaller\n    disjoint sets of CPUs.\n\nThis mechanism replaces the earlier overloading of the per-cpuset\nflag \u0027cpu_exclusive\u0027, which overloading was removed in an earlier\npatch: cpuset-remove-sched-domain-hooks-from-cpusets\n\nSee further the Documentation and comments in the code itself.\n\n[akpm@linux-foundation.org: don\u0027t be weird]\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2f2a3a46fcafa7a12d61454f67f932dfe7d84c60",
      "tree": "cd4fe3aed382a0557cdfb9fa0b7a3b950a01a767",
      "parents": [
        "8990571eb573032c1192440febb17132074c5575"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:19 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:41 2007 -0700"
      },
      "message": "Uninline the task_xid_nr_ns() calls\n\nSince these are expanded into call to pid_nr_ns() anyway, it\u0027s OK to move\nthe whole routine out-of-line.  This is a cheap way to save ~100 bytes from\nvmlinux.  Together with the previous two patches, it saves half-a-kilo from\nthe vmlinux.\n\nUn-inline other (currently inlined) functions must be done with additional\nperformance testing.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8990571eb573032c1192440febb17132074c5575",
      "tree": "c5cceff1dbac91ca12917e12f5768a5ab332ec75",
      "parents": [
        "bac0abd6174e427404dd197cdbefece31e97329b"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:19 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:41 2007 -0700"
      },
      "message": "Uninline find_pid etc set of functions\n\nThe find_pid/_vpid/_pid_ns functions are used to find the struct pid by its\nid, depending on whic id - global or virtual - is used.\n\nThe find_vpid() is a macro that pushes the current-\u003ensproxy-\u003epid_ns on the\nstack to call another function - find_pid_ns().  It turned out, that this\ndereference together with the push itself cause the kernel text size to\ngrow too much.\n\nMove all these out-of-line.  Together with the previous patch this saves a\nbit less that 400 bytes from .text section.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bac0abd6174e427404dd197cdbefece31e97329b",
      "tree": "68ed6bd8619552c921c9fb99e83cb04fcb235a39",
      "parents": [
        "19b9b9b54e5f115907efd56be2c3799775a46561"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:40 2007 -0700"
      },
      "message": "Isolate some explicit usage of task-\u003etgid\n\nWith pid namespaces this field is now dangerous to use explicitly, so hide\nit behind the helpers.\n\nAlso the pid and pgrp fields o task_struct and signal_struct are to be\ndeprecated.  Unfortunately this patch cannot be sent right now as this\nleads to tons of warnings, so start isolating them, and deprecate later.\n\nActually the p-\u003etgid \u003d\u003d pid has to be changed to has_group_leader_pid(),\nbut Oleg pointed out that in case of posix cpu timers this is the same, and\nthread_group_leader() is more preferable.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "19b9b9b54e5f115907efd56be2c3799775a46561",
      "tree": "44340df34980166373f2a57c1283c26026682a95",
      "parents": [
        "228ebcbe634a30aec35132ea4375721bcc41bec0"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:40 2007 -0700"
      },
      "message": "pid namespaces: remove the struct pid unneeded fields\n\nSince we\u0027ve switched from using pid-\u003enr to pid-\u003eupids-\u003enr some\nfields on struct pid are no longer needed\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "228ebcbe634a30aec35132ea4375721bcc41bec0",
      "tree": "a875976fd5bde6e2f931aa235c34c88a2738493f",
      "parents": [
        "b488893a390edfe027bae7a46e9af8083e740668"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:40 2007 -0700"
      },
      "message": "Uninline find_task_by_xxx set of functions\n\nThe find_task_by_something is a set of macros are used to find task by pid\ndepending on what kind of pid is proposed - global or virtual one.  All of\nthem are wrappers above the most generic one - find_task_by_pid_type_ns() -\nand just substitute some args for it.\n\nIt turned out, that dereferencing the current-\u003ensproxy-\u003epid_ns construction\nand pushing one more argument on the stack inline cause kernel text size to\ngrow.\n\nThis patch moves all this stuff out-of-line into kernel/pid.c.  Together\nwith the next patch it saves a bit less than 400 bytes from the .text\nsection.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3eb07c8c8adb6f0572baba844ba2d9e501654316",
      "tree": "5c3d527f6b003b316d41119320ebd5c589c8afd0",
      "parents": [
        "0fbc26a6cfab9f377e82e28225f2c0c6b4661e5c"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@us.ibm.com",
        "time": "Thu Oct 18 23:40:13 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:40 2007 -0700"
      },
      "message": "pid namespaces: destroy pid namespace on init\u0027s death\n\nTerminate all processes in a namespace when the reaper of the namespace is\nexiting.  We do this by walking the pidmap of the namespace and sending\nSIGKILL to all processes.\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6f4e643353aea52d80f33960bd88954a7c074f0f",
      "tree": "5b7e452f7e31be89f06a52a2c077183b7fe74c3b",
      "parents": [
        "130f77ecb2e7d5ac3e53e620f55e374f4a406b20"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:40 2007 -0700"
      },
      "message": "pid namespaces: initialize the namespace\u0027s proc_mnt\n\nThe namespace\u0027s proc_mnt must be kern_mount-ed to make this pointer always\nvalid, independently of whether the user space mounted the proc or not.  This\nsolves raced in proc_flush_task, etc.  with the proc_mnt switching from NULL\nto not-NULL.\n\nThe initialization is done after the init\u0027s pid is created and hashed to make\nproc_get_sb() finr it and get for root inode.\n\nSice the namespace holds the vfsmnt, vfsmnt holds the superblock and the\nsuperblock holds the namespace we must explicitly break this circle to destroy\nall the stuff.  This is done after the init of the namespace dies.  Running a\nfew steps forward - when init exits it will kill all its children, so no\nproc_mnt will be needed after its death.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "30e49c263e36341b60b735cbef5ca37912549264",
      "tree": "103e74c41db97476ae38cdd4ffc18e4da03f28e8",
      "parents": [
        "b461cc03828c743aed6b3855b9ab0d39a9d54ec5"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:39 2007 -0700"
      },
      "message": "pid namespaces: allow cloning of new namespace\n\nWhen clone() is invoked with CLONE_NEWPID, create a new pid namespace and then\ncreate a new struct pid for the new process.  Allocate pid_t\u0027s for the new\nprocess in the new pid namespace and all ancestor pid namespaces.  Make the\nnewly cloned process the session and process group leader.\n\nSince the active pid namespace is special and expected to be the first entry\nin pid-\u003eupid_list, preserve the order of pid namespaces.\n\nThe size of \u0027struct pid\u0027 is dependent on the the number of pid namespaces the\nprocess exists in, so we use multiple pid-caches\u0027.  Only one pid cache is\ncreated during system startup and this used by processes that exist only in\ninit_pid_ns.\n\nWhen a process clones its pid namespace, we create additional pid caches as\nnecessary and use the pid cache to allocate \u0027struct pids\u0027 for that depth.\n\nNote, that with this patch the newly created namespace won\u0027t work, since the\nrest of the kernel still uses global pids, but this is to be fixed soon.  Init\npid namespace still works.\n\n[oleg@tv-sign.ru: merge fix]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b461cc03828c743aed6b3855b9ab0d39a9d54ec5",
      "tree": "b39ff42df1564adf800d9c4a01ba78ed14f8f9a2",
      "parents": [
        "07543f5c75cee744b791cf7716c69571486fe753"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:39 2007 -0700"
      },
      "message": "pid namespaces: miscellaneous preparations for pid namespaces\n\n* remove pid.h from pid_namespaces.h;\n* rework is_(cgroup|global)_init;\n* optimize (get|put)_pid_ns for init_pid_ns;\n* declare task_child_reaper to return actual reaper.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "07543f5c75cee744b791cf7716c69571486fe753",
      "tree": "3e0d78f869114e5a6e2629fc157ee8f9023316bd",
      "parents": [
        "425fb2b4bf5dde24be4a82e9a2c344bb49ac92e4"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:39 2007 -0700"
      },
      "message": "pid namespaces: make proc have multiple superblocks - one for each namespace\n\nEach pid namespace have to be visible through its own proc mount.  Thus we\nneed to have per-namespace proc trees with their own superblocks.\n\nWe cannot easily show different pid namespace via one global proc tree, since\neach pid refers to different tasks in different namespaces.  E.g.  pid 1\nrefers to the init task in the initial namespace and to some other task when\nseeing from another namespace.  Moreover - pid, exisintg in one namespace may\nnot exist in the other.\n\nThis approach has one move advantage is that the tasks from the init namespace\ncan see what tasks live in another namespace by reading entries from another\nproc tree.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "198fe21b0a17fe9c68cb519ecc566534b04f122b",
      "tree": "690825669858d0f458fc137e42adf77cdf370ea4",
      "parents": [
        "7af5729474b5b8ad385adadab78d6e723e7655a3"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:06 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:39 2007 -0700"
      },
      "message": "pid namespaces: helpers to find the task by its numerical ids\n\nWhen searching the task by numerical id on may need to find it using global\npid (as it is done now in kernel) or by its virtual id, e.g.  when sending a\nsignal to a task from one namespace the sender will specify the task\u0027s virtual\nid and we should find the task by this value.\n\n[akpm@linux-foundation.org: fix gfs2 linkage]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7af5729474b5b8ad385adadab78d6e723e7655a3",
      "tree": "197f8da3e7afd65554f0c0a070eb93036b720fa8",
      "parents": [
        "8ef047aaaeb811247a5639c92e2f2ae1221a28dd"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:06 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:39 2007 -0700"
      },
      "message": "pid namespaces: helpers to obtain pid numbers\n\nWhen showing pid to user or getting the pid numerical id for in-kernel use the\nvalue of this id may differ depending on the namespace.\n\nThis set of helpers is used to get the global pid nr, the virtual (i.e.  seen\nby task in its namespace) nr and the nr as it is seen from the specified\nnamespace.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8ef047aaaeb811247a5639c92e2f2ae1221a28dd",
      "tree": "296a61f66daa8ac42b3d77a53d06a97eb71155c9",
      "parents": [
        "faacbfd3a6808bf87d8f353b42eceeaba2c78a47"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:39 2007 -0700"
      },
      "message": "pid namespaces: make alloc_pid(), free_pid() and put_pid() work with struct upid\n\nEach struct upid element of struct pid has to be initialized properly, i.e.\nits nr mst be allocated from appropriate pidmap and ns set to appropriate\nnamespace.\n\nWhen allocating a new pid, we need to know the namespace this pid will live\nin, so the additional argument is added to alloc_pid().\n\nOn the other hand, the rest of the kernel still uses the pid-\u003enr and\npid-\u003epid_chain fields, so these ones are still initialized, but this will be\nremoved soon.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "faacbfd3a6808bf87d8f353b42eceeaba2c78a47",
      "tree": "c05ad8985ec2367550cbb3321934fd0e8e9208d2",
      "parents": [
        "4c3f2ead5a3dff9069a45560ba4d007c8ae2e2ee"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:38 2007 -0700"
      },
      "message": "pid namespaces: add support for pid namespaces hierarchy\n\nEach namespace has a parent and is characterized by its \"level\".  Level is the\nnumber of the namespace generation.  E.g.  init namespace has level 0, after\ncloning new one it will have level 1, the next one - 2 and so on and so forth.\n This level is not explicitly limited.\n\nTrue hierarchy must have some way to find each namespace\u0027s children, but it is\nnot used in the patches, so this ability is not added (yet).\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4c3f2ead5a3dff9069a45560ba4d007c8ae2e2ee",
      "tree": "ab47621edf01f64485c99cf2cde56762339c86f1",
      "parents": [
        "60347f6716aa49831ac311e04d77ccdc50dc024a"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@us.ibm.com",
        "time": "Thu Oct 18 23:40:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:38 2007 -0700"
      },
      "message": "pid namespaces: introduce struct upid\n\nSince task will be visible from different pid namespaces each of them have to\nbe addressed by multiple pids.  struct upid is to store the information about\nwhich id refers to which namespace.\n\nThe constuciton looks like this.  Each struct pid carried the reference\ncounter and the list of tasks attached to this pid.  At its end it has a\nvariable length array of struct upid-s.  Each struct upid has a numerical id\n(pid itself), pointer to the namespace, this ID is valid in and is hashed into\na pid_hash for searching the pids.\n\nThe nr and pid_chain fields are kept in struct pid for a while to make kernel\nstill work (no patch initialize the upids yet), but it will be removed at the\nend of this series when we switch to upids completely.\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "60347f6716aa49831ac311e04d77ccdc50dc024a",
      "tree": "82e666fef22f43550da42ad368a61a5e9a59ef96",
      "parents": [
        "8bf9725c29f2589237dd696d06a204230add0ba3"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:38 2007 -0700"
      },
      "message": "pid namespaces: prepare proc_flust_task() to flush entries from multiple proc trees\n\nThe first part is trivial - we just make the proc_flush_task() to operate on\narbitrary vfsmount with arbitrary ids and pass the pid and global proc_mnt to\nit.\n\nThe other change is more tricky: I moved the proc_flush_task() call in\nrelease_task() higher to address the following problem.\n\nWhen flushing task from many proc trees we need to know the set of ids (not\njust one pid) to find the dentries\u0027 names to flush.  Thus we need to pass the\ntask\u0027s pid to proc_flush_task() as struct pid is the only object that can\nprovide all the pid numbers.  But after __exit_signal() task has detached all\nhis pids and this information is lost.\n\nThis creates a tiny gap for proc_pid_lookup() to bring some dentries back to\ntree and keep them in hash (since pids are still alive before __exit_signal())\ntill the next shrink, but since proc_flush_task() does not provide a 100%\nguarantee that the dentries will be flushed, this is OK to do so.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8bf9725c29f2589237dd696d06a204230add0ba3",
      "tree": "abe1a29924a592808250121435dcd12789336e8a",
      "parents": [
        "2e4a707269a409950c3f315010c20f9719c594e2"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:38 2007 -0700"
      },
      "message": "pid namespaces: introduce MS_KERNMOUNT flag\n\nThis flag tells the .get_sb callback that this is a kern_mount() call so that\nit can trust *data pointer to be valid in-kernel one.  If this flag is passed\nfrom the user process, it is cleared since the *data pointer is not a valid\nkernel object.\n\nRunning a few steps forward - this will be needed for proc to create the\nsuperblock and store a valid pid namespace on it during the namespace\ncreation.  The reason, why the namespace cannot live without proc mount is\ndescribed in the appropriate patch.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4e6045f134784f4b158b3c0f7a282b04bd816887",
      "tree": "3304628f666c8524accd10f40da48cfba8b08608",
      "parents": [
        "cf7b708c8d1d7a27736771bcf4c457b332b0f818"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Oct 18 23:39:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:38 2007 -0700"
      },
      "message": "workqueue: debug flushing deadlocks with lockdep\n\nIn the following scenario:\n\ncode path 1:\n  my_function() -\u003e lock(L1); ...; flush_workqueue(); ...\n\ncode path 2:\n  run_workqueue() -\u003e my_work() -\u003e ...; lock(L1); ...\n\nyou can get a deadlock when my_work() is queued or running\nbut my_function() has acquired L1 already.\n\nThis patch adds a pseudo-lock to each workqueue to make lockdep\nwarn about this scenario.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cf7b708c8d1d7a27736771bcf4c457b332b0f818",
      "tree": "10f80257b052313b283f18ddfe35145882e0b47f",
      "parents": [
        "a6f5e06378970a2687332c2d54046245fcff1e7e"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:39:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:37 2007 -0700"
      },
      "message": "Make access to task\u0027s nsproxy lighter\n\nWhen someone wants to deal with some other taks\u0027s namespaces it has to lock\nthe task and then to get the desired namespace if the one exists.  This is\nslow on read-only paths and may be impossible in some cases.\n\nE.g.  Oleg recently noticed a race between unshare() and the (sent for\nreview in cgroups) pid namespaces - when the task notifies the parent it\nhas to know the parent\u0027s namespace, but taking the task_lock() is\nimpossible there - the code is under write locked tasklist lock.\n\nOn the other hand switching the namespace on task (daemonize) and releasing\nthe namespace (after the last task exit) is rather rare operation and we\ncan sacrifice its speed to solve the issues above.\n\nThe access to other task namespaces is proposed to be performed\nlike this:\n\n     rcu_read_lock();\n     nsproxy \u003d task_nsproxy(tsk);\n     if (nsproxy !\u003d NULL) {\n             / *\n               * work with the namespaces here\n               * e.g. get the reference on one of them\n               * /\n     } / *\n         * NULL task_nsproxy() means that this task is\n         * almost dead (zombie)\n         * /\n     rcu_read_unlock();\n\nThis patch has passed the review by Eric and Oleg :) and,\nof course, tested.\n\n[clg@fr.ibm.com: fix unshare()]\n[ebiederm@xmission.com: Update get_net_ns_by_pid]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b460cbc581a53cc088ceba80608021dd49c63c43",
      "tree": "83c28d0adbc15f4157c77b40fa60c40a71cb8673",
      "parents": [
        "3743ca05ff464b8a9e345c08a6c9ce30485f9805"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Thu Oct 18 23:39:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:37 2007 -0700"
      },
      "message": "pid namespaces: define is_global_init() and is_container_init()\n\nis_init() is an ambiguous name for the pid\u003d\u003d1 check.  Split it into\nis_global_init() and is_container_init().\n\nA cgroup init has it\u0027s tsk-\u003epid \u003d\u003d 1.\n\nA global init also has it\u0027s tsk-\u003epid \u003d\u003d 1 and it\u0027s active pid namespace\nis the init_pid_ns.  But rather than check the active pid namespace,\ncompare the task structure with \u0027init_pid_ns.child_reaper\u0027, which is\ninitialized during boot to the /sbin/init process and never changes.\n\nChangelog:\n\n\t2.6.22-rc4-mm2-pidns1:\n\t- Use \u0027init_pid_ns.child_reaper\u0027 to determine if a given task is the\n\t  global init (/sbin/init) process. This would improve performance\n\t  and remove dependence on the task_pid().\n\n\t2.6.21-mm2-pidns2:\n\n\t- [Sukadev Bhattiprolu] Changed is_container_init() calls in {powerpc,\n\t  ppc,avr32}/traps.c for the _exception() call to is_global_init().\n\t  This way, we kill only the cgroup if the cgroup\u0027s init has a\n\t  bug rather than force a kernel panic.\n\n[akpm@linux-foundation.org: fix comment]\n[sukadev@us.ibm.com: Use is_global_init() in arch/m32r/mm/fault.c]\n[bunk@stusta.de: kernel/pid.c: remove unused exports]\n[sukadev@us.ibm.com: Fix capability.c to work with threaded init]\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nAcked-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Herbert Poetzel \u003cherbert@13thfloor.at\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "88f21d818255bc61c002478d21caf52f8a9b8def",
      "tree": "de16e38862622b3d295f7850cdb006922307fb8d",
      "parents": [
        "2894d650cd9715d00ca196c711265819ef6ebd2d"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@us.ibm.com",
        "time": "Thu Oct 18 23:39:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:37 2007 -0700"
      },
      "message": "pid namespaces: rename child_reaper() function\n\nRename the child_reaper() function to task_child_reaper() to be similar to\nother task_* functions and to distinguish the function from \u0027struct\npid_namspace.child_reaper\u0027.\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Herbert Poetzel \u003cherbert@13thfloor.at\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2894d650cd9715d00ca196c711265819ef6ebd2d",
      "tree": "dbfe07c3276c2b6aa7d9a4be633da7fa1e12d97b",
      "parents": [
        "baf8f0f82dd79e374bf6fa9e996393df2bae3c21"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@us.ibm.com",
        "time": "Thu Oct 18 23:39:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:37 2007 -0700"
      },
      "message": "pid namespaces: define and use task_active_pid_ns() wrapper\n\nWith multiple pid namespaces, a process is known by some pid_t in every\nancestor pid namespace.  Every time the process forks, the child process also\ngets a pid_t in every ancestor pid namespace.\n\nWhile a process is visible in \u003e\u003d1 pid namespaces, it can see pid_t\u0027s in only\none pid namespace.  We call this pid namespace it\u0027s \"active pid namespace\",\nand it is always the youngest pid namespace in which the process is known.\n\nThis patch defines and uses a wrapper to find the active pid namespace of a\nprocess.  The implementation of the wrapper will be changed in when support\nfor multiple pid namespaces are added.\n\nChangelog:\n\t2.6.22-rc4-mm2-pidns1:\n\t- [Pavel Emelianov, Alexey Dobriyan] Back out the change to use\n\t  task_active_pid_ns() in child_reaper() since task-\u003ensproxy\n\t  can be NULL during task exit (so child_reaper() continues to\n\t  use init_pid_ns).\n\n\t  to implement child_reaper() since init_pid_ns.child_reaper to\n\t  implement child_reaper() since tsk-\u003ensproxy can be NULL during exit.\n\n\t2.6.21-rc6-mm1:\n\t- Rename task_pid_ns() to task_active_pid_ns() to reflect that a\n\t  process can have multiple pid namespaces.\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nAcked-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Herbert Poetzel \u003cherbert@13thfloor.at\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "baf8f0f82dd79e374bf6fa9e996393df2bae3c21",
      "tree": "2cf18de413871812527147cd8fbf32d1dbbe7bee",
      "parents": [
        "a05f7b15deb2903d9f0b5df33ddd4d186d5ecac1"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:39:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:37 2007 -0700"
      },
      "message": "pid namespaces: dynamic kmem cache allocator for pid namespaces\n\nAdd kmem_cache to pid_namespace to allocate pids from.\n\nSince both implementations expand the struct pid to carry more numerical\nvalues each namespace should have separate cache to store pids of different\nsizes.\n\nEach kmem cache is name \"pid_\u003cNR\u003e\", where \u003cNR\u003e is the number of numerical ids\non the pid.  Different namespaces with same level of nesting will have same\ncaches.\n\nThis patch has two FIXMEs that are to be fixed after we reach the consensus\nabout the struct pid itself.\n\nThe first one is that the namespace to free the pid from in free_pid() must be\ntaken from pid.  Now the init_pid_ns is used.\n\nThe second FIXME is about the cache allocation.  When we do know how long the\nobject will be then we\u0027ll have to calculate this size in create_pid_cachep.\nRight now the sizeof(struct pid) value is used.\n\n[akpm@linux-foundation.org: coding-style repair]\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nAcked-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nAcked-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a05f7b15deb2903d9f0b5df33ddd4d186d5ecac1",
      "tree": "559d774c0e31d61396b32a86558a3f4c9711b658",
      "parents": [
        "a47afb0f9d794d525a372c8d69902147cc88222a"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:39:47 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:37 2007 -0700"
      },
      "message": "pid namespaces: make get_pid_ns() return the namespace itself\n\nMake get_pid_ns() return the namespace itself to look like the other getters\nand make the code using it look nicer.\n\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nAcked-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a47afb0f9d794d525a372c8d69902147cc88222a",
      "tree": "7bd67280e2edc1c3b1803d4a93bee794088e9342",
      "parents": [
        "858d72ead4864da0fb0b89b919524125ce998e27"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:39:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:37 2007 -0700"
      },
      "message": "pid namespaces: round up the API\n\nThe set of functions process_session, task_session, process_group and\ntask_pgrp is confusing, as the names can be mixed with each other when looking\nat the code for a long time.\n\nThe proposals are to\n* equip the functions that return the integer with _nr suffix to\n  represent that fact,\n* and to make all functions work with task (not process) by making\n  the common prefix of the same name.\n\nFor monotony the routines signal_session() and set_signal_session() are\nreplaced with task_session_nr() and set_task_session(), especially since they\nare only used with the explicit task-\u003esignal dereference.\n\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nAcked-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "858d72ead4864da0fb0b89b919524125ce998e27",
      "tree": "19ea321ca3b505efecb2053a829daf89a6a22529",
      "parents": [
        "846c7bb055747989891f5cd2bb6e8d56243ba1e7"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Thu Oct 18 23:39:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:37 2007 -0700"
      },
      "message": "cgroups: implement namespace tracking subsystem\n\nWhen a task enters a new namespace via a clone() or unshare(), a new cgroup\nis created and the task moves into it.\n\nThis version names cgroups which are automatically created using\ncgroup_clone() as \"node_\u003cpid\u003e\" where pid is the pid of the unsharing or\ncloned process.  (Thanks Pavel for the idea) This is safe because if the\nprocess unshares again, it will create\n\n\t/cgroups/(...)/node_\u003cpid\u003e/node_\u003cpid\u003e\n\nThe only possibilities (AFAICT) for a -EEXIST on unshare are\n\n\t1. pid wraparound\n\t2. a process fails an unshare, then tries again.\n\nCase 1 is unlikely enough that I ignore it (at least for now).  In case 2, the\nnode_\u003cpid\u003e will be empty and can be rmdir\u0027ed to make the subsequent unshare()\nsucceed.\n\nChangelog:\n\tName cloned cgroups as \"node_\u003cpid\u003e\".\n\n[clg@fr.ibm.com: fix order of cgroup subsystems in init/Kconfig]\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "846c7bb055747989891f5cd2bb6e8d56243ba1e7",
      "tree": "e044041366efa8298157c4ae86615d68d30dd6d2",
      "parents": [
        "c2e2c7fa1cb2cf2b114a6c9bc132b6601db5a7c8"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Thu Oct 18 23:39:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:36 2007 -0700"
      },
      "message": "Add cgroupstats\n\nThis patch is inspired by the discussion at\nhttp://lkml.org/lkml/2007/4/11/187 and implements per cgroup statistics\nas suggested by Andrew Morton in http://lkml.org/lkml/2007/4/11/263.  The\npatch is on top of 2.6.21-mm1 with Paul\u0027s cgroups v9 patches (forward\nported)\n\nThis patch implements per cgroup statistics infrastructure and re-uses\ncode from the taskstats interface.  A new set of cgroup operations are\nregistered with commands and attributes.  It should be very easy to\n*extend* per cgroup statistics, by adding members to the cgroupstats\nstructure.\n\nThe current model for cgroupstats is a pull, a push model (to post\nstatistics on interesting events), should be very easy to add.  Currently\nuser space requests for statistics by passing the cgroup file\ndescriptor.  Statistics about the state of all the tasks in the cgroup\nis returned to user space.\n\nTODO\u0027s/NOTE:\n\nThis patch provides an infrastructure for implementing cgroup statistics.\nBased on the needs of each controller, we can incrementally add more statistics,\nevent based support for notification of statistics, accumulation of taskstats\ninto cgroup statistics in the future.\n\nSample output\n\n# ./cgroupstats -C /cgroup/a\nsleeping 2, blocked 0, running 1, stopped 0, uninterruptible 0\n\n# ./cgroupstats -C /cgroup/\nsleeping 154, blocked 0, running 0, stopped 0, uninterruptible 0\n\nIf the approach looks good, I\u0027ll enhance and post the user space utility for\nthe same\n\nFeedback, comments, test results are always welcome!\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Jay Lan \u003cjlan@engr.sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "006cb99200a38a8e3b0cbc1be48035a08921e601",
      "tree": "9bbbc71000469f94dbd4fbc04b4fb2ff8777604b",
      "parents": [
        "62d0df64065e7c135d0002f069444fbdfc64768f"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Thu Oct 18 23:39:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:36 2007 -0700"
      },
      "message": "Task Control Groups: simple task cgroup debug info subsystem\n\nThis example subsystem exports debugging information as an aid to diagnosing\nrefcount leaks, etc, in the cgroup framework.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "62d0df64065e7c135d0002f069444fbdfc64768f",
      "tree": "9087bf336182ab9c619460ba2370a223200179bc",
      "parents": [
        "8793d854edbc2774943a4b0de3304dc73991159a"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Thu Oct 18 23:39:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:36 2007 -0700"
      },
      "message": "Task Control Groups: example CPU accounting subsystem\n\nThis example demonstrates how to use the generic cgroup subsystem for a\nsimple resource tracker that counts, for the processes in a cgroup, the\ntotal CPU time used and the %CPU used in the last complete 10 second interval.\n\nPortions contributed by Balbir Singh \u003cbalbir@in.ibm.com\u003e\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8793d854edbc2774943a4b0de3304dc73991159a",
      "tree": "380b3403a0fedfcce61d9af5af1ffbcc71017abf",
      "parents": [
        "81a6a5cdd2c5cd70874b88afe524ab09e9e869af"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Thu Oct 18 23:39:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:36 2007 -0700"
      },
      "message": "Task Control Groups: make cpusets a client of cgroups\n\nRemove the filesystem support logic from the cpusets system and makes cpusets\na cgroup subsystem\n\nThe \"cpuset\" filesystem becomes a dummy filesystem; attempts to mount it get\npassed through to the cgroup filesystem with the appropriate options to\nemulate the old cpuset filesystem behaviour.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "81a6a5cdd2c5cd70874b88afe524ab09e9e869af",
      "tree": "ba46c47a0692b687a96e52e61bfda4f14457017f",
      "parents": [
        "817929ec274bcfe771586d338bb31d1659615686"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Thu Oct 18 23:39:38 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:36 2007 -0700"
      },
      "message": "Task Control Groups: automatic userspace notification of idle cgroups\n\nAdd the following files to the cgroup filesystem:\n\nnotify_on_release - configures/reports whether the cgroup subsystem should\nattempt to run a release script when this cgroup becomes unused\n\nrelease_agent - configures/reports the release agent to be used for this\nhierarchy (top level in each hierarchy only)\n\nreleasable - reports whether this cgroup would have been auto-released if\nnotify_on_release was true and a release agent was configured (mainly useful\nfor debugging)\n\nTo avoid locking issues, invoking the userspace release agent is done via a\nworkqueue task; cgroups that need to have their release agents invoked by\nthe workqueue task are linked on to a list.\n\n[pj@sgi.com: Need to include kmod.h]\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "817929ec274bcfe771586d338bb31d1659615686",
      "tree": "5a96ed1afd308016e8720437a00bf2f114e907cb",
      "parents": [
        "a424316ca154317367c7ddf89997d1c80e4a8051"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Thu Oct 18 23:39:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:36 2007 -0700"
      },
      "message": "Task Control Groups: shared cgroup subsystem group arrays\n\nReplace the struct css_set embedded in task_struct with a pointer; all tasks\nthat have the same set of memberships across all hierarchies will share a\ncss_set object, and will be linked via their css_sets field to the \"tasks\"\nlist_head in the css_set.\n\nAssuming that many tasks share the same cgroup assignments, this reduces\noverall space usage and keeps the size of the task_struct down (three pointers\nadded to task_struct compared to a non-cgroups kernel, no matter how many\nsubsystems are registered).\n\n[akpm@linux-foundation.org: fix a printk]\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a424316ca154317367c7ddf89997d1c80e4a8051",
      "tree": "ed349926c41aad5be6d62c9074ff72a0d9ac32c2",
      "parents": [
        "697f41610863c9264a7ae26dac9a387c9dda8c84"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Thu Oct 18 23:39:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:36 2007 -0700"
      },
      "message": "Task Control Groups: add procfs interface\n\nAdd:\n\n/proc/cgroups - general system info\n\n/proc/*/cgroup - per-task cgroup membership info\n\n[a.p.zijlstra@chello.nl: cgroups: bdi init hooks]\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "697f41610863c9264a7ae26dac9a387c9dda8c84",
      "tree": "9d4321f93abe36920a8e9d5239d120803f6cabbc",
      "parents": [
        "b4f48b6363c81ca743ef46943ef23fd72e60f679"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Thu Oct 18 23:39:34 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:36 2007 -0700"
      },
      "message": "Task Control Groups: add cgroup_clone() interface\n\nAdd support for cgroup_clone(), a way to create new cgroups intended to\nbe used for systems such as namespace unsharing.  A new subsystem callback,\npost_clone(), is added to allow subsystems to automatically configure cloned\ncgroups.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b4f48b6363c81ca743ef46943ef23fd72e60f679",
      "tree": "40437b78e2d7a7d9d71e7bd63bc96e1ad02daa94",
      "parents": [
        "355e0c48b757b7fcc79ccb98fda8105ed37a1598"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Thu Oct 18 23:39:33 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:36 2007 -0700"
      },
      "message": "Task Control Groups: add fork()/exit() hooks\n\nThis adds the necessary hooks to the fork() and exit() paths to ensure\nthat new children inherit their parent\u0027s cgroup assignments, and that\nexiting processes release reference counts on their cgroups.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "355e0c48b757b7fcc79ccb98fda8105ed37a1598",
      "tree": "f9687961979a808e46620f4bdf9af05de2fd68e2",
      "parents": [
        "bbcb81d09104f0d440974b994c1fc508ccbe9503"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Thu Oct 18 23:39:33 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:36 2007 -0700"
      },
      "message": "Add cgroup write_uint() helper method\n\nAdd write_uint() helper method for cgroup subsystems\n\nThis helper is analagous to the read_uint() helper method for\nreporting u64 values to userspace. It\u0027s designed to reduce the amount\nof boilerplate requierd for creating new cgroup subsystems.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bbcb81d09104f0d440974b994c1fc508ccbe9503",
      "tree": "6d9ef3e2c611bb0a8f63519196f7bd7725b7ea1a",
      "parents": [
        "ddbcc7e8e50aefe467c01cac3dec71f118cd8ac2"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Thu Oct 18 23:39:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:36 2007 -0700"
      },
      "message": "Task Control Groups: add tasks file interface\n\nAdd the per-directory \"tasks\" file for cgroupfs mounts; this allows the\nuser to determine which tasks are members of a cgroup by reading a\ncgroup\u0027s \"tasks\", and to move a task into a cgroup by writing its pid to\nits \"tasks\".\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ddbcc7e8e50aefe467c01cac3dec71f118cd8ac2",
      "tree": "0881a031e669582f819d572339e955b04abfc3d2",
      "parents": [
        "55a230aae650157720becc09cadb7d10efbf5013"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Thu Oct 18 23:39:30 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:36 2007 -0700"
      },
      "message": "Task Control Groups: basic task cgroup framework\n\nGeneric Process Control Groups\n--------------------------\n\nThere have recently been various proposals floating around for\nresource management/accounting and other task grouping subsystems in\nthe kernel, including ResGroups, User BeanCounters, NSProxy\ncgroups, and others.  These all need the basic abstraction of being\nable to group together multiple processes in an aggregate, in order to\ntrack/limit the resources permitted to those processes, or control\nother behaviour of the processes, and all implement this grouping in\ndifferent ways.\n\nThis patchset provides a framework for tracking and grouping processes\ninto arbitrary \"cgroups\" and assigning arbitrary state to those\ngroupings, in order to control the behaviour of the cgroup as an\naggregate.\n\nThe intention is that the various resource management and\nvirtualization/cgroup efforts can also become task cgroup\nclients, with the result that:\n\n- the userspace APIs are (somewhat) normalised\n\n- it\u0027s easier to test e.g. the ResGroups CPU controller in\n conjunction with the BeanCounters memory controller, or use either of\nthem as the resource-control portion of a virtual server system.\n\n- the additional kernel footprint of any of the competing resource\n management systems is substantially reduced, since it doesn\u0027t need\n to provide process grouping/containment, hence improving their\n chances of getting into the kernel\n\nThis patch:\n\nAdd the main task cgroups framework - the cgroup filesystem, and the\nbasic structures for tracking membership and associating subsystem state\nobjects to tasks.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8f731f7d83d6c6a3eeb32cce79bfcddbf7fac8cc",
      "tree": "706de5d8801259311a7a3b3987bc3b6e6511637d",
      "parents": [
        "cb680c1be62e9898fc2ca2a89d9fdba7c84a5c81"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Oct 18 23:39:28 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:35 2007 -0700"
      },
      "message": "kernel-api docbook: fix content problems\n\nFix kernel-api docbook contents problems.\n\ndocproc: linux-2.6.23-git13/include/asm-x86/unaligned_32.h: No such file or directory\nWarning(linux-2.6.23-git13//include/linux/list.h:482): bad line: \t\t\tof list entry\nWarning(linux-2.6.23-git13//mm/filemap.c:864): No description found for parameter \u0027ra\u0027\nWarning(linux-2.6.23-git13//block/ll_rw_blk.c:3760): No description found for parameter \u0027req\u0027\nWarning(linux-2.6.23-git13//include/linux/input.h:1077): No description found for parameter \u0027private\u0027\nWarning(linux-2.6.23-git13//include/linux/input.h:1077): No description found for parameter \u0027cdev\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: WU Fengguang \u003cwfg@mail.ustc.edu.cn\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cb680c1be62e9898fc2ca2a89d9fdba7c84a5c81",
      "tree": "967eba31bdb120305697f5d0292964abead07962",
      "parents": [
        "4d20851d3757ba5bece263a4c8c5a2bd4983cb5d"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Thu Oct 18 23:39:27 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:35 2007 -0700"
      },
      "message": "reiserfs: ignore on disk s_bmap_nr value\n\nImplement support for file systems larger than 8 TiB.\n\nThe reiserfs superblock contains a 16 bit value for counting the number of\nbitmap blocks.  The rest of the disk format supports file systems up to 2^32\nblocks, but the bitmap block limitation artificially limits this to 8 TiB with\na 4KiB block size.\n\nRather than trust the superblock\u0027s 16-bit bitmap block count, we calculate it\ndynamically based on the number of blocks in the file system.  When an\nincorrect value is observed in the superblock, it is zeroed out, ensuring that\nolder kernels will not be able to mount the file system.\n\nUserspace support has already been implemented and shipped in reiserfsprogs\n3.6.20.\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4d20851d3757ba5bece263a4c8c5a2bd4983cb5d",
      "tree": "ac89f9cf860801675e587c38c39fd9e6bd2204da",
      "parents": [
        "3ee1667042c350003b9d3f35e5666cc8c43ce8aa"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Thu Oct 18 23:39:26 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:35 2007 -0700"
      },
      "message": "reiserfs: remove first_zero_hint\n\nThe first_zero_hint metadata caching was never actually used, and it\u0027s of\ndubious optimization quality.  This patch removes it.\n\nIt doesn\u0027t actually shrink the size of the reiserfs_bitmap_info struct, since\nthat doesn\u0027t work with block sizes larger than 8K.  There was a big fixme in\nthere, and with all the work lately in allowing block size \u003e page size, I\nmight as well kill the fixme as well.\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ee1667042c350003b9d3f35e5666cc8c43ce8aa",
      "tree": "331217461b684c298397d7347431c500c5969148",
      "parents": [
        "6c57c2c8d3862c8d5b908669654f6565da74ec19"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Thu Oct 18 23:39:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:35 2007 -0700"
      },
      "message": "reiserfs: fix usage of signed ints for block numbers\n\nDo a quick signedness check for block numbers.  There are a number of places\nwhere signed integers are used for block numbers, which limits the usable file\nsystem size to 8 TiB.  The disk format, excepting a problem which will be\nfixed in the following patch, supports file systems up to 16 TiB in size.\nThis patch cleans up those sites so that we can enable the full usable size.\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c2a9159cdd8b334a0dfaf69d8b07cd57b5272baa",
      "tree": "5a1d45afd49cd11d488173f6351bcfe432c2139a",
      "parents": [
        "1c099244485ff8bb93c2cd41304a445adc7f54e6"
      ],
      "author": {
        "name": "Jose R. Santos",
        "email": "jrs@us.ibm.com",
        "time": "Thu Oct 18 23:39:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:35 2007 -0700"
      },
      "message": "jbd: config_jbd_debug cannot create /proc entry\n\nThe jbd-debug file used to be located in /proc/sys/fs/jbd-debug, but\ncreate_proc_entry() does not do lookups on file names that are more that\none directory deep.  This causes the entry creation to fail and hence, no\nproc file is created.\n\nInstead of fixing this on procfs might as well move the jbd2-debug file to\ndebugfs which would be the preferred location for this kind of tunable.\nThe new location is now /sys/kernel/debug/jbd/jbd-debug.\n\n[akpm@linux-foundation.org: zillions of cleanups]\nSigned-off-by: Jose R. Santos \u003cjrs@us.ibm.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1c099244485ff8bb93c2cd41304a445adc7f54e6",
      "tree": "f507d266b76162bdee29ce1f0d32296fb0ca46ab",
      "parents": [
        "8c3478a523a48470eb11a23f01249250684677d9"
      ],
      "author": {
        "name": "Chris Snook",
        "email": "csnook@redhat.com",
        "time": "Thu Oct 18 23:39:21 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:34 2007 -0700"
      },
      "message": "jbd: remove printk() from J_ASSERT macros\n\nRemove printk from J_ASSERT to preserve registers during BUG.\n\nSigned-off-by: Chris Snook \u003ccsnook@redhat.com\u003e\nCc: \"Stephen C. Tweedie\" \u003csct@redhat.com\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b293d758470e971253eec42b817bc9ef1213b228",
      "tree": "aafc6011762436cf3076798fee7140145908852c",
      "parents": [
        "fe9d4f576324999ac521c931f3b3eee0c8e45544"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Oct 18 23:39:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:34 2007 -0700"
      },
      "message": "Console events and accessibility\n\nSome external modules like Speakup need to monitor console output.\n\nThis adds a VT notifier that such modules can use to get console output events:\nallocation, deallocation, writes, other updates (cursor position, switch, etc.)\n\n[akpm@linux-foundation.org: fix headers_check]\nSigned-off-by: Samuel Thibault \u003csamuel.thibault@ens-lyon.org\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe9d4f576324999ac521c931f3b3eee0c8e45544",
      "tree": "8ff6ad770e15e81d00c87b945cb60326f28aee6b",
      "parents": [
        "3ed75eb8f1cd89565966599c4f77d2edb086d5b0"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Thu Oct 18 23:39:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:34 2007 -0700"
      },
      "message": "Add kernel/notifier.c\n\nThere is separate notifier header, but no separate notifier .c file.\n\nExtract notifier code out of kernel/sys.c which will remain for\nmisc syscalls I hope. Merge kernel/die_notifier.c into kernel/notifier.c.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "41ab4396e19fba338baf28044d3e48385744b930",
      "tree": "b817fc991bfef4b3d84e76f4793e1483ed4d4238",
      "parents": [
        "c18479fe017b9d3b65b7682f2b9e711389441186"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Thu Oct 18 23:39:12 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:33 2007 -0700"
      },
      "message": "Console keyboard events and accessibility\n\nSome blind people use a kernel engine called Speakup which uses hardware\nsynthesis to speak what gets displayed on the screen.  They use the\nPC keyboard to control this engine (start/stop, accelerate, ...) and\nalso need to get keyboard feedback (to make sure to know what they are\ntyping, the caps lock status, etc.)\n\nUp to now, the way it was done was very ugly.  Below is a patch to add a\nnotifier list for permitting a far better implementation, see ChangeLog\nabove for details.\n\nYou may wonder why this can\u0027t be done at the input layer.  The problem\nis that what people want to monitor is the console keyboard, i.e. all\ninput keyboards that got attached to the console, and with the currently\nactive keymap (i.e. keysyms, not only keycodes).\n\nThis adds a keyboard notifier that such modules can use to get the keyboard\nevents and possibly eat them, at several stages:\n\n- keycodes: even before translation into keysym.\n- unbound keycodes: when no keysym is bound.\n- unicode: when the keycode would get translated into a unicode character.\n- keysym: when the keycode would get translated into a keysym.\n- post_keysym: after the keysym got interpreted, so as to see the result\n  (caps lock, etc.)\n\nThis also provides access to k_handler so as to permit simulation of\nkeypresses.\n\n[akpm@linux-foundation.org: various fixes]\nSigned-off-by: Samuel Thibault \u003csamuel.thibault@ens-lyon.org\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c18479fe017b9d3b65b7682f2b9e711389441186",
      "tree": "510d56a218d4542e337368276ada7e2c5482cee3",
      "parents": [
        "50899561aa15b9227009ae40e58852c32fc81944"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Oct 18 23:39:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:33 2007 -0700"
      },
      "message": "put declaration of put_filesystem() in fs.h\n\nDeclarations go into headers.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Ram Pai \u003clinuxram@us.ibm.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4fa4d23fa20de67df919030c1216295664866ad7",
      "tree": "90e80f8a40665a351950ef25ab9de85b3647a23a",
      "parents": [
        "a9e82d3a02247af6b729be0a963862d70cb25bf9",
        "4f1e5ba0977570b7a198bb3ac110ccc5f532821b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 19:31:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 19:31:54 2007 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6\n\n* \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:\n  pcnet32: remove private net_device_stats structure\n  vortex_up should initialize \"err\"\n  pcnet32: remove compile warnings in non-napi mode\n  pcnet32: fix non-napi packet reception\n  fix EMAC driver for proper napi_synchronize API\n  sky2: shutdown cleanup\n  napi_synchronize: waiting for NAPI\n  forcedeth msi bugfix\n  gianfar: fix obviously wrong #ifdef CONFIG_GFAR_NAPI placement\n  fs_enet: Update for API changes\n  gianfar: remove orphan struct.\n  forcedeth: fix rx-work condition in nv_rx_process_optimized() too\n"
    },
    {
      "commit": "a9e82d3a02247af6b729be0a963862d70cb25bf9",
      "tree": "8f1f02bf0f1371391f2077a270bc32c0beddcc6a",
      "parents": [
        "58f9b52ee8712283f7ffedb661df678c61e88a91",
        "85ad93ad56f4baf52e7c40f2e01c4df8e14d4c9c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 16:00:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 16:00:02 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6: (37 commits)\n  ide: set drive-\u003eautotune in ide_pci_setup_ports()\n  triflex: always tune PIO\n  opti621: always tune PIO\n  cy82c693: always tune PIO\n  cs5520: always tune PIO\n  alim15x3: always tune PIO\n  ide: add IDE_HFLAG_LEGACY_IRQS host flag\n  ide: add IDE_HFLAG_SERIALIZE host flag\n  ide: add IDE_HFLAG_ERROR_STOPS_FIFO host flag\n  piix: add DECLARE_ICH_DEV() macro\n  pdc202xx_old: add DECLARE_PDC2026X_DEV() macro\n  pdc202xx_new: add DECLARE_PDCNEW_DEV() macro\n  aec62xx: no need to disable UDMA in -\u003einit_hwif method for ATP850UF\n  ide: remove .init_setup from ide_pci_device_t\n  serverworks: remove -\u003einit_setup\n  scc_pata: remove -\u003einit_setup\n  pdc202xx_old: remove -\u003einit_setup\n  pdc202xx_new: remove -\u003einit_setup\n  hpt366: remove -\u003einit_setup\n  cmd64x: remove -\u003einit_setup\n  ...\n"
    },
    {
      "commit": "3985ee3b4c5f9e1d73623b92715375b089c54353",
      "tree": "13741edc5575b3ebb436f94b04e338b3b0701e9f",
      "parents": [
        "1c51361a9867021dd7444b56d87834003d4ca67d"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Oct 19 00:30:11 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Oct 19 00:30:11 2007 +0200"
      },
      "message": "ide: add IDE_HFLAG_LEGACY_IRQS host flag\n\nAdd IDE_HFLAG_LEGACY_IRQS host flag to tell ide_pci_setup_ports() to set\nhwif-\u003eirq to legacy IRQ 14/15 (iff hwif-\u003eirq is not already set) and convert\natiixp, piix, serverworks, sis5513 and slc90e66 host drivers to use it.\n\nWhile at it:\n\n* In piix.c add IDE_HFLAGS_PIIX define and don\u0027t use -\u003einit_hwif for MPIIX.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "1c51361a9867021dd7444b56d87834003d4ca67d",
      "tree": "2b14e5a4d85b9d46571c5839bbcce6f90be8b616",
      "parents": [
        "ed67b92385a5afddc98d5ff0894b2854c4a54dac"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Oct 19 00:30:10 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Oct 19 00:30:10 2007 +0200"
      },
      "message": "ide: add IDE_HFLAG_SERIALIZE host flag\n\nAdd IDE_HFLAG_SERIALIZE host flag to tell ide_pci_setup_ports() to set\nhwif/mate-\u003eserialized and convert aec62xx, cs5530 and sc1200 host drivers\nto use it.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "ed67b92385a5afddc98d5ff0894b2854c4a54dac",
      "tree": "bb5a72cbc383ffdc759c1c12a18fc5be54df69e2",
      "parents": [
        "40d2dd7ef3df468814a34cd3d31486408e604468"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Oct 19 00:30:10 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Oct 19 00:30:10 2007 +0200"
      },
      "message": "ide: add IDE_HFLAG_ERROR_STOPS_FIFO host flag\n\nAdd IDE_HFLAG_ERROR_STOPS_FIFO host flag and use it instead\nof hwif-\u003eerr_stops_fifo.  As a side-effect this change fixes\nhwif-\u003eerr_stops_fifo not being restored by ide_hwif_restore().\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "942278ef6424c5d661ad0a8202ef60dc0f268a95",
      "tree": "e452ea271db596beb85a495e20d821691cf8e13f",
      "parents": [
        "7ed5829758d8d6c5486ec54fb4414b7683541fad"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Oct 19 00:30:09 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Oct 19 00:30:09 2007 +0200"
      },
      "message": "ide: remove .init_setup from ide_pci_device_t\n\nNow that all users were fixed we can safely remove it.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "5f8b6c34854a966fe5eb7241fde0419d47d5d408",
      "tree": "052afd508d9cd314f503d938182db55355f1b392",
      "parents": [
        "9adf768a398745c539623210502b521e671c59d7"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Oct 19 00:30:07 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Oct 19 00:30:07 2007 +0200"
      },
      "message": "ide: add -\u003emwdma_mask and -\u003eswdma_mask to ide_pci_device_t (take 2)\n\n* Add -\u003emwdma_mask and -\u003eswdma_mask to ide_pci_device_t.\n\n* Set ide_hwif_t DMA masks using DMA masks from ide_pci_device_t in\n  setup-pci.c::ide_pci_setup_ports() (iff DMA base is valid and -\u003einit_hwif\n  method may still override them).\n\n* Convert IDE PCI host drivers to use ide_pci_device_t DMA masks.\n\nWhile at it:\n\n* Use ATA_{UDMA,MWDMA,SWDMA}* defines.\n\n* hpt34x.c: add separate ide_pci_device_t instances for HPT343 and HPT345.\n\n* serverworks.c: fix DMA masks being set before checking DMA base.\n\nv2:\n* Add missing masks to DECLARE_GENERIC_PCI_DEV() macro.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "238e4f142c33bb34440cc64029dde7b9fbc4e65f",
      "tree": "5fc96f650cf6d326a4bc1e0026cd8ddeb9b9aa94",
      "parents": [
        "9ffcf364f9d0aca3ea79e9987c368eb75925460e"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Oct 19 00:30:07 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Oct 19 00:30:07 2007 +0200"
      },
      "message": "ide: add IDE_HFLAG_NO_LBA48 and IDE_HFLAG_NO_LBA48_DMA host flags\n\nAdd IDE_HFLAG_NO_LBA48[_DMA] host flags, use it instead of hwif-\u003eno_lba48[_dma]\nand then remove no longer needed hwif-\u003eno_lba48[_dma].  As a side-effect\nthis change fixes hwif-\u003eno_lba48_dma not being restored by ide_hwif_restore().\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "9ffcf364f9d0aca3ea79e9987c368eb75925460e",
      "tree": "2916b96c1c020acd5ce19aa07fce0d6790567916",
      "parents": [
        "47b687882c02f802dd5bbe1227effe006820246e"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Oct 19 00:30:07 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Oct 19 00:30:07 2007 +0200"
      },
      "message": "ide: remove -\u003einit_setup_dma from ide_pci_device_t (take 2)\n\n* Make ide_pci_device_t.host_flags u32 and add IDE_HFLAG_CS5520 host flag.\n\n* Pass ide_pci_device_t *d to setup-pci.c::ide_get_or_set_dma_base()\n  and use d-\u003ename instead of hwif-\u003ecds-\u003ename.\n\n* Set IDE_HFLAG_CS5520 host flag in cs5520 host driver and use it in\n  ide_get_or_set_dma_base() to find out which PCI BAR to use, remove no longer\n  needed cs5520.c::cs5520_init_setup_dma() and ide_pci_device_t.init_setup_dma.\n\n  This fixes PCI bus-mastering not being checked for CS5510/CS5520 hosts.\n\nv2:\n* It is wrong to check simplex bits on CS5510/CS5520 as v1 did.\n  (Noticed by Alan).\n\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "47b687882c02f802dd5bbe1227effe006820246e",
      "tree": "7b9048ebfa0a53203e4e3c55649f28e352a143cc",
      "parents": [
        "7cab14a79973893392111b8f887856a54621f759"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Oct 19 00:30:06 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Oct 19 00:30:06 2007 +0200"
      },
      "message": "ide: add IDE_HFLAG_NO_{DMA,AUTODMA} host flags\n\nAdd IDE_HFLAG_NO_{DMA,AUTODMA} host flags.  Convert all host drivers using\nide_pci_device_t to use these flags instead of d-\u003eautodma and then remove no\nlonger needed d-\u003eautodma.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "7cab14a79973893392111b8f887856a54621f759",
      "tree": "925ad89a10daa3584e05806eadffb628ef97313b",
      "parents": [
        "33c1002ed912ac9dacedd5d5b166da3b72d18460"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Oct 19 00:30:06 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Oct 19 00:30:06 2007 +0200"
      },
      "message": "ide: add IDE_HFLAG_BOOTABLE host flag\n\nAdd IDE_HFLAG_BOOTABLE host flag and IDE_HFLAG_OFF_BOARD define.  Convert\nall host drivers using ide_pci_device_t to use IDE_HFLAG_{BOOTABLE,OFF_BOARD}\ninstead of d-\u003ebootable and then remove no longer needed d-\u003ebootable.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "33c1002ed912ac9dacedd5d5b166da3b72d18460",
      "tree": "c129987c6935542a8bd95924873ac6bf0e1e756c",
      "parents": [
        "1c3dd326ad790934fd88ec086e75a9d61ddaef8a"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Oct 19 00:30:06 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Oct 19 00:30:06 2007 +0200"
      },
      "message": "ide: add IDE_HFLAG_NO_ATAPI_DMA host flag\n\nAdd IDE_HFLAG_NO_ATAPI_DMA host flag and set it in host drivers which\ndon\u0027t support ATAPI DMA.  Then remove no longer needed hwif-\u003eatapi_dma.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "1b678347121001c3c230c6eccfdf9f65c3ec1a4e",
      "tree": "06fbd912de1d6cb032db4a25868fb8600d344c06",
      "parents": [
        "d85714d81cc0408daddb68c10f7fd69eafe7c213"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri Oct 19 00:30:05 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Oct 19 00:30:05 2007 +0200"
      },
      "message": "ide: Add ide_get_paired_drive() helper\n\nThis adds a helper to get to the \"other\" drive on a pair connected\nto a given hwif.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Andrew Morton \u003cakpm@osdl.org\u003e\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "58f9b52ee8712283f7ffedb661df678c61e88a91",
      "tree": "fe6d2e1bca6befd8ca347487a7c053b8136320ad",
      "parents": [
        "2af170dd241810212cbdbdc802ba7d39e3fb23b9",
        "c70878b4e0b6cf8d2f1e46319e48e821ef4a8aba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 15:12:41 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 15:12:41 2007 -0700"
      },
      "message": "Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt\n\n* ssh://master.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt:\n  hrtimer: hook compat_sys_nanosleep up to high res timer code\n  hrtimer: Rework hrtimer_nanosleep to make sys_compat_nanosleep easier\n"
    },
    {
      "commit": "2af170dd241810212cbdbdc802ba7d39e3fb23b9",
      "tree": "3d16719aa102444337f161c457502704a4967a53",
      "parents": [
        "ab08ed1770140ebcf1be1657087689832b755874",
        "3be6cbd73f74b4a3da82cc7d6e1688a4ae595fc7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 15:08:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 15:08:35 2007 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  [libata] kill ata_sg_is_last()\n  Update libata driver for bf548 atapi controller against the 2.6.24 tree.\n  libata-sff: Correct use of check_status()\n  drivers/ata: add support to Freescale 3.0Gbps SATA Controller\n  pata_acpi: fix build breakage if !CONFIG_PM\n"
    },
    {
      "commit": "54e840dd5021ae03c5d2b4158b191bb67f584b75",
      "tree": "f5df7580707828ebdcafbbc6cb719ddaec5a5fdd",
      "parents": [
        "32c15bb978c0e6ff65b3012a6af5a14c899005ce",
        "480b9434c542ddf2833aaed3dabba71bc0b787b5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:54:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:54:03 2007 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched:\n  sched: reduce schedstat variable overhead a bit\n  sched: add KERN_CONT annotation\n  sched: cleanup, make struct rq comments more consistent\n  sched: cleanup, fix spacing\n  sched: fix return value of wait_for_completion_interruptible()\n"
    },
    {
      "commit": "a57793651ff1a09ef18bade998632435ca2dc13f",
      "tree": "fffc839d7b001f196421f09f0a06491588835fe1",
      "parents": [
        "9cf52b2921fbe62566b6b2ee79f71203749c9e5e",
        "52f095ee88d8851866bc7694ab991ca5abf21d5e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:40:30 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:40:30 2007 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (51 commits)\n  [IPV6]: Fix again the fl6_sock_lookup() fixed locking\n  [NETFILTER]: nf_conntrack_tcp: fix connection reopening fix\n  [IPV6]: Fix race in ipv6_flowlabel_opt() when inserting two labels\n  [IPV6]: Lost locking in fl6_sock_lookup\n  [IPV6]: Lost locking when inserting a flowlabel in ipv6_fl_list\n  [NETFILTER]: xt_sctp: fix mistake to pass a pointer where array is required\n  [NET]: Fix OOPS due to missing check in dev_parse_header().\n  [TCP]: Remove lost_retrans zero seqno special cases\n  [NET]: fix carrier-on bug?\n  [NET]: Fix uninitialised variable in ip_frag_reasm()\n  [IPSEC]: Rename mode to outer_mode and add inner_mode\n  [IPSEC]: Disallow combinations of RO and AH/ESP/IPCOMP\n  [IPSEC]: Use the top IPv4 route\u0027s peer instead of the bottom\n  [IPSEC]: Store afinfo pointer in xfrm_mode\n  [IPSEC]: Add missing BEET checks\n  [IPSEC]: Move type and mode map into xfrm_state.c\n  [IPSEC]: Fix length check in xfrm_parse_spi\n  [IPSEC]: Move ip_summed zapping out of xfrm6_rcv_spi\n  [IPSEC]: Get nexthdr from caller in xfrm6_rcv_spi\n  [IPSEC]: Move tunnel parsing for IPv4 out of xfrm4_input\n  ...\n"
    },
    {
      "commit": "9cf52b2921fbe62566b6b2ee79f71203749c9e5e",
      "tree": "5705ab0af0adfb7043407b5a4ffbf43fcbff42bd",
      "parents": [
        "952184304fbf030f0133d8b66a91b2847dce729e",
        "5c45708352a040f19caceb683c78bc86aad466f6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:39:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:39:44 2007 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6\n\n* \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:\n  [SPARC/64]: Consolidate of_register_driver\n  [SPARC] Videopix Frame Grabber: Convert device_lock_sem to mutex\n  [SPARC]: Support for new termios.\n  [SPARC64]: Check of_get_property() return in pci_determine_mem_io_space().\n  [SPARC64]: Fix boot failures due to bootmem.\n  [SPARC64]: Implement atomic backoff.\n"
    },
    {
      "commit": "d8c98618f4bb8161cc0c14e110b07ba37249332b",
      "tree": "0b546c06c0b9946cdb3274c98a0a9d4c5084ea5d",
      "parents": [
        "ac0191517c3b5f2cf68ab36756d64ef035c4a770"
      ],
      "author": {
        "name": "Corey Minyard",
        "email": "cminyard@mvista.com",
        "time": "Thu Oct 18 03:07:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:32 2007 -0700"
      },
      "message": "IPMI: add 0.9 support\n\nAdd support for IPMI 0.9 systems to the IPMI driver.  Just handle a shorter\nget device ID command with less information.\n\nSigned-off-by: Corey Minyard \u003ccminyard@mvista.com\u003e\nCc: Stian Jordet \u003cliste@jordet.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fcfa4724116589d6a5fac92af410b6f12d41b5bb",
      "tree": "e709e6e51e8475836f56478a4645bbeeb8daf134",
      "parents": [
        "650dd0c7faf8126aaa261833dc9171a070deeaf3"
      ],
      "author": {
        "name": "Corey Minyard",
        "email": "cminyard@mvista.com",
        "time": "Thu Oct 18 03:07:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:32 2007 -0700"
      },
      "message": "IPMI: add polled interface\n\nCurrently the IPMI watchdog timer sets the watchdog timeout on a panic, but it\ndoesn\u0027t actually poll the interface to make sure the message goes out.\n\nAdd an interface for polling the IPMI driver, and add code to the IPMI\nwatchdog timer to poll the interface when the timer is set from a panic.\n\nSigned-off-by: Corey Minyard \u003ccminyard@mvista.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e8c44319c691dfb4a0b039b095204c040df9b01a",
      "tree": "66e9262f8a2659afc9b88c570fe6980b32974177",
      "parents": [
        "c80544dc0b87bb65038355e7aafdc30be16b26ab"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Thu Oct 18 03:07:07 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:32 2007 -0700"
      },
      "message": "Replace __attribute_pure__ with __pure\n\nTo be consistent with the use of attributes in the rest of the kernel\nreplace all use of __attribute_pure__ with __pure and delete the definition\nof __attribute_pure__.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nCc: Bryan Wu \u003cbryan.wu@analog.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0e9663ee452ffce0d429656ebbcfe69417a30e92",
      "tree": "a72825f122c9e38d4adc42ebcfd127f366da4a0f",
      "parents": [
        "f33321141b273d60cbb3a8f56a5489baad82ba5e"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Oct 18 03:07:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:31 2007 -0700"
      },
      "message": "fuse: add blksize field to fuse_attr\n\nThere are cases when the filesystem will be passed the buffer from a single\nread or write call, namely:\n\n 1) in \u0027direct-io\u0027 mode (not O_DIRECT), read/write requests don\u0027t go\n    through the page cache, but go directly to the userspace fs\n\n 2) currently buffered writes are done with single page requests, but\n    if Nick\u0027s -\u003eperform_write() patch goes it, it will be possible to\n    do larger write requests.  But only if the original write() was\n    also bigger than a page.\n\nIn these cases the filesystem might want to give a hint to the app\nabout the optimal I/O size.\n\nAllow the userspace filesystem to supply a blksize value to be returned by\nstat() and friends.  If the field is zero, it defaults to the old\nPAGE_CACHE_SIZE value.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f33321141b273d60cbb3a8f56a5489baad82ba5e",
      "tree": "b6443b674600dcdb8c33aa6d44b7a673edc255b4",
      "parents": [
        "b25e82e5673c750116e8b01a4fc7d09be7809f8c"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Oct 18 03:07:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:31 2007 -0700"
      },
      "message": "fuse: add support for mandatory locking\n\nFor mandatory locking the userspace filesystem needs to know the lock\nownership for read, write and truncate operations.\n\nThis patch adds the necessary fields to the protocol.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b25e82e5673c750116e8b01a4fc7d09be7809f8c",
      "tree": "03d23ccbca6e87ba98efeba445ff714455dba0bb",
      "parents": [
        "93a8c3cd9e9834dc5f5c373336f3a0065521152d"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Oct 18 03:07:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:31 2007 -0700"
      },
      "message": "fuse: add helper for asynchronous writes\n\nThis patch adds a new helper function fuse_write_fill() which makes it\npossible to send WRITE requests asynchronously.\n\nA new flag for WRITE requests is also added which indicates that this a write\nfrom the page cache, and not a \"normal\" file write.\n\nThis patch is in preparation for writable mmap support.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a9ff4f87056cd31a8232b88d013dc6c9ad719c18",
      "tree": "8ddcc01ae8b6615a9a530fb51c52825b315ee266",
      "parents": [
        "6ff958edbf39c014eb06b65ad25b736be08c4e63"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Oct 18 03:07:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:31 2007 -0700"
      },
      "message": "fuse: support BSD locking semantics\n\nIt is trivial to add support for flock(2) semantics to the existing protocol,\nby setting the lock owner field to the file pointer, and passing a new\nFUSE_LK_FLOCK flag with the locking request.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6ff958edbf39c014eb06b65ad25b736be08c4e63",
      "tree": "f87af1ae11b321cfa38c25378229f25942797385",
      "parents": [
        "17637cbaba592076c221dc045ca78422b4af6290"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Oct 18 03:07:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:31 2007 -0700"
      },
      "message": "fuse: add atomic open+truncate support\n\nThis patch allows fuse filesystems to implement open(..., O_TRUNC) as a single\nrequest, instead of separate truncate and open requests.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "17637cbaba592076c221dc045ca78422b4af6290",
      "tree": "9b8148b29cb2c776cd96278c0710a890054a2b78",
      "parents": [
        "d139d7ffd0c1e81e2a809909b4f8b121a0dc119a"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Oct 18 03:07:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:30 2007 -0700"
      },
      "message": "fuse: improve utimes support\n\nAdd two new flags for setattr: FATTR_ATIME_NOW and FATTR_MTIME_NOW.  These\nmean, that atime or mtime should be changed to the current time.\n\nAlso it is now possible to update atime or mtime individually, not just\ntogether.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d139d7ffd0c1e81e2a809909b4f8b121a0dc119a",
      "tree": "e8c9dd746bfd8ae16d17596009608c4c1a153217",
      "parents": [
        "49d4914fd7c10ae846d0f30d5f6f4732cc68499c"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Oct 18 03:07:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:30 2007 -0700"
      },
      "message": "VFS: allow filesystems to implement atomic open+truncate\n\nAdd a new attribute flag ATTR_OPEN, with the meaning: \"truncation was\ninitiated by open() due to the O_TRUNC flag\".\n\nThis way filesystems wanting to implement truncation within their -\u003eopen()\nmethod can ignore such truncate requests.\n\nThis is a quick \u0026 dirty hack, but it comes for free.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c79e322f63592c00b25b17af6a1782fad6c6fe6e",
      "tree": "d3cbacb295b82c036553f68f5a060c67ae16bfa3",
      "parents": [
        "1fb69e7817296da8a6824804bb206ca1e7f31425"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Oct 18 03:06:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:30 2007 -0700"
      },
      "message": "fuse: add file handle to getattr operation\n\nAdd necessary protocol changes for supplying a file handle with the getattr\noperation.  Step the API version to 7.9.\n\nThis patch doesn\u0027t actually supply the file handle, because that needs some\nkind of VFS support, which we haven\u0027t yet been able to agree upon.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0f0a89ebe1ccf7c280534f69577cdd182941eb6a",
      "tree": "f82d98ac18168ff8b7757cd8ac66e93e46695e30",
      "parents": [
        "4176ed593866b5e4bcf86896e0734315ad46661b"
      ],
      "author": {
        "name": "Takashi Sato",
        "email": "sho@tnes.nec.co.jp",
        "time": "Thu Oct 18 03:06:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:29 2007 -0700"
      },
      "message": "ext3: support large blocksize up to PAGESIZE\n\nThis patch set supports large block size(\u003e4k, \u003c\u003d64k) in ext3 just enlarging\nthe block size limit.  But it is NOT possible to have 64kB blocksize on\next3 without some changes to the directory handling code.  The reason is\nthat an empty 64kB directory block would have a rec_len \u003d\u003d (__u16)2^16 \u003d\u003d\n0, and this would cause an error to be hit in the filesystem.  The proposed\nsolution is treat 64k rec_len with a an impossible value like rec_len \u003d\n0xffff to handle this.\n\nThe Patch-set consists of the following 2 patches.\n  [1/2]  ext3: enlarge blocksize\n         - Allow blocksize up to pagesize\n\n  [2/2]  ext3: fix rec_len overflow\n         - prevent rec_len from overflow with 64KB blocksize\n\nNow on 64k page ppc64 box runs with this patch set we could create a 64k\nblock size ext3, and able to handle empty directory block.\n\nSigned-off-by: Takashi Sato \u003csho@tnes.nec.co.jp\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b8dc93cbe91324b922395919cd5df4cca2fe55f6",
      "tree": "724a8813d6b5119619a6b8c499a59825575ae0c9",
      "parents": [
        "66ffb04ca5ec43ca763e8a9802ca3244f5519ae1"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Thu Oct 18 03:06:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:29 2007 -0700"
      },
      "message": "bit_spin_lock: use lock bitops\n\nConvert bit_spin_lock to new locking bitops.  Slub can use the non-atomic\nstore version to clear (Christoph?)\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "761bb431908e84d1793c5eb6c2ae2cc4926bed3e",
      "tree": "6b9afbc8b7156573da0d095390e4dbb3b16fd82c",
      "parents": [
        "4603ac180a824197c2262747948d0179eb076e9c"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "satyam@infradead.org",
        "time": "Thu Oct 18 03:06:38 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:28 2007 -0700"
      },
      "message": "Redefine {un}register_hotcpu_notifier() !HOTPLUG_CPU stubs\n\nThe return of the present \"do {} while\" based stub definition of\nregister_hotcpu_notifier() cannot be checked.  This makes the stub\nasymmetric w.r.t.  the real HOTPLUG_CPU\u003dy implementation that is\nint-returning.  So let us redefine this to be consistent with the full\nversion.  Also do the same for unregister_hotcpu_notifier().\n\nWe cannot define these as static inline functions due to an existing GCC\nbug (#33172).  So define as macros that return appropriately instead (int\n\u00270\u0027 for the register_hotcpu_notifier case and void for\nunregister_hotcpu_notifier).\n\nSigned-off-by: Satyam Sharma \u003csatyam@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f494f8fcb18e962839a82d542fbe6bed9cf5be07",
      "tree": "bf5b0ce1119df05607a8111bed5047fffb305709",
      "parents": [
        "c66f08be7e3ad0a28bcd9a0aef766fdf08ea0ec6"
      ],
      "author": {
        "name": "Michael Neuling",
        "email": "mneuling@au1.ibm.com",
        "time": "Thu Oct 18 03:06:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:28 2007 -0700"
      },
      "message": "add-scaled-time-to-taskstats-based-process-accounting fix\n\nThis moves the new items to the end of the taskstats struct as\nrequested by Balbir and yourself.\n\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Jay Lan \u003cjlan@engr.sgi.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c66f08be7e3ad0a28bcd9a0aef766fdf08ea0ec6",
      "tree": "d147c0a43a66973014d924a6020388a249c509a7",
      "parents": [
        "898eb71cb17644964c5895fb190e79e3d0c49679"
      ],
      "author": {
        "name": "Michael Neuling",
        "email": "mikey@neuling.org",
        "time": "Thu Oct 18 03:06:34 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:28 2007 -0700"
      },
      "message": "Add scaled time to taskstats based process accounting\n\nThis adds items to the taststats struct to account for user and system\ntime based on scaling the CPU frequency and instruction issue rates.\n\nAdds account_(user|system)_time_scaled callbacks which architectures\ncan use to account for time using this mechanism.\n\nSigned-off-by: Michael Neuling \u003cmikey@neuling.org\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Jay Lan \u003cjlan@engr.sgi.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "65f76a82ec7a0374fad85211535330e203740475",
      "tree": "351838854d96086ee86e4daaaf64dbd9c0264b30",
      "parents": [
        "1c0a387c1f9e48e480579d3b4e0f9c1a36c77751"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Oct 18 03:06:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:26 2007 -0700"
      },
      "message": "Char: cyclades, fix some -W warnings\n\nMost of them are signedness, the rest unused function parameters.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@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": "ebafeeff0fea029099e9952f233e0794106897a6",
      "tree": "50bc3ca7f9d4c7153c3e98bda28199dcc6eff948",
      "parents": [
        "c43422053bea7a5ce09f18d0c50a606fe1a549f4"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Oct 18 03:06:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:26 2007 -0700"
      },
      "message": "Char: cyclades, remove bottom half processing\n\nThe work done in bottom half doesn\u0027t cost much cpu time (e.g.  tty_hangup\nitself schedules its own bottom half), it\u0027s possible to do the work in isr\ndirectly and save hence some .text.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Paul Fulghum \u003cpaulkf@microgate.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "72c2d5823fc7be799a12184974c3bdc57acea3c4",
      "tree": "5c17418efb57cd5b2cdc0d751f577b2c64012423",
      "parents": [
        "7058cb02ddab4bce70a46e519804fccb7ac0a060"
      ],
      "author": {
        "name": "Andrew Morgan",
        "email": "morgan@kernel.org",
        "time": "Thu Oct 18 03:05:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:24 2007 -0700"
      },
      "message": "V3 file capabilities: alter behavior of cap_setpcap\n\nThe non-filesystem capability meaning of CAP_SETPCAP is that a process, p1,\ncan change the capabilities of another process, p2.  This is not the\nmeaning that was intended for this capability at all, and this\nimplementation came about purely because, without filesystem capabilities,\nthere was no way to use capabilities without one process bestowing them on\nanother.\n\nSince we now have a filesystem support for capabilities we can fix the\nimplementation of CAP_SETPCAP.\n\nThe most significant thing about this change is that, with it in effect, no\nprocess can set the capabilities of another process.\n\nThe capabilities of a program are set via the capability convolution\nrules:\n\n   pI(post-exec) \u003d pI(pre-exec)\n   pP(post-exec) \u003d (X(aka cap_bset) \u0026 fP) | (pI(post-exec) \u0026 fI)\n   pE(post-exec) \u003d fE ? pP(post-exec) : 0\n\nat exec() time.  As such, the only influence the pre-exec() program can\nhave on the post-exec() program\u0027s capabilities are through the pI\ncapability set.\n\nThe correct implementation for CAP_SETPCAP (and that enabled by this patch)\nis that it can be used to add extra pI capabilities to the current process\n- to be picked up by subsequent exec()s when the above convolution rules\nare applied.\n\nHere is how it works:\n\nLet\u0027s say we have a process, p. It has capability sets, pE, pP and pI.\nGenerally, p, can change the value of its own pI to pI\u0027 where\n\n   (pI\u0027 \u0026 ~pI) \u0026 ~pP \u003d 0.\n\nThat is, the only new things in pI\u0027 that were not present in pI need to\nbe present in pP.\n\nThe role of CAP_SETPCAP is basically to permit changes to pI beyond\nthe above:\n\n   if (pE \u0026 CAP_SETPCAP) {\n      pI\u0027 \u003d anything; /* ie., even (pI\u0027 \u0026 ~pI) \u0026 ~pP !\u003d 0  */\n   }\n\nThis capability is useful for things like login, which (say, via\npam_cap) might want to raise certain inheritable capabilities for use\nby the children of the logged-in user\u0027s shell, but those capabilities\nare not useful to or needed by the login program itself.\n\nOne such use might be to limit who can run ping. You set the\ncapabilities of the \u0027ping\u0027 program to be \"\u003d cap_net_raw+i\", and then\nonly shells that have (pI \u0026 CAP_NET_RAW) will be able to run\nit. Without CAP_SETPCAP implemented as described above, login(pam_cap)\nwould have to also have (pP \u0026 CAP_NET_RAW) in order to raise this\ncapability and pass it on through the inheritable set.\n\nSigned-off-by: Andrew Morgan \u003cmorgan@kernel.org\u003e\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fc6cd25b738c2369d7ed3a6ef2ca248b51fcd2d4",
      "tree": "bd3708eac72edf06097a8a2ed72c3a3fea0b0998",
      "parents": [
        "f429cd37a21b8efc825bdbb22db7f033564cbc98"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Oct 18 03:05:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:23 2007 -0700"
      },
      "message": "sysctl: Error on bad sysctl tables\n\nAfter going through the kernels sysctl tables several times it has become\nclear that code review and testing is just not effective in prevent\nproblematic sysctl tables from being used in the stable kernel.  I certainly\ncan\u0027t seem to fix the problems as fast as they are introduced.\n\nTherefore this patch adds sysctl_check_table which is called when a sysctl\ntable is registered and checks to see if we have a problematic sysctl table.\n\nThe biggest part of the code is the table of valid binary sysctl entries, but\nsince we have frozen our set of binary sysctls this table should not need to\nchange, and it makes it much easier to detect when someone unintentionally\nadds a new binary sysctl value.\n\nAs best as I can determine all of the several hundred errors spewed on boot up\nnow are legitimate.\n\n[bunk@kernel.org: kernel/sysctl_check.c must #include \u003clinux/string.h\u003e]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f429cd37a21b8efc825bdbb22db7f033564cbc98",
      "tree": "1a6da3cc2c674ebc5b7afabfab16b670658f6038",
      "parents": [
        "c65f92398ec4ebfcaef91309bf055028a9899d6f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Oct 18 03:05:33 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:23 2007 -0700"
      },
      "message": "sysctl: properly register the irda binary sysctl numbers\n\nGrumble.  These numbers should have been in sysctl.h from the beginning if we\never expected anyone to use them.  Oh well put them there now so we can find\nthem and make maintenance easier.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Samuel Ortiz \u003csamuel@sortiz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "25398a158d86b993fa5bf36f5a6752134b584d60",
      "tree": "38a1db45fdeb8cfa691cf6f1b38a762773e5b950",
      "parents": [
        "0d135a4a8c77f248afd908bc3cf5bd833062589d"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Oct 18 03:05:30 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:23 2007 -0700"
      },
      "message": "sysctl: parport remove binary paths\n\nThe sysctl binary paths don\u0027t look as if they even code work, .data is not\nfilled in, and all of the proc_handlers look at extra1 and there is not\nstrategy routine.\n\nSo just kill the binary paths.\n\nIn addition this patch removes the setting of extra1 on directories.  It\ndoesn\u0027t look like the parport code ever examines it, and it\u0027s bad sysctl form.\n\n[bunk@kernel.org: remove parport_device_num()]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "49a0c45833c9aa9852ba02c9df0f18029509d0a9"
}
