)]}'
{
  "log": [
    {
      "commit": "2d9048e201bfb67ba21f05e647b1286b8a4a5667",
      "tree": "1df2ca6780d403f3209cf445f8b0b27f45098434",
      "parents": [
        "90204e0b7b51e9f2a6905adca12dc331128602c7"
      ],
      "author": {
        "name": "Amy Griffis",
        "email": "amy.griffis@hp.com",
        "time": "Thu Jun 01 13:10:59 2006 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 20 05:25:17 2006 -0400"
      },
      "message": "[PATCH] inotify (1/5): split kernel API from userspace support\n\nThe following series of patches introduces a kernel API for inotify,\nmaking it possible for kernel modules to benefit from inotify\u0027s\nmechanism for watching inodes.  With these patches, inotify will\nmaintain for each caller a list of watches (via an embedded struct\ninotify_watch), where each inotify_watch is associated with a\ncorresponding struct inode.  The caller registers an event handler and\nspecifies for which filesystem events their event handler should be\ncalled per inotify_watch.\n\nSigned-off-by: Amy Griffis \u003camy.griffis@hp.com\u003e\nAcked-by: Robert Love \u003crml@novell.com\u003e\nAcked-by: John McCutchan \u003cjohn@johnmccutchan.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cef0893dcf1fdf22943aa49e75ee1eb3bfffe5f5",
      "tree": "13d7116b336bf935dafe70a732395c5c1fd03be3",
      "parents": [
        "eed7a0db460595b139428d252798a83f1e1ce1d3"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed May 03 11:38:53 2006 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Wed May 17 14:38:51 2006 -0700"
      },
      "message": "configfs: Make sure configfs_init() is called before consumers.\n\nconfigfs_init() needs to be called first to register configfs before anyconsumers try to access it.  Move up configfs in fs/Makefile to make\nsure it is initialized early.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\n"
    },
    {
      "commit": "f79e2abb9bd452d97295f34376dedbec9686b986",
      "tree": "56b9998caa11983556e842fb9a8143d86d765fa3",
      "parents": [
        "d6dfd1310d3562698fd7c3c086f6c239f96394ac"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 31 02:30:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:54 2006 -0800"
      },
      "message": "[PATCH] sys_sync_file_range()\n\nRemove the recently-added LINUX_FADV_ASYNC_WRITE and LINUX_FADV_WRITE_WAIT\nfadvise() additions, do it in a new sys_sync_file_range() syscall instead.\nReasons:\n\n- It\u0027s more flexible.  Things which would require two or three syscalls with\n  fadvise() can be done in a single syscall.\n\n- Using fadvise() in this manner is something not covered by POSIX.\n\nThe patch wires up the syscall for x86.\n\nThe sycall is implemented in the new fs/sync.c.  The intention is that we can\nmove sys_fsync(), sys_fdatasync() and perhaps sys_sync() into there later.\n\nDocumentation for the syscall is in fs/sync.c.\n\nA test app (sync_file_range.c) is in\nhttp://www.zip.com.au/~akpm/linux/patches/stuff/ext3-tools.tar.gz.\n\nThe available-to-GPL-modules do_sync_file_range() is for knfsd: \"A COMMIT can\nsay NFS_DATA_SYNC or NFS_FILE_SYNC.  I can skip the -\u003efsync call for\nNFS_DATA_SYNC which is hopefully the more common.\"\n\nNote: the `async\u0027 writeout mode SYNC_FILE_RANGE_WRITE will turn synchronous if\nthe queue is congested.  This is trivial to fix: add a new flag bit, set\nwbc-\u003enonblocking.  But I\u0027m not sure that we want to expose implementation\ndetails down to that level.\n\nNote: it\u0027s notable that we can sync an fd which wasn\u0027t opened for writing.\nSame with fsync() and fdatasync()).\n\nNote: the code takes some care to handle attempts to sync file contents\noutside the 16TB offset on 32-bit machines.  It makes such attempts appear to\nsucceed, for best 32-bit/64-bit compatibility.  Perhaps it should make such\nrequests fail...\n\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5274f052e7b3dbd81935772eb551dfd0325dfa9d",
      "tree": "c79f813ec513660edb6f1e4a75cb366c6b84f53f",
      "parents": [
        "5d4fe2c1ce83c3e967ccc1ba3d580c1a5603a866"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Mar 30 15:15:30 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 30 12:28:18 2006 -0800"
      },
      "message": "[PATCH] Introduce sys_splice() system call\n\nThis adds support for the sys_splice system call. Using a pipe as a\ntransport, it can connect to files or sockets (latter as output only).\n\nFrom the splice.c comments:\n\n   \"splice\": joining two ropes together by interweaving their strands.\n\n   This is the \"extended pipe\" functionality, where a pipe is used as\n   an arbitrary in-memory buffer. Think of a pipe as a small kernel\n   buffer that you can use to transfer data from one end to the other.\n\n   The traditional unix read/write is extended with a \"splice()\" operation\n   that transfers data buffers to or from a pipe buffer.\n\n   Named by Larry McVoy, original implementation from Linus, extended by\n   Jens to support splicing to files and fixing the initial implementation\n   bugs.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b86ff981a8252d83d6a7719ae09f3a05307e3592",
      "tree": "ba8839f46cb140664e6a1ff6c7361b7424a95a7f",
      "parents": [
        "b0e6e962992b76580f4900b166a337bad7c1e81b"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Mar 23 19:56:55 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Mar 23 19:56:55 2006 +0100"
      },
      "message": "[PATCH] relay: migrate from relayfs to a generic relay API\n\nOriginal patch from Paul Mundt, sysfs parts removed by me since they\nwere broken.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "e6a6d2efcb7e7c87c5fe0395803da1453b29cbef",
      "tree": "76061b3067e22ba78cce975e5f729c6a6a37fce5",
      "parents": [
        "8262037f406dc8e0908ad51f355c3dfd4d662aba"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Jan 09 20:52:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 10 08:01:33 2006 -0800"
      },
      "message": "[PATCH] sanitize building of fs/compat_ioctl.c\n\nNow that all these entries in the arch ioctl32.c files are gone [1], we can\nbuild fs/compat_ioctl.c as a normal object and kill tons of cruft.  We need a\nspecial do_ioctl32_pointer handler for s390 so the compat_ptr call is done.\nThis is not needed but harmless on all other architectures.  Also remove some\nsuperflous includes in fs/compat_ioctl.c\n\nTested on ppc64.\n\n[1] parisc still had it\u0027s PPP handler left, which is not fully correct\n    for ppp and besides that ppp uses the generic SIOCPRIV ioctl so it\u0027d\n    kick in for all netdevice users.  We can introduce a proper handler\n    in one of the next patch series by adding a compat_ioctl method to\n    struct net_device but for now let\u0027s just kill it - parisc doesn\u0027t\n    compile in mainline anyway and I don\u0027t want this to block this\n    patchset.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9d0243bca345d5ce25d3f4b74b7facb3a6df1232",
      "tree": "a3a0a763bf83a483282dc1c3caab587941a98fc2",
      "parents": [
        "bec6b0c89b234090681a4516e20ac5debe3e7c59"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Jan 08 01:00:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:12:40 2006 -0800"
      },
      "message": "[PATCH] drop-pagecache\n\nAdd /proc/sys/vm/drop_caches.  When written to, this will cause the kernel to\ndiscard as much pagecache and/or reclaimable slab objects as it can.  THis\noperation requires root permissions.\n\nIt won\u0027t drop dirty data, so the user should run `sync\u0027 first.\n\nCaveats:\n\na) Holds inode_lock for exorbitant amounts of time.\n\nb) Needs to be taught about NUMA nodes: propagate these all the way through\n   so the discarding can be controlled on a per-node basis.\n\nThis is a debugging feature: useful for getting consistent results between\nfilesystem benchmarks.  We could possibly put it under a config option, but\nit\u0027s less than 300 bytes.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b4e40a51881931bfcbc78a585e875bb2784d6d10",
      "tree": "a874485dafacc0896c3b355efa079f7e93a450fd",
      "parents": [
        "ccd979bdbce9fba8412beb3f1de68a9d0171b12c"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mark.fasheh@oracle.com",
        "time": "Thu Dec 15 14:31:24 2005 -0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Tue Jan 03 11:45:48 2006 -0800"
      },
      "message": "[PATCH] OCFS2: The Second Oracle Cluster Filesystem\n\nLink the code into the kernel build system. OCFS2 is marked as\nexperimental.\n\nSigned-off-by: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nSigned-off-by: Kurt Hackel \u003ckurt.hackel@oracle.com\u003e\n"
    },
    {
      "commit": "7063fbf2261194f72ee75afca67b3b38b554b5fa",
      "tree": "7bfe4eeab8ce784b767cf30886623d456c384718",
      "parents": [
        "88026842b0a760145aa71d69e74fbc9ec118ca44"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Dec 15 14:29:43 2005 -0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Tue Jan 03 11:45:28 2006 -0800"
      },
      "message": "[PATCH] configfs: User-driven configuration filesystem\n\nConfigfs, a file system for userspace-driven kernel object configuration.\nThe OCFS2 stack makes extensive use of this for propagation of cluster\nconfiguration information into kernel.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "07b20889e3052c7e77d6a6a54e7e83446eb1ba84",
      "tree": "616ac5b7eef3092e105d3b41e7bd2052558b064b",
      "parents": [
        "390c684367de37e1c2f9005cf92f7a746c69fdd3"
      ],
      "author": {
        "name": "Ram Pai",
        "email": "linuxram@us.ibm.com",
        "time": "Mon Nov 07 17:19:07 2005 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 18:18:10 2005 -0800"
      },
      "message": "[PATCH] beginning of the shared-subtree proper\n\nA private mount does not forward or receive propagation.  This patch\nprovides user the ability to convert any mount to private.\n\nSigned-off-by: Ram Pai \u003clinuxram@us.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "04578f174f43d29b569500f01ba772afa4016330",
      "tree": "36002fab91bc72132c88ac7969d5a38a66f90e14",
      "parents": [
        "e272d50688a1cae66a12426da128483197843d9f"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:22 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:44 2005 -0700"
      },
      "message": "[PATCH] FUSE - MAINTAINERS, Kconfig and Makefile changes\n\nThis patch adds FUSE filesystem to MAINTAINERS, fs/Kconfig and\nfs/Makefile.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "93fa58cb831337fdf5d36b3b913441100a484dae",
      "tree": "5fdc85b69eff2bb6d7d69e8bd4f97dc170e198f5",
      "parents": [
        "2822541893d88f84dd4f1525108d73effecd9d39"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Fri Sep 09 13:04:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 13:57:56 2005 -0700"
      },
      "message": "[PATCH] v9fs: Documentation, Makefiles, Configuration\n\nOVERVIEW\n\nV9FS is a distributed file system for Linux which provides an\nimplementation of the Plan 9 resource sharing protocol 9P.  It can be\nused to share all sorts of resources: static files, synthetic file servers\n(such as /proc or /sys), devices, and application file servers (such as\nFUSE).\n\nBACKGROUND\n\nPlan 9 (http://plan9.bell-labs.com/plan9) is a research operating\nsystem and associated applications suite developed by the Computing\nScience Research Center of AT\u0026T Bell Laboratories (now a part of\nLucent Technologies), the same group that developed UNIX , C, and C++.\nPlan 9 was initially released in 1993 to universities, and then made\ngenerally available in 1995. Its core operating systems code laid the\nfoundation for the Inferno Operating System released as a product by\nLucent Bell-Labs in 1997. The Inferno venture was the only commercial\nembodiment of Plan 9 and is currently maintained as a product by Vita\nNuova (http://www.vitanuova.com). After updated releases in 2000 and\n2002, Plan 9 was open-sourced under the OSI approved Lucent Public\nLicense in 2003.\n\nThe Plan 9 project was started by Ken Thompson and Rob Pike in 1985.\nTheir intent was to explore potential solutions to some of the\nshortcomings of UNIX in the face of the widespread use of high-speed\nnetworks to connect machines. In UNIX, networking was an afterthought\nand UNIX clusters became little more than a network of stand-alone\nsystems. Plan 9 was designed from first principles as a seamless\ndistributed system with integrated secure network resource sharing.\nApplications and services were architected in such a way as to allow\nfor implicit distribution across a cluster of systems. Configuring an\nenvironment to use remote application components or services in place\nof their local equivalent could be achieved with a few simple command\nline instructions. For the most part, application implementations\noperated independent of the location of their actual resources.\n\nCommercial operating systems haven\u0027t changed much in the 20 years\nsince Plan 9 was conceived. Network and distributed systems support is\nprovided by a patchwork of middle-ware, with an endless number of\npackages supplying pieces of the puzzle. Matters are complicated by\nthe use of different complicated protocols for individual services,\nand separate implementations for kernel and application resources.\nThe V9FS project (http://v9fs.sourceforge.net) is an attempt to bring\nPlan 9\u0027s unified approach to resource sharing to Linux and other\noperating systems via support for the 9P2000 resource sharing\nprotocol.\n\nV9FS HISTORY\n\nV9FS was originally developed by Ron Minnich and Maya Gokhale at Los\nAlamos National Labs (LANL) in 1997.  In November of 2001, Greg Watson\nsetup a SourceForge project as a public repository for the code which\nsupported the Linux 2.4 kernel.\n\nAbout a year ago, I picked up the initial attempt Ron Minnich had\nmade to provide 2.6 support and got the code integrated into a 2.6.5\nkernel.   I then went through a line-for-line re-write attempting to\nclean-up the code while more closely following the Linux Kernel style\nguidelines.  I co-authored a paper with Ron Minnich on the V9FS Linux\nsupport including performance comparisons to NFSv3 using Bonnie and\nPostMark - this paper appeared at the USENIX/FREENIX 2005\nconference in April 2005:\n( http://www.usenix.org/events/usenix05/tech/freenix/hensbergen.html ).\n\nCALL FOR PARTICIPATION/REQUEST FOR COMMENTS\n\nOur 2.6 kernel support is stabilizing and we\u0027d like to begin pursuing\nits integration into the official kernel tree.  We would appreciate any\nreview, comments, critiques, and additions from this community and are\nactively seeking people to join our project and help us produce\nsomething that would be acceptable and useful to the Linux community.\n\nSTATUS\n\nThe code is reasonably stable, although there are no doubt corner cases\nour regression tests haven\u0027t discovered yet.  It is in regular use by several\nof the developers and has been tested on x86 and PowerPC\n(32-bit and 64-bit) in both small and large (LANL cluster) deployments.\nOur current regression tests include fsx, bonnie, and postmark.\n\nIt was our intention to keep things as simple as possible for this\nrelease -- trying to focus on correctness within the core of the\nprotocol support versus a rich set of features.  For example: a more\ncomplete security model and cache layer are in the road map, but\nexcluded from this release.   Additionally, we have removed support for\nmmap operations at Al Viro\u0027s request.\n\nPERFORMANCE\n\nDetailed performance numbers and analysis are included in the FREENIX\npaper, but we show comparable performance to NFSv3 for large file\noperations based on the Bonnie benchmark, and superior performance for\nmany small file operations based on the PostMark benchmark.   Somewhat\npreliminary graphs (from the FREENIX paper) are available\n(http://v9fs.sourceforge.net/perf/index.html).\n\nRESOURCES\n\nThe source code is available in a few different forms:\n\ntarballs: http://v9fs.sf.net\nCVSweb: http://cvs.sourceforge.net/viewcvs.py/v9fs/linux-9p/\nCVS: :pserver:anonymous@cvs.sourceforge.net:/cvsroot/v9fs/linux-9p\nGit: rsync://v9fs.graverobber.org/v9fs (webgit: http://v9fs.graverobber.org)\n9P: tcp!v9fs.graverobber.org!6564\n\nThe user-level server is available from either the Plan 9 distribution\nor from http://v9fs.sf.net\nOther support applications are still being developed, but preliminary\nversion can be downloaded from sourceforge.\n\nDocumentation on the protocol has historically been the Plan 9 Man\npages (http://plan9.bell-labs.com/sys/man/5/INDEX.html), but there is\nan effort under way to write a more complete Internet-Draft style\nspecification (http://v9fs.sf.net/rfc).\n\nThere are a couple of mailing lists supporting v9fs, but the most used\nis v9fs-developer@lists.sourceforge.net -- please direct/cc your\ncomments there so the other v9fs contibutors can participate in the\nconversation.  There is also an IRC channel: irc://freenode.net/#v9fs\n\nThis part of the patch contains Documentation, Makefiles, and configuration\nfile changes.\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e82894f84dbba130ab46c97748c03647f8204f92",
      "tree": "dbf20825db44037f0db5d0696d43457292c546c3",
      "parents": [
        "8446f1d391f3d27e6bf9c43d4cbcdac0ca720417"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "zanussi@us.ibm.com",
        "time": "Tue Sep 06 15:16:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:18 2005 -0700"
      },
      "message": "[PATCH] relayfs\n\nHere\u0027s the latest version of relayfs, against linux-2.6.11-mm2.  I\u0027m hoping\nyou\u0027ll consider putting this version back into your tree - the previous\nrounds of comment seem to have shaken out all the API issues and the number\nof comments on the code itself have also steadily dwindled.\n\nThis patch is essentially the same as the relayfs redux part 5 patch, with\nsome minor changes based on reviewer comments.  Thanks again to Pekka\nEnberg for those.  The patch size without documentation is now a little\nsmaller at just over 40k.  Here\u0027s a detailed list of the changes:\n\n- removed the attribute_flags in relay open and changed it to a\n  boolean specifying either overwrite or no-overwrite mode, and removed\n  everything referencing the attribute flags.\n- added a check for NULL names in relayfs_create_entry()\n- got rid of the unnecessary multiple labels in relay_create_buf()\n- some minor simplification of relay_alloc_buf() which got rid of a\n  couple params\n- updated the Documentation\n\nIn addition, this version (through code contained in the relay-apps tarball\nlinked to below, not as part of the relayfs patch) tries to make it as easy\nas possible to create the cooperating kernel/user pieces of a typical and\ncommon type of logging application, one where kernel logging is kicked off\nwhen a user space data collection app starts and stops when the collection\napp exits, with the data being automatically logged to disk in between.  To\ncreate this type of application, you basically just include a header file\n(relay-app.h, included in the relay-apps tarball) in your kernel module,\ndefine a couple of callbacks and call an initialization function, and on\nthe user side call a single function that sets up and continuously monitors\nthe buffers, and writes data to files as it becomes available.  Channels\nare created when the collection app is started and destroyed when it exits,\nnot when the kernel module is inserted, so different channel buffer sizes\ncan be specified for each separate run via command-line options.  See the\nREADME in the relay-apps tarball for details.\n\nAlso included in the relay-apps tarball are a couple examples\ndemonstrating how you can use this to create quick and dirty kernel\nlogging/debugging applications.  They are:\n\n- tprintk, short for \u0027tee printk\u0027, which temporarily puts a kprobe on\n  printk() and writes a duplicate stream of printk output to a relayfs\n  channel.  This could be used anywhere there\u0027s printk() debugging code\n  in the kernel which you\u0027d like to exercise, but would rather not have\n  your system logs cluttered with debugging junk.  You\u0027d probably want\n  to kill klogd while you do this, otherwise there wouldn\u0027t be much\n  point (since putting a kprobe on printk() doesn\u0027t change the output\n  of printk()).  I\u0027ve used this method to temporarily divert the packet\n  logging output of the iptables LOG target from the system logs to\n  relayfs files instead, for instance.\n\n- klog, which just provides a printk-like formatted logging function\n  on top of relayfs.  Again, you can use this to keep stuff out of your\n  system logs if used in place of printk.\n\nThe example applications can be found here:\n\nhttp://prdownloads.sourceforge.net/dprobes/relay-apps.tar.gz?download\n\nFrom: Christoph Hellwig \u003chch@lst.de\u003e\n\n  avoid lookup_hash usage in relayfs\n\nSigned-off-by: Tom Zanussi \u003czanussi@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0eeca28300df110bd6ed54b31193c83b87921443",
      "tree": "7db42d8a18d80eca538f5b7d25e0532b8fa38b85",
      "parents": [
        "bd4c625c061c2a38568d0add3478f59172455159"
      ],
      "author": {
        "name": "Robert Love",
        "email": "rml@novell.com",
        "time": "Tue Jul 12 17:06:03 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 12 20:38:38 2005 -0700"
      },
      "message": "[PATCH] inotify\n\ninotify is intended to correct the deficiencies of dnotify, particularly\nits inability to scale and its terrible user interface:\n\n        * dnotify requires the opening of one fd per each directory\n          that you intend to watch. This quickly results in too many\n          open files and pins removable media, preventing unmount.\n        * dnotify is directory-based. You only learn about changes to\n          directories. Sure, a change to a file in a directory affects\n          the directory, but you are then forced to keep a cache of\n          stat structures.\n        * dnotify\u0027s interface to user-space is awful.  Signals?\n\ninotify provides a more usable, simple, powerful solution to file change\nnotification:\n\n        * inotify\u0027s interface is a system call that returns a fd, not SIGIO.\n\t  You get a single fd, which is select()-able.\n        * inotify has an event that says \"the filesystem that the item\n          you were watching is on was unmounted.\"\n        * inotify can watch directories or files.\n\nInotify is currently used by Beagle (a desktop search infrastructure),\nGamin (a FAM replacement), and other projects.\n\nSee Documentation/filesystems/inotify.txt.\n\nSigned-off-by: Robert Love \u003crml@novell.com\u003e\nCc: John McCutchan \u003cttb@tentacle.dhs.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "22e2c507c301c3dbbcf91b4948b88f78842ee6c9",
      "tree": "9a97c91d1362e69703aa286021daffb8a5456f4c",
      "parents": [
        "020f46a39eb7b99a575b9f4d105fce2b142acdf1"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Mon Jun 27 10:55:12 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 27 14:33:29 2005 -0700"
      },
      "message": "[PATCH] Update cfq io scheduler to time sliced design\n\nThis updates the CFQ io scheduler to the new time sliced design (cfq\nv3).  It provides full process fairness, while giving excellent\naggregate system throughput even for many competing processes.  It\nsupports io priorities, either inherited from the cpu nice value or set\ndirectly with the ioprio_get/set syscalls.  The latter closely mimic\nset/getpriority.\n\nThis import is based on my latest from -mm.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a257cdd0e2179630d3201c32ba14d7fcb3c3a055",
      "tree": "accf4139050690a65f3f2600355cbcd1a602663b",
      "parents": [
        "9ba02638e4be28dd4ff724202a640264427c62d1"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Wed Jun 22 17:16:26 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:23 2005 -0400"
      },
      "message": "[PATCH] NFSD: Add server support for NFSv3 ACLs.\n\n This adds functions for encoding and decoding POSIX ACLs for the NFSACL\n protocol extension, and the GETACL and SETACL RPCs.  The implementation is\n compatible with NFSACL in Solaris.\n\n Signed-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\n Acked-by: Olaf Kirch \u003cokir@suse.de\u003e\n Signed-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
