)]}'
{
  "log": [
    {
      "commit": "ee9b6d61a2a43c5952eb43283f8db284a4e70b8a",
      "tree": "afb0340e79d3e9d14f39df20e165ce2efe941b18",
      "parents": [
        "c5ef1c42c51b1b5b4a401a6517bdda30933ddbaf"
      ],
      "author": {
        "name": "Josef \u0027Jeff\u0027 Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Mon Feb 12 00:55:41 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:47 2007 -0800"
      },
      "message": "[PATCH] Mark struct super_operations const\n\nThis patch is inspired by Arjan\u0027s \"Patch series to mark struct\nfile_operations and struct inode_operations const\".\n\nCompile tested with gcc \u0026 sparse.\n\nSigned-off-by: Josef \u0027Jeff\u0027 Sipek \u003cjsipek@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c5ef1c42c51b1b5b4a401a6517bdda30933ddbaf",
      "tree": "e1a9804a8af427f700aaba4b386cf8679b317e83",
      "parents": [
        "92e1d5be91a0e3ffa5c4697eeb09b2aa22792122"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:40 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:46 2007 -0800"
      },
      "message": "[PATCH] mark struct inode_operations const 3\n\nMany struct inode_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "92e1d5be91a0e3ffa5c4697eeb09b2aa22792122",
      "tree": "4eb22a9f6c38e9f4cc2a5100cd6659b0af08b7ae",
      "parents": [
        "754661f143e70d66eae6c48532ca245aa05dec0e"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:39 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:46 2007 -0800"
      },
      "message": "[PATCH] mark struct inode_operations const 2\n\nMany struct inode_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "754661f143e70d66eae6c48532ca245aa05dec0e",
      "tree": "c3ed0f7f96061931e497ed92d2b21294756b4831",
      "parents": [
        "9c2e08c592cd357a8330c34def1e8ecfdcf53275"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:38 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:46 2007 -0800"
      },
      "message": "[PATCH] mark struct inode_operations const 1\n\nMany struct inode_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "00977a59b951207d38380c75f03a36829950265c",
      "tree": "26933feafebffca95df02c19df03f5e56aada47e",
      "parents": [
        "d54b1fdb1d9f82e375a299e22bd366aad52d4c34"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:34 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:45 2007 -0800"
      },
      "message": "[PATCH] mark struct file_operations const 6\n\nMany struct file_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54fb996ac15c4014fa4d6b0ec8e42da134204897",
      "tree": "ee7a98270cabefc996a13691a7c9d63141a8d3a9",
      "parents": [
        "3313e29267414e4e3bf0d3de1caf9cb439b64aaf"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Mon Feb 12 00:54:32 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:40 2007 -0800"
      },
      "message": "[PATCH] ufs2 write: block allocation update\n\nPatch adds ability to work with 64bit metadata, this made by replacing work\nwith 32bit pointers by inline functions.\n\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@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": "3313e29267414e4e3bf0d3de1caf9cb439b64aaf",
      "tree": "5de4ceb0d4dcf094cbb41cf3968df564d4e88976",
      "parents": [
        "cbcae39fa1cc16c0fb199223f5ec1aea5f4c7b2d"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Mon Feb 12 00:54:31 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:40 2007 -0800"
      },
      "message": "[PATCH] ufs2 write: inodes write\n\nThis patch adds into write inode path function to write UFS2 inode, and\nmodifys allocate inode path to allocate and init additional inode chunks.\n\nAlso some cleanups:\n- remove not used parameters in some functions\n- remove i_gen field from ufs_inode_info structure,\nthere is i_generation in inode structure with same purposes.\n\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@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": "cbcae39fa1cc16c0fb199223f5ec1aea5f4c7b2d",
      "tree": "27a3f078d196cb0589a972554dde24b35a350e11",
      "parents": [
        "cca97de1184f6000d22b4106d47687b31cca1fa3"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Mon Feb 12 00:54:30 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:40 2007 -0800"
      },
      "message": "[PATCH] ufs2 write: mount as rw\n\nThese series of patches add UFS2 write-support.  UFS2 - is default file system\nfor recent versions of FreeBSD.\n\nThe main differences from UFS1 from write support point of view\nare:\n1)Not all inodes are allocated during formatation of disk.\n2)All meta-data(pointer to data blocks) are 64bit(in UFS1 they\nare 32bit).\n\nSo patch series consist of\n1)make possible mount UFS2 in read-write mode\n2)code to write ufs2 inodes and code to initialize inodes chunks.\n3)work with 64bit meta-data\n\nI made simple testing like create/deleting/writing/reading/truncating, also I\nran fsx-linux and untar and build kernel on UFS1 and UFS2, after that FreeBSD\nfsck do not find any errors in fs.\n\nThis patch makes possible to mount ufs2 \"rw\", and updates UFS2 documentation:\nremove note about bug(it fixed by reallocate blocks on the fly patch) and add\nme in the list of people who want receive bug reports.\n\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@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": "0a9ac38246b11892ad20a1eb9deb67adf8c0db2f",
      "tree": "a5521698784e54263acda35226522e1d3348f786",
      "parents": [
        "e2bd99ec5c0e20ed6aeb079fa8f975c2dcd78a2c"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Mon Feb 12 00:53:50 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:37 2007 -0800"
      },
      "message": "[PATCH] eCryptfs: add flush_dcache_page() calls\n\nCall flush_dcache_page() after modifying a pagecache by hand.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@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": "e2bd99ec5c0e20ed6aeb079fa8f975c2dcd78a2c",
      "tree": "78892d49cf55fa4cf22ce9b8b226c63bac8b227c",
      "parents": [
        "9d8b8ce5561890464c54645cdea4d6b157159fec"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Mon Feb 12 00:53:49 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:37 2007 -0800"
      },
      "message": "[PATCH] eCryptfs: open-code flag checking and manipulation\n\nOpen-code flag checking and manipulation.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nSigned-off-by: Trevor Highland \u003ctshighla@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": "9d8b8ce5561890464c54645cdea4d6b157159fec",
      "tree": "94e7f2cdd3a392806ba7b35e5d2722024ddf4098",
      "parents": [
        "70456600f42f85cfcbdd9d7a6029c03b6f9c5d1e"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Mon Feb 12 00:53:48 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:37 2007 -0800"
      },
      "message": "[PATCH] eCryptfs: convert kmap() to kmap_atomic()\n\nReplace kmap() with kmap_atomic().  Reduce the amount of time that mappings\nare held.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nSigned-off-by: Trevor Highland \u003ctshighla@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": "70456600f42f85cfcbdd9d7a6029c03b6f9c5d1e",
      "tree": "1b47957d59bfe3b4e5e5244106678f5542f8f295",
      "parents": [
        "e77a56ddceeec87575a13a60fc1a394af6a1f4bc"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Mon Feb 12 00:53:48 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:37 2007 -0800"
      },
      "message": "[PATCH] eCryptfs: convert f_op-\u003ewrite() to vfs_write()\n\nsys_write() takes a local copy of f_pos and writes that back\ninto the struct file. It does this so that two concurrent write()\ncallers don\u0027t make a mess of f_pos, and of the file contents.\n\necryptfs should be calling vfs_write().  That way we also get the fsnotify\nnotifications, which ecryptfs presently appears to have subverted.\n\nConvert direct calls to f_op-\u003ewrite() into calls to vfs_write().\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@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": "e77a56ddceeec87575a13a60fc1a394af6a1f4bc",
      "tree": "8be21cc4afbc0596716bc9d4d8dd145dd8c74252",
      "parents": [
        "dd2a3b7ad98f8482cae481cad89dfed5eee48365"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Mon Feb 12 00:53:47 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:36 2007 -0800"
      },
      "message": "[PATCH] eCryptfs: Encrypted passthrough\n\nProvide an option to provide a view of the encrypted files such that the\nmetadata is always in the header of the files, regardless of whether the\nmetadata is actually in the header or in the extended attribute.  This mode of\noperation is useful for applications like incremental backup utilities that do\nnot preserve the extended attributes when directly accessing the lower files.\n\nWith this option enabled, the files under the eCryptfs mount point will be\nread-only.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@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": "dd2a3b7ad98f8482cae481cad89dfed5eee48365",
      "tree": "986c09754176ea4c6e8308c6e2cdbf3fc0658a0b",
      "parents": [
        "17398957aa0a05ef62535060b41d103590dcc533"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Mon Feb 12 00:53:46 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:36 2007 -0800"
      },
      "message": "[PATCH] eCryptfs: Generalize metadata read/write\n\nGeneralize the metadata reading and writing mechanisms, with two targets for\nnow: metadata in file header and metadata in the user.ecryptfs xattr of the\nlower file.\n\n[akpm@osdl.org: printk warning fix]\n[bunk@stusta.de: make some needlessly global code static]\nSigned-off-by: Michael Halcrow \u003cmhalcrow@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": "17398957aa0a05ef62535060b41d103590dcc533",
      "tree": "bfb1d65281863811ad46d54f82e52e8924df3284",
      "parents": [
        "dddfa461fc8951f9b5f951c13565b6cac678635a"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Mon Feb 12 00:53:45 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:36 2007 -0800"
      },
      "message": "[PATCH] eCryptfs: xattr flags and mount options\n\nThis patch set introduces the ability to store cryptographic metadata into an\nlower file extended attribute rather than the lower file header region.\n\nThis patch set implements two new mount options:\n\necryptfs_xattr_metadata\n - When set, newly created files will have their cryptographic\n   metadata stored in the extended attribute region of the file rather\n   than the header.\n\n   When storing the data in the file header, there is a minimum of 8KB\n   reserved for the header information for each file, making each file at\n   least 12KB in size.  This can take up a lot of extra disk space if the user\n   creates a lot of small files.  By storing the data in the extended\n   attribute, each file will only occupy at least of 4KB of space.\n\n   As the eCryptfs metadata set becomes larger with new features such as\n   multi-key associations, most popular filesystems will not be able to store\n   all of the information in the xattr region in some cases due to space\n   constraints.  However, the majority of users will only ever associate one\n   key per file, so most users will be okay with storing their data in the\n   xattr region.\n\n   This option should be used with caution.  I want to emphasize that the\n   xattr must be maintained under all circumstances, or the file will be\n   rendered permanently unrecoverable.  The last thing I want is for a user to\n   forget to set an xattr flag in a backup utility, only to later discover\n   that their backups are worthless.\n\necryptfs_encrypted_view\n - When set, this option causes eCryptfs to present applications a\n   view of encrypted files as if the cryptographic metadata were\n   stored in the file header, whether the metadata is actually stored\n   in the header or in the extended attributes.\n\n   No matter what eCryptfs winds up doing in the lower filesystem, I want\n   to preserve a baseline format compatibility for the encrypted files.  As of\n   right now, the metadata may be in the file header or in an xattr.  There is\n   no reason why the metadata could not be put in a separate file in future\n   versions.\n\n   Without the compatibility mode, backup utilities would have to know to\n   back up the metadata file along with the files.  The semantics of eCryptfs\n   have always been that the lower files are self-contained units of encrypted\n   data, and the only additional information required to decrypt any given\n   eCryptfs file is the key.  That is what has always been emphasized about\n   eCryptfs lower files, and that is what users expect.  Providing the\n   encrypted view option will provide a way to userspace applications wherein\n   they can always get to the same old familiar eCryptfs encrypted files,\n   regardless of what eCryptfs winds up doing with the metadata behind the\n   scenes.\n\nThis patch:\n\nAdd extended attribute support to version bit vector, flags to indicate when\nxattr or encrypted view modes are enabled, and support for the new mount\noptions.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@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": "dddfa461fc8951f9b5f951c13565b6cac678635a",
      "tree": "eaf51d6825bd97087b9c700f7010ed08e3f83047",
      "parents": [
        "88b4a07e6610f4c93b08b0bb103318218db1e9f6"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Mon Feb 12 00:53:44 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:36 2007 -0800"
      },
      "message": "[PATCH] eCryptfs: Public key; packet management\n\nPublic key support code.  This reads and writes packets in the header that\ncontain public key encrypted file keys.  It calls the messaging code in the\nprevious patch to send and receive encryption and decryption request\npackets from the userspace daemon.\n\n[akpm@osdl.org: cleab fix]\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "88b4a07e6610f4c93b08b0bb103318218db1e9f6",
      "tree": "32e2f2650bd4841ba6b2fafc724c2806219351b4",
      "parents": [
        "b5d5dfbd59577aed72263f22e28d3eaf98e1c6e5"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Mon Feb 12 00:53:43 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:36 2007 -0800"
      },
      "message": "[PATCH] eCryptfs: Public key transport mechanism\n\nThis is the transport code for public key functionality in eCryptfs.  It\nmanages encryption/decryption request queues with a transport mechanism.\nCurrently, netlink is the only implemented transport.\n\nEach inode has a unique File Encryption Key (FEK).  Under passphrase, a File\nEncryption Key Encryption Key (FEKEK) is generated from a salt/passphrase\ncombo on mount.  This FEKEK encrypts each FEK and writes it into the header of\neach file using the packet format specified in RFC 2440.  This is all\nsymmetric key encryption, so it can all be done via the kernel crypto API.\n\nThese new patches introduce public key encryption of the FEK.  There is no\nasymmetric key encryption support in the kernel crypto API, so eCryptfs pushes\nthe FEK encryption and decryption out to a userspace daemon.  After\nconsidering our requirements and determining the complexity of using various\ntransport mechanisms, we settled on netlink for this communication.\n\neCryptfs stores authentication tokens into the kernel keyring.  These tokens\ncorrelate with individual keys.  For passphrase mode of operation, the\nauthentication token contains the symmetric FEKEK.  For public key, the\nauthentication token contains a PKI type and an opaque data blob managed by\nindividual PKI modules in userspace.\n\nEach user who opens a file under an eCryptfs partition mounted in public key\nmode must be running a daemon.  That daemon has the user\u0027s credentials and has\naccess to all of the keys to which the user should have access.  The daemon,\nwhen started, initializes the pluggable PKI modules available on the system\nand registers itself with the eCryptfs kernel module.  Userspace utilities\nregister public key authentication tokens into the user session keyring.\nThese authentication tokens correlate key signatures with PKI modules and PKI\nblobs.  The PKI blobs contain PKI-specific information necessary for the PKI\nmodule to carry out asymmetric key encryption and decryption.\n\nWhen the eCryptfs module parses the header of an existing file and finds a Tag\n1 (Public Key) packet (see RFC 2440), it reads in the public key identifier\n(signature).  The asymmetrically encrypted FEK is in the Tag 1 packet;\neCryptfs puts together a decrypt request packet containing the signature and\nthe encrypted FEK, then it passes it to the daemon registered for the\ncurrent-\u003eeuid via a netlink unicast to the PID of the daemon, which was\nregistered at the time the daemon was started by the user.\n\nThe daemon actually just makes calls to libecryptfs, which implements request\npacket parsing and manages PKI modules.  libecryptfs grabs the public key\nauthentication token for the given signature from the user session keyring.\nThis auth tok tells libecryptfs which PKI module should receive the request.\nlibecryptfs then makes a decrypt() call to the PKI module, and it passes along\nthe PKI block from the auth tok.  The PKI uses the blob to figure out how it\nshould decrypt the data passed to it; it performs the decryption and passes\nthe decrypted data back to libecryptfs.  libecryptfs then puts together a\nreply packet with the decrypted FEK and passes that back to the eCryptfs\nmodule.\n\nThe eCryptfs module manages these request callouts to userspace code via\nmessage context structs.  The module maintains an array of message context\nstructs and places the elements of the array on two lists: a free and an\nallocated list.  When eCryptfs wants to make a request, it moves a msg ctx\nfrom the free list to the allocated list, sets its state to pending, and fires\noff the message to the user\u0027s registered daemon.\n\nWhen eCryptfs receives a netlink message (via the callback), it correlates the\nmsg ctx struct in the alloc list with the data in the message itself.  The\nmsg-\u003eindex contains the offset of the array of msg ctx structs.  It verifies\nthat the registered daemon PID is the same as the PID of the process that sent\nthe message.  It also validates a sequence number between the received packet\nand the msg ctx.  Then, it copies the contents of the message (the reply\npacket) into the msg ctx struct, sets the state in the msg ctx to done, and\nwakes up the process that was sleeping while waiting for the reply.\n\nThe sleeping process was whatever was performing the sys_open().  This process\noriginally called ecryptfs_send_message(); it is now in\necryptfs_wait_for_response().  When it wakes up and sees that the msg ctx\nstate was set to done, it returns a pointer to the message contents (the reply\npacket) and returns.  If all went well, this packet contains the decrypted\nFEK, which is then copied into the crypt_stat struct, and life continues as\nnormal.\n\nThe case for creation of a new file is very similar, only instead of a decrypt\nrequest, eCryptfs sends out an encrypt request.\n\n\u003e - We have a great clod of key mangement code in-kernel.  Why is that\n\u003e   not suitable (or growable) for public key management?\n\neCryptfs uses Howells\u0027 keyring to store persistent key data and PKI state\ninformation.  It defers public key cryptographic transformations to userspace\ncode.  The userspace data manipulation request really is orthogonal to key\nmanagement in and of itself.  What eCryptfs basically needs is a secure way to\ncommunicate with a particular daemon for a particular task doing a syscall,\nbased on the UID.  Nothing running under another UID should be able to access\nthat channel of communication.\n\n\u003e - Is it appropriate that new infrastructure for public key\n\u003e management be private to a particular fs?\n\nThe messaging.c file contains a lot of code that, perhaps, could be extracted\ninto a separate kernel service.  In essence, this would be a sort of\nrequest/reply mechanism that would involve a userspace daemon.  I am not aware\nof anything that does quite what eCryptfs does, so I was not aware of any\nexisting tools to do just what we wanted.\n\n\u003e   What happens if one of these daemons exits without sending a quit\n\u003e   message?\n\nThere is a stale uid\u003c-\u003epid association in the hash table for that user.  When\nthe user registers a new daemon, eCryptfs cleans up the old association and\ngenerates a new one.  See ecryptfs_process_helo().\n\n\u003e - _why_ does it use netlink?\n\nNetlink provides the transport mechanism that would minimize the complexity of\nthe implementation, given that we can have multiple daemons (one per user).  I\nexplored the possibility of using relayfs, but that would involve having to\nintroduce control channels and a protocol for creating and tearing down\nchannels for the daemons.  We do not have to worry about any of that with\nnetlink.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b5d5dfbd59577aed72263f22e28d3eaf98e1c6e5",
      "tree": "9ef320c6ff4f61bffb25c0452570d5f76ab7769c",
      "parents": [
        "77f1f67a1a56defa210c3d8857f3e5eee3990a99"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Feb 12 00:53:40 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:36 2007 -0800"
      },
      "message": "[PATCH] include/linux/nfsd/const.h: remove NFS_SUPER_MAGIC\n\nNFS_SUPER_MAGIC is already defined in include/linux/magic.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "27459f0940e16c68e080f5fc7e85aa9eb3f74528",
      "tree": "f13cd1f2005dda2b6115e2afbc49e1271b0d374b",
      "parents": [
        "2442222283918c2d1c20ae651d95fe168757938b"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Feb 12 00:53:34 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:36 2007 -0800"
      },
      "message": "[PATCH] knfsd: SUNRPC: Provide room in svc_rqst for larger addresses\n\nExpand the rq_addr field to allow it to contain larger addresses.\n\nSpecifically, we replace a \u0027sockaddr_in\u0027 with a \u0027sockaddr_storage\u0027, then\neverywhere the \u0027sockaddr_in\u0027 was referenced, we use instead an accessor\nfunction (svc_addr_in) which safely casts the _storage to _in.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ad06e4bd62351bc569cca0f25d68c58dbd298146",
      "tree": "82024c01e61de32af17d3b67eac0bb93138a2954",
      "parents": [
        "1ba951053f07187f6e77be664a4b6f8bf0ba7ae4"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Feb 12 00:53:32 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:35 2007 -0800"
      },
      "message": "[PATCH] knfsd: SUNRPC: Add a function to format the address in an svc_rqst for printing\n\nThere are loads of places where the RPC server assumes that the rq_addr fields\ncontains an IPv4 address.  Top among these are error and debugging messages\nthat display the server\u0027s IP address.\n\nLet\u0027s refactor the address printing into a separate function that\u0027s smart\nenough to figure out the difference between IPv4 and IPv6 addresses.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "482fb94e1b0c2efe8258334aa2a68d4f4a91de9c",
      "tree": "84353b34bb5ea02df98b598fff037cf1da20d6b0",
      "parents": [
        "6b174337e5126de834a971d3edc3681bbfa45e2c"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Feb 12 00:53:29 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:35 2007 -0800"
      },
      "message": "[PATCH] knfsd: SUNRPC: allow creating an RPC service without registering with portmapper\n\nSometimes we need to create an RPC service but not register it with the local\nportmapper.  NFSv4 delegation callback, for example.\n\nChange the svc_makesock() API to allow optionally creating temporary or\npermanent sockets, optionally registering with the local portmapper, and make\nit return the ephemeral port of the new socket.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nCc: Aurelien Charbon \u003caurelien.charbon@ext.bull.net\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "41487c65bfcce9c8e4d123da1719fcfd8df6d4d0",
      "tree": "e2e0e13bc3178c2cff766f1e0165bbbabdb2ed98",
      "parents": [
        "ab521dc0f8e117fd808d3e425216864d60390500"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Feb 12 00:53:01 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:32 2007 -0800"
      },
      "message": "[PATCH] pid: replace do/while_each_task_pid with do/while_each_pid_task\n\nThere isn\u0027t any real advantage to this change except that it allows the old\nfunctions to be removed.  Which is easier on maintenance and puts the code in\na more uniform style.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\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": "ab521dc0f8e117fd808d3e425216864d60390500",
      "tree": "f9d6449c4d8c9508fd43edfe845108043e1536b2",
      "parents": [
        "3e7cd6c413c9e6fbb5e1ee2acdadb4ababd2d474"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Feb 12 00:53:00 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:32 2007 -0800"
      },
      "message": "[PATCH] tty: update the tty layer to work with struct pid\n\nOf kernel subsystems that work with pids the tty layer is probably the largest\nconsumer.  But it has the nice virtue that the assiation with a session only\nlasts until the session leader exits.  Which means that no reference counting\nis required.  So using struct pid winds up being a simple optimization to\navoid hash table lookups.\n\nIn the long term the use of pid_nr also ensures that when we have multiple pid\nspaces mixed everything will work correctly.\n\nSigned-off-by: Eric W. Biederman \u003ceric@maxwell.lnxi.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\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": "939b00df0306bc4b5cd25c3c3c78e89b91e72fc8",
      "tree": "c251dca9f3ebbebfa1f40f39716423842b247742",
      "parents": [
        "b587b13a4f670ebae79ae6259cf44328455e4e69"
      ],
      "author": {
        "name": "Andries Brouwer",
        "email": "aeb@cwi.nl",
        "time": "Mon Feb 12 00:52:49 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:31 2007 -0800"
      },
      "message": "[PATCH] Minix V3 support\n\nThis morning I needed to read a Minix V3 filesystem, but unfortunately my\n2.6.19 did not support that, and neither did the downloaded 2.6.20rc4.\n\nFortunately, google told me that Daniel Aragones had already done the work,\npatch found at http://www.terra.es/personal2/danarag/\n\nUnfortunaly, looking at the patch was painful to my eyes, so I polished it\na bit before applying.  The resulting kernel boots, and reads the\nfilesystem it needed to read.\n\nSigned-off-by: Daniel Aragones \u003cdanarag@gmail.com\u003e\nSigned-off-by: Andries Brouwer \u003caeb@cwi.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "163da958ba5282cbf85e8b3dc08e4f51f8b01c5e",
      "tree": "ccfdaf7ac1b0f5e06cd4cc34522fa491ede89fe7",
      "parents": [
        "2a10387ec463c4fcd3ccc461291ce4d8505827e2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Feb 12 00:52:24 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:29 2007 -0800"
      },
      "message": "[PATCH] FS: speed up rw_verify_area()\n\noprofile hunting showed a stall in rw_verify_area(), because of triple\nindirection and potential cache misses.\n(file-\u003ef_path.dentry-\u003ed_inode-\u003ei_flock)\n\nBy moving initialization of \u0027struct inode\u0027 pointer before the pos/count\nsanity tests, we allow the compiler and processor to perform two loads by\nanticipation, reducing stall, without prefetch() hints.  Even x86 arch has\nenough registers to not use temporary variables and not increase text size.\n\nI validated this patch running a bench and studied oprofile changes, and\nabsolute perf of the test program.\n\nResults of my epoll_pipe_bench (source available on request) on a Pentium-M\n1.6 GHz machine\n\nBefore :\n# ./epoll_pipe_bench -l 30 -t 20\nAvg: 436089 evts/sec read_count\u003d8843037 write_count\u003d8843040 21.218390 samples\nper call\n(best value out of 10 runs)\n\nAfter :\n# ./epoll_pipe_bench -l 30 -t 20\nAvg: 470980 evts/sec read_count\u003d9549871 write_count\u003d9549894 21.216694 samples\nper call\n(best value out of 10 runs)\n\noprofile CPU_CLK_UNHALTED events gave a reduction from 5.3401 % to 2.5851 %\nfor the rw_verify_area() function.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3991d3bd1506391d8feec209b1d22ccb1c03a0bf",
      "tree": "b9a691fe6b0bc2bf3c98e64348472fa81de7ddab",
      "parents": [
        "bc1fc6d88c646ea071de34250552051a63000d70"
      ],
      "author": {
        "name": "Tomasz Kvarsin",
        "email": "kvarsin@gmail.com",
        "time": "Mon Feb 12 00:52:14 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:29 2007 -0800"
      },
      "message": "[PATCH] warning fix: unsigned-\u003esigned\n\nWhile compiling my code with -Wconversion using gcc-trunk, I always get a\nbunch of warrning from headers, here is fix for them:\n\n__getblk is alawys called with unsigned argument,\nbut it takes signed, the same story with __bread,__breadahead and so on.\n\nSigned-off-by: Tomasz Kvarsin\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "79a81aef769f3a188988ad16032ccfc445cfaa13",
      "tree": "c1b849886df5f4784f2bfbe3defff6995cb2a2ce",
      "parents": [
        "8b5925fd5461c9f1ac77ede48945ca1945202ddb"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Mon Feb 12 00:52:09 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:29 2007 -0800"
      },
      "message": "[PATCH] reiserfs: Use ARRAY_SIZE macro when appropriate\n\nUse ARRAY_SIZE macro already defined in kernel.h\n\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@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": "f9e4acf3befd3b2903e01b3ef1bd344f03299826",
      "tree": "26eb1f9e71adfd4bd5678861c8f13fd655adfa60",
      "parents": [
        "d003fb70fd356d0684ee0cd37a785e058c8678de"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Mon Feb 12 00:51:59 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:28 2007 -0800"
      },
      "message": "[PATCH] inotify: read return val fix\n\nFix for inotify read bug (bugzilla.kernel.org #6999)\n\nProblem Description:\nWhen reading from an inotify device with an insufficient sized buffer, read(2)\nwill return 0 with no errno set. This is because of an logically incorrect\naction from the user program thus should return an more logical value. My\nsuggestion is return -EINVAL as for bind(2).\n\nThis patch is based on the proposal from Ryan \u003cwolf0403@hotmail.com\u003e, and\nfeedback from John McCutchan \u003cjohn@johnmccutchan.com\u003e.\n\nReturn -EINVAL if we have not passed in enough buffer space to read a single\ninotify event, rather than 0 which indicates that there is nothing to read.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: \"John McCutchan\" \u003cjohn@johnmccutchan.com\u003e\nCc: Ryan \u003cwolf0403@hotmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d003fb70fd356d0684ee0cd37a785e058c8678de",
      "tree": "2367a8afa16defd85633665fbdb2a9192cbe6081",
      "parents": [
        "fb58b7316a99703afb8d076b0e5f3e1e387e4b30"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Feb 12 00:51:58 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:28 2007 -0800"
      },
      "message": "[PATCH] remove sb-\u003es_files and file_list_lock usage in dquot.c\n\nIterate over sb-\u003es_inodes instead of sb-\u003es_files in add_dquot_ref.  This\nreduces list search and lock hold time aswell as getting rid of one of the\nfew uses of file_list_lock which Ingo identified as a scalability problem.\n\nPreviously we called dq_op-\u003einitialize for every inode handing of a\nwriteable file that wasn\u0027t initialized before.  Now we\u0027re calling it for\nevery inode that has a non-zero i_writecount, aka a writeable file\ndescriptor refering to it.\n\nThanks a lot to Jan Kara for running this patch through his quota test\nharness.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@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": "fb58b7316a99703afb8d076b0e5f3e1e387e4b30",
      "tree": "d2aabf3413fc3e94a6760c364caf0762915a6273",
      "parents": [
        "ea6f3281a145d16ed53e88b0627f78d5cde6068f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Feb 12 00:51:57 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:28 2007 -0800"
      },
      "message": "[PATCH] move remove_dquot_ref to dqout.c\n\nRemove_dquot_ref can move to dqout.c instead of beeing in inode.c under\n#ifdef CONFIG_QUOTA.  Also clean the resulting code up a tiny little bit by\ntesting sb-\u003edq_op earlier - it\u0027s constant over a filesystems lifetime.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eb3dfb0cb1f4a44e2d0553f89514ce9f2a9fcaf1",
      "tree": "9b35fa3ac8cb3d6fc4eb74d83d15f0f929f54631",
      "parents": [
        "5c3bd438ccb94f5d5bf5d8711330e038dc8dd21b"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Mon Feb 12 00:51:47 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:27 2007 -0800"
      },
      "message": "[PATCH] Fix d_path for lazy unmounts\n\nHere is a bugfix to d_path.\n\nFirst, when d_path() hits a lazily unmounted mount point, it tries to\nprepend the name of the lazily unmounted dentry to the path name.  It gets\nthis wrong, and also overwrites the slash that separates the name from the\nfollowing pathname component.  This is demonstrated by the attached test\ncase, which prints \"getcwd returned d_path-bugsubdir\" with the bug.  The\ncorrect result would be \"getcwd returned d_path-bug/subdir\".\n\nIt could be argued that the name of the root dentry should not be part of\nthe result of d_path in the first place.  On the other hand, what the\nunconnected namespace was once reachable as may provide some useful hints\nto users, and so that seems okay.\n\nSecond, it isn\u0027t always possible to tell from the __d_path result whether\nthe specified root and rootmnt (i.e., the chroot) was reached: lazy\nunmounts of bind mounts will produce a path that does start with a\nnon-slash so we can tell from that, but other lazy unmounts will produce a\npath that starts with a slash, just like \"ordinary\" paths.\n\nThe attached patch cleans up __d_path() to fix the bug with overlapping\npathname components.  It also adds a @fail_deleted argument, which allows\nto get rid of some of the mess in sys_getcwd().  Grabbing the dcache_lock\ncan then also be moved into __d_path().  The patch also makes sure that\npaths will only start with a slash for paths which are connected to the\nroot and rootmnt.\n\nThe @fail_deleted argument could be added to d_path() as well: this would\nallow callers to recognize deleted files, without having to resort to the\nambiguous check for the \" (deleted)\" string at the end of the pathnames.\nThis is not currently done, but it might be worthwhile.\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: 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": "5c3bd438ccb94f5d5bf5d8711330e038dc8dd21b",
      "tree": "6d6f1679e8a653a4ae89859e1d54b29be35ed50c",
      "parents": [
        "fdf892be32d84a1745fa0aee5fc60517421b8038"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Mon Feb 12 00:51:45 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:27 2007 -0800"
      },
      "message": "[PATCH] NTFS: rename incorrect check of NTFS_DEBUG with just DEBUG\n\nReplace the incorrect debugging check of \"#ifdef NTFS_DEBUG\" with\njust \"#ifdef DEBUG\".\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nAcked-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "215122e1110f97a3f478829049b9840cf8fdde57",
      "tree": "d0da44b5e8fc9836dc4e3e5745234fa01f6a87d8",
      "parents": [
        "6ab8eb1cffcc5640ca5b07c2a0ddfaa8fbbcc754"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Mon Feb 12 00:51:43 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:27 2007 -0800"
      },
      "message": "[PATCH] register_chrdev_region() don\u0027t hand out the LOCAL/EXPERIMENTAL majors\n\nAs pointed out in http://bugzilla.kernel.org/show_bug.cgi?id\u003d7922, dynamic\nchardev major allocation can hand out majors which LANANA has defined as being\nfor local/experimental use.\n\nCc: Torben Mathiasen \u003cdevice@lanana.org\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Tomas Klas \u003ctomas.klas@mepatek.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6ab8eb1cffcc5640ca5b07c2a0ddfaa8fbbcc754",
      "tree": "aa4fdc3943a6649bb33835e43b3e5787d0f19c54",
      "parents": [
        "33a266dda9fbbe72dd978a451a8ee33c59da5e9c"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Mon Feb 12 00:51:42 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:27 2007 -0800"
      },
      "message": "[PATCH] Make XFS use BH_Unwritten and BH_Delay correctly\n\nDon\u0027t hide buffer_unwritten behind buffer_delay() and remove the hack that\nclears unexpected buffer_unwritten() states now that it can\u0027t happen.\n\nSigned-off-by: Dave Chinner \u003cdgc@sgi.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Timothy Shimmin \u003ctes@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": "33a266dda9fbbe72dd978a451a8ee33c59da5e9c",
      "tree": "7e3fa4100e436f12b4c0ed562dd1f6dc9ec84fd4",
      "parents": [
        "42da9cbd3eedde33a42acc2cb06f454814cf5de0"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Mon Feb 12 00:51:41 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:27 2007 -0800"
      },
      "message": "[PATCH] Make BH_Unwritten a first class bufferhead flag V2\n\nCurrently, XFS uses BH_PrivateStart for flagging unwritten extent state in a\nbufferhead.  Recently, I found the long standing mmap/unwritten extent\nconversion bug, and it was to do with partial page invalidation not clearing\nthe unwritten flag from bufferheads attached to the page but beyond EOF.  See\nhere for a full explaination:\n\nhttp://oss.sgi.com/archives/xfs/2006-12/msg00196.html\n\nThe solution I have checked into the XFS dev tree involves duplicating code\nfrom block_invalidatepage to clear the unwritten flag from the bufferhead(s),\nand then calling block_invalidatepage() to do the rest.\n\nChristoph suggested that this would be better solved by pushing the unwritten\nflag into the common buffer head flags and just adding the call to\ndiscard_buffer():\n\nhttp://oss.sgi.com/archives/xfs/2006-12/msg00239.html\n\nThe following patch makes BH_Unwritten a first class citizen.\n\nSigned-off-by: Dave Chinner \u003cdgc@sgi.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": "958b7f37ee0fb2846c8d44310a68ae9605614ff9",
      "tree": "b1644d08d2e2a8d408c66c6d21a89fd815e16015",
      "parents": [
        "d68798374bcf5cd4a19105b86d96121651b3c8cb",
        "e7ff6aed8761b2c86cd9ab7083e512de2b8cfa48"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 11:53:39 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 11:53:39 2007 -0800"
      },
      "message": "Merge git://oss.sgi.com:8090/xfs/xfs-2.6\n\n* git://oss.sgi.com:8090/xfs/xfs-2.6: (33 commits)\n  [XFS] Don\u0027t use kmap in xfs_iozero.\n  [XFS] Remove a bunch of unused functions from XFS.\n  [XFS] Remove unused arguments from the XFS_BTREE_*_ADDR macros.\n  [XFS] Remove unused header files for MAC and CAP checking functionality.\n  [XFS] Make freeze code a little cleaner.\n  [XFS] Remove unused argument to xfs_bmap_finish\n  [XFS] Clean up use of VFS attr flags\n  [XFS] Remove useless memory barrier\n  [XFS] XFS sysctl cleanups\n  [XFS] Fix assertion in xfs_attr_shortform_remove().\n  [XFS] Fix callers of xfs_iozero() to zero the correct range.\n  [XFS] Ensure a frozen filesystem has a clean log before writing the dummy\n  [XFS] Fix sub-block zeroing for buffered writes into unwritten extents.\n  [XFS] Re-initialize the per-cpu superblock counters after recovery.\n  [XFS] Fix block reservation changes for non-SMP systems.\n  [XFS] Fix block reservation mechanism.\n  [XFS] Make growfs work for amounts greater than 2TB\n  [XFS] Fix inode log item use-after-free on forced shutdown\n  [XFS] Fix attr2 corruption with btree data extents\n  [XFS] Workaround log space issue by increasing XFS_TRANS_PUSH_AIL_RESTARTS\n  ...\n"
    },
    {
      "commit": "c827ba4cb49a30ce581201fd0ba2be77cde412c7",
      "tree": "b573020e4d30ecdf69b22fcd1ced3dbb0e024ed3",
      "parents": [
        "fdba0f2da4b1db682b829b76302b2f25c376051c",
        "784020fb950741cbb7390c6b622321da626fb1e8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 11:37:45 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 11:37:45 2007 -0800"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:\n  [SPARC64]: Update defconfig.\n  [SPARC64]: Add PCI MSI support on Niagara.\n  [SPARC64] IRQ: Use irq_desc-\u003echip_data instead of irq_desc-\u003ehandler_data\n  [SPARC64]: Add obppath sysfs attribute for SBUS and PCI devices.\n  [PARTITION]: Add whole_disk attribute.\n"
    },
    {
      "commit": "4b98d11b40f03382918796f3c5c936d5495d20a4",
      "tree": "616b7260196c9bd0eaf208ef8fab91fcf9efcece",
      "parents": [
        "18f705f49a5b19206233f7cef8f869ce7291f8c8"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Feb 10 01:46:45 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 11:18:07 2007 -0800"
      },
      "message": "[PATCH] ifdef -\u003erchar, -\u003ewchar, -\u003esyscr, -\u003esyscw from task_struct\n\nThey are fat: 4x8 bytes in task_struct.\nThey are uncoditionally updated in every fork, read, write and sendfile.\nThey are used only if you have some \"extended acct fields feature\".\n\nAnd please, please, please, read(2) knows about bytes, not characters,\nwhy it is called \"rchar\"?\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Jay Lan \u003cjlan@engr.sgi.com\u003e\nCc: Balbir Singh \u003cbalbir@in.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": "3e4fdaf8aebe489e8e59826fdf78cb64356d2ad0",
      "tree": "fe95bee85f97d16f192ff02fa8880f857b71d136",
      "parents": [
        "501b9ebf43f9973c3e246c8fbd17144d81a989ef"
      ],
      "author": {
        "name": "Dmitriy Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Sat Feb 10 01:46:35 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 11:18:06 2007 -0800"
      },
      "message": "[PATCH] jbd layer function called instead of fs specific one\n\njbd function called instead of fs specific one.\n\nSigned-off-by: Dmitriy Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "730c385bc58802b51812bfcd13ae3578d16c1dfd",
      "tree": "fce46b7ca739819c1e1c9a336ccb03f41012abcb",
      "parents": [
        "b9b2a700378016cead20f34232be87eea45087d2"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sat Feb 10 01:46:28 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 11:18:06 2007 -0800"
      },
      "message": "[PATCH] Remove unused kernel config option ZISOFS_FS\n\nRemove the kernel config option ZISOFS_FS, since it appears that the actual\noption is simply ZISOFS.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "72ed3d035855841ad611ee48b20909e9619d4a79",
      "tree": "70a093fdc61bd93fed09f54ec41c05bbdaf902c6",
      "parents": [
        "c742b53114f8d1535608dafb6a5690103a0748b5"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sat Feb 10 01:46:22 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 11:15:24 2007 -0800"
      },
      "message": "[PATCH] buffer: memorder fix\n\nunlock_buffer(), like unlock_page(), must not clear the lock without\nensuring that the critical section is closed.\n\nMingming later sent the same patch, saying:\n\n  We are running SDET benchmark and saw double free issue for ext3 extended\n  attributes block, which complains the same xattr block already being freed (in\n  ext3_xattr_release_block()).  The problem could also been triggered by\n  multiple threads loop untar/rm a kernel tree.\n\n  The race is caused by missing a memory barrier at unlock_buffer() before the\n  lock bit being cleared, resulting in possible concurrent h_refcounter update.\n  That causes a reference counter leak, then later leads to the double free that\n  we have seen.\n\n  Inside unlock_buffer(), there is a memory barrier is placed *after* the lock\n  bit is being cleared, however, there is no memory barrier *before* the bit is\n  cleared.  On some arch the h_refcount update instruction and the clear bit\n  instruction could be reordered, thus leave the critical section re-entered.\n\n  The race is like this: For example, if the h_refcount is initialized as 1,\n\n  cpu 0:                                   cpu1\n  --------------------------------------   -----------------------------------\n  lock_buffer() /* test_and_set_bit */\n  clear_buffer_locked(bh);\n                                          lock_buffer() /* test_and_set_bit */\n  h_refcount \u003d h_refcount+1; /* \u003d 2*/     h_refcount \u003d h_refcount + 1; /*\u003d 2 */\n                                          clear_buffer_locked(bh);\n  ....                                    ......\n\n  We lost a h_refcount here. We need a memory barrier before the buffer head lock\n  bit being cleared to force the order of the two writes.  Please apply.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Mingming Cao \u003ccmm@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": "82ddcb040570411fc2d421d96b3e69711c670328",
      "tree": "fb344f5cf69968cef3739d437de97a86817c2219",
      "parents": [
        "e3e8a75d2acfc61ebf25524666a0a2c6abb0620c"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sat Feb 10 01:46:20 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:35 2007 -0800"
      },
      "message": "[PATCH] extend the set of \"__attribute__\" shortcut macros\n\nExtend the set of \"__attribute__\" shortcut macros, and remove identical\n(and now superfluous) definitions from a couple of source files.\n\nbased on a page at robert love\u0027s blog:\n\n\thttp://rlove.org/log/2005102601\n\nextend the set of shortcut macros defined in compiler-gcc.h with the\nfollowing:\n\n#define __packed                       __attribute__((packed))\n#define __weak                         __attribute__((weak))\n#define __naked                        __attribute__((naked))\n#define __noreturn                     __attribute__((noreturn))\n#define __pure                         __attribute__((pure))\n#define __aligned(x)                   __attribute__((aligned(x)))\n#define __printf(a,b)                  __attribute__((format(printf,a,b)))\n\nOnce these are in place, it\u0027s up to subsystem maintainers to decide if they\nwant to take advantage of them.  there is already a strong precedent for\nusing shortcuts like this in the source tree.\n\nThe ones that might give people pause are \"__aligned\" and \"__printf\", but\nshortcuts for both of those are already in use, and in some ways very\nconfusingly.  note the two very different definitions for a macro named\n\"ALIGNED\":\n\n  drivers/net/sgiseeq.c:#define ALIGNED(x) ((((unsigned long)(x)) + 0xf) \u0026 ~(0xf))\n  drivers/scsi/ultrastor.c:#define ALIGNED(x) __attribute__((aligned(x)))\n\nalso:\n\n  include/acpi/platform/acgcc.h:\n    #define ACPI_PRINTF_LIKE(c) __attribute__ ((__format__ (__printf__, c, c+1)))\n\nGiven the precedent, then, it seems logical to at least standardize on a\nconsistent set of these macros.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "731b9a549882c76189baafccbd068d5785ea2a82",
      "tree": "0393399e3dccd93f78595f6e503ae098758c9811",
      "parents": [
        "2988a7740dc0dd9a0cb56576e8fe1d777dff0db3"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sat Feb 10 01:46:16 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:34 2007 -0800"
      },
      "message": "[PATCH] remove ext[34]_inc_count and _dec_count\n\n- Naming is confusing, ext3_inc_count manipulates i_nlink not i_count\n- handle argument passed in is not used\n- ext3 and ext4 already call inc_nlink and dec_nlink directly in other places\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2988a7740dc0dd9a0cb56576e8fe1d777dff0db3",
      "tree": "9c1b67be5d16a24d5c613ecb8e3804c7ff3994da",
      "parents": [
        "967bb77c69e3bc44dd1128a8b503a205cce3fd4a"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sat Feb 10 01:46:16 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:34 2007 -0800"
      },
      "message": "[PATCH] return ENOENT from ext3_link when racing with unlink\n\nReturn -ENOENT from ext[34]_link if we\u0027ve raced with unlink and i_nlink is\n0.  Doing otherwise has the potential to corrupt the orphan inode list,\nbecause we\u0027d wind up with an inode with a non-zero link count on the list,\nand it will never get properly cleaned up \u0026 removed from the orphan list\nbefore it is freed.\n\n[akpm@osdl.org: build fix]\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\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": "2e7842b887627c4319c4625d2b52fa6616fda2cd",
      "tree": "608123e38adff4cb19f756b0a67158ea30a15b18",
      "parents": [
        "9bbf81e4830db873300c1d0503b371b4f8a932ce"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Feb 10 01:46:13 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:34 2007 -0800"
      },
      "message": "[PATCH] fix umask when noACL kernel meets extN tuned for ACLs\n\nFix insecure default behaviour reported by Tigran Aivazian: if an ext2 or\next3 or ext4 filesystem is tuned to mount with \"acl\", but mounted by a\nkernel built without ACL support, then umask was ignored when creating\ninodes - though root or user has umask 022, touch creates files as 0666,\nand mkdir creates directories as 0777.\n\nThis appears to have worked right until 2.6.11, when a fix to the default\nmode on symlinks (always 0777) assumed VFS applies umask: which it does,\nunless the mount is marked for ACLs; but ext[234] set MS_POSIXACL in\ns_flags according to s_mount_opt set according to def_mount_opts.\n\nWe could revert to the 2.6.10 ext[234]_init_acl (adding an S_ISLNK test);\nbut other filesystems only set MS_POSIXACL when ACLs are configured.  We\ncould fix this at another level; but it seems most robust to avoid setting\nthe s_mount_opt flag in the first place (at the expense of more ifdefs).\n\nLikewise don\u0027t set the XATTR_USER flag when built without XATTR support.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Tigran Aivazian \u003ctigran@aivazian.fsnet.co.uk\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9bbf81e4830db873300c1d0503b371b4f8a932ce",
      "tree": "ea45d6c151947452cf741e45a7ed287bb4957680",
      "parents": [
        "85cc9b11446fb8e2762269cfbc28676bfe2eaa4b"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Feb 10 01:46:11 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:34 2007 -0800"
      },
      "message": "[PATCH] seq_file conversion: coda\n\nCompile-tested.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: \u003cjaharkes@cs.cmu.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ead6596b9e776ac32d82f7d1931d7638e6d4a7bd",
      "tree": "32e518737ab4b656cdf573167a6ac6308c4c3aad",
      "parents": [
        "ea9a05a1330053759c02eb2c60547085140a4cbd"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sat Feb 10 01:46:08 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:34 2007 -0800"
      },
      "message": "[PATCH] ext4: refuse ro to rw remount of fs with orphan inodes\n\nIn the rare case where we have skipped orphan inode processing due to a\nreadonly block device, and the block device subsequently changes back to\nread-write, disallow a remount,rw transition of the filesystem when we have an\nunprocessed orphan inodes as this would corrupt the list.\n\nIdeally we should process the orphan inode list during the remount, but that\u0027s\ntrickier, and this plugs the hole for now.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: \"Stephen C. Tweedie\" \u003csct@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ea9a05a1330053759c02eb2c60547085140a4cbd",
      "tree": "f81451db36a53d682ad4a623b7144e27a3e04033",
      "parents": [
        "bfb58478fe2f8cbbb776d910ff3549515e3c8f4f"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sat Feb 10 01:46:07 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:34 2007 -0800"
      },
      "message": "[PATCH] ext3: refuse ro to rw remount of fs with orphan inodes\n\nIn the rare case where we have skipped orphan inode processing due to a\nreadonly block device, and the block device subsequently changes back to\nread-write, disallow a remount,rw transition of the filesystem when we have an\nunprocessed orphan inodes as this would corrupt the list.\n\nIdeally we should process the orphan inode list during the remount, but that\u0027s\ntrickier, and this plugs the hole for now.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: \"Stephen C. Tweedie\" \u003csct@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "100bb9349ea5cb4e667977de55bd6dc4ac7bc22f",
      "tree": "d5b4e61daf0c35d745846818bb89b6b7b9d2f283",
      "parents": [
        "cb799b8988e40a7871ae8e976248c33c562e3555"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sat Feb 10 01:45:51 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:31 2007 -0800"
      },
      "message": "[PATCH] proc_misc warning fix\n\nfs/proc/proc_misc.c: In function \u0027proc_misc_init\u0027:\nfs/proc/proc_misc.c:764: warning: unused variable \u0027entry\u0027\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a470e18f53940e7bd07b09f01c0970f653e268bf",
      "tree": "f4fcb0ff6d4fdc6ebcf30f196fd9c5107bde0e2e",
      "parents": [
        "4419d1ac7def3c2f74cab15e4a1c69cffcaadedd"
      ],
      "author": {
        "name": "Olaf Hering",
        "email": "olh@suse.de",
        "time": "Sat Feb 10 01:45:48 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:31 2007 -0800"
      },
      "message": "[PATCH] msdos partitions: fix logic error in AIX detection\n\nCorrect the AIX magic check to let \u0027echo \u003e /dev/sdb\u0027 actually work.\n\nSigned-off-by: Olaf Hering \u003colh@suse.de\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4419d1ac7def3c2f74cab15e4a1c69cffcaadedd",
      "tree": "adeb2b715cbd53d94cf71127f4b4bd19d5544cd5",
      "parents": [
        "aa58d61d18b89b98521364550b481fd9bd18c3b6"
      ],
      "author": {
        "name": "Olaf Hering",
        "email": "olh@suse.de",
        "time": "Sat Feb 10 01:45:47 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:31 2007 -0800"
      },
      "message": "[PATCH] relax check for AIX in msdos partition table\n\nThe patch to identify AIX disks and ignore them has caused at least one\nmachine to fail to find the root partition on 2.6.19. The patch is:\n\nhttp://lkml.org/lkml/2006/7/31/117\n\nThe problem is some disk formatters do not blow away the first 4 bytes\nof the disk. If the disk we are installing to used to have AIX on it,\nthen the first 4 bytes will still have IBMA in EBCDIC.\n\nThe install in question was debian etch. Im not sure what the best fix\nis, perhaps the AIX detection code could check more than the first 4\nbytes.\n\nThe whole partition info for primary partitions is in this block:\n\n  dd if\u003d/dev/sdb count\u003d$(( 4 * 16 )) bs\u003d1 skip\u003d$(( 0x1be ))\n\nAll other data do not matter, beside the 0x55aa marker at the end of the\nfirst block.\n\nSigned-off-by: Olaf Hering \u003colh@suse.de\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fc0ecff698165ae8e178efa086e0dd1f385206b1",
      "tree": "fc6274f0862bdd6749172201170b2f6a7ce4c4ff",
      "parents": [
        "54bc485522afdac33de5504da2ea8cdcc690674e"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sat Feb 10 01:45:39 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:31 2007 -0800"
      },
      "message": "[PATCH] remove invalidate_inode_pages()\n\nConvert all calls to invalidate_inode_pages() into open-coded calls to\ninvalidate_mapping_pages().\n\nLeave the invalidate_inode_pages() wrapper in place for now, marked as\ndeprecated.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d8adb9cef7e406a9a82881695097c702bc98422f",
      "tree": "3a8ac99c4247ebba99da8dafb5ddc77f2cc61f4e",
      "parents": [
        "23c887522e912ca494950796a95df8dd210f4b01"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sat Feb 10 01:45:06 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:28 2007 -0800"
      },
      "message": "[PATCH] ext2: skip pages past number of blocks in ext2_find_entry\n\nThis one was pointed out on the MOKB site:\nhttp://kernelfun.blogspot.com/2006/11/mokb-09-11-2006-linux-26x-ext2checkpage.html\n\nIf a directory\u0027s i_size is corrupted, ext2_find_entry() will keep\nprocessing pages until the i_size is reached, even if there are no more\nblocks associated with the directory inode.  This patch puts in some\nminimal sanity-checking so that we don\u0027t keep checking pages (and issuing\nerrors) if we know there can be no more data to read, based on the block\ncount of the directory inode.\n\nThis is somewhat similar in approach to the ext3 patch I sent earlier this\nyear.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c376222960ae91d5ffb9197ee36771aaed1d9f90",
      "tree": "7f431c42529fec77433d33490bd9f2a8c47ba091",
      "parents": [
        "1b135431abf5ea92e61bf4e91d93726c7b96da5f"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sat Feb 10 01:45:03 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:27 2007 -0800"
      },
      "message": "[PATCH] Transform kmem_cache_alloc()+memset(0) -\u003e kmem_cache_zalloc().\n\nReplace appropriate pairs of \"kmem_cache_alloc()\" + \"memset(0)\" with the\ncorresponding \"kmem_cache_zalloc()\" call.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nAcked-by: Joel Becker \u003cJoel.Becker@oracle.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4a3b0a490d49ada8bbf3f426be1a0ace4dcd0a55",
      "tree": "3816f425c64a7b551894f098b6f5b5f238339ed0",
      "parents": [
        "068135e63518314d4efd711142f674ad0841599e"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Sat Feb 10 01:44:59 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:26 2007 -0800"
      },
      "message": "[PATCH] igrab() should check for I_CLEAR\n\nWhen igrab() is calling __iget() on an inode it should check if\nclear_inode() has been called on the inode already.  Otherwise there is a\nrace window between clear_inode() and destroy_inode() where igrab() calls\n__iget() which leads to already free inodes on the inode lists.\n\nSigned-off-by: Vandana Rungta \u003cvandana@novell.com\u003e\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "37756ced1f145aec18917812c3b8a96dbb47990d",
      "tree": "a293813e3dce24a161c2cf029c4139086a23d978",
      "parents": [
        "4ba4d4c0c52201009232fe9e781a281054a24e75"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sat Feb 10 01:44:49 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:25 2007 -0800"
      },
      "message": "[PATCH] avoid one conditional branch in touch_atime()\n\nI added IS_NOATIME(inode) macro definition in include/linux/fs.h, true if\nthe inode superblock is marked readonly or noatime.\n\nThis new macro is then used in touch_atime() instead of separatly testing\nMS_RDONLY and MS_NOATIME\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "46626296314e5679c9aaca36979a50ac20692e0b",
      "tree": "81caa0fead3e86d54ad4d234984765f749fb52e4",
      "parents": [
        "767193253bbac889e176f90b6f17b7015f986551"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Sat Feb 10 01:43:17 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:19 2007 -0800"
      },
      "message": "[PATCH] convert ramfs to use __set_page_dirty_no_writeback\n\nAs pointed out by Hugh, ramfs would also benefit from using the new\nset_page_dirty aop method for memory backed file systems.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "65e458d43dff872ee560e721fb0fdb367bb5adb0",
      "tree": "e903ec97a4a6c0ee952108b696387ef098a6a80c",
      "parents": [
        "05a0416be2b88d859efcbc4a4290555a04d169a1"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sat Feb 10 01:43:05 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:18 2007 -0800"
      },
      "message": "[PATCH] Drop get_zone_counts()\n\nValues are available via ZVC sums.\n\nSigned-off-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": "e10a4437cb37c85f2df95432025b392d98aac2aa",
      "tree": "f8a560ecf6e75f582c0f025385d5e350a21d9fd6",
      "parents": [
        "7c5cae368a6c44eac0e817ae130301b65ff446dc"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sat Feb 10 01:42:56 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:17 2007 -0800"
      },
      "message": "[PATCH] Remove final references to deprecated \"MAP_ANON\" page protection flag\n\nRemove the last vestiges of the long-deprecated \"MAP_ANON\" page protection\nflag: use \"MAP_ANONYMOUS\" instead.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d18d7682c18b617f523df6beea5ea0bd396ed0bd",
      "tree": "8e005fee2e13134e9ebdd1a3b71ef72b84351b19",
      "parents": [
        "66efc5a7e3061c3597ac43a8bb1026488d57e66b"
      ],
      "author": {
        "name": "Fabio Massimo Di Nitto",
        "email": "fabbione@ubuntu.com",
        "time": "Sat Feb 10 23:50:00 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 10 23:50:00 2007 -0800"
      },
      "message": "[PARTITION]: Add whole_disk attribute.\n\nSome partitioning systems create special partitions that\nspan the entire disk.  One example are Sun partitions, and\nthis whole-disk partition exists to tell the firmware the\nextent of the entire device so it can load the boot block\nand do other things.\n\nSuch partitions should not be treated as normal partitions,\nbecause all the other partitions overlap this whole-disk one.\nSo we\u0027d see multiple instances of the same UUID etc. which\nwe do not want.  udev and friends can thus search for this\n\u0027whole_disk\u0027 attribute and use it to decide to ignore the\npartition.\n\nSigned-off-by: Fabio Massimo Di Nitto \u003cfabbione@ubuntu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e7ff6aed8761b2c86cd9ab7083e512de2b8cfa48",
      "tree": "7a3e7e8ba879bbd72f55cbada44ebe542b179087",
      "parents": [
        "6be145bfb1ce93b2dbb854fee66fbb8d04916339"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Sat Feb 10 18:37:46 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:37:46 2007 +1100"
      },
      "message": "[XFS] Don\u0027t use kmap in xfs_iozero.\n\nkmap() is inefficient and does not scale well. kmap_atomic() is a better\nchoice. Use the generic wrapper function instead of open coding the\nkmap-memset-dcache flush-kunmap stuff.\n\nSGI-PV: 960904\nSGI-Modid: xfs-linux-melb:xfs-kern:28041a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "6be145bfb1ce93b2dbb854fee66fbb8d04916339",
      "tree": "e723cab2dbc3a067a9d154070ad98b51b3a7fca7",
      "parents": [
        "2c36ddeda7f04c085d9a612cf8dab5f0a1cd5224"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Sat Feb 10 18:37:40 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:37:40 2007 +1100"
      },
      "message": "[XFS] Remove a bunch of unused functions from XFS.\n\nPatch provided by Eric Sandeen (sandeen@sandeen.net).\n\nSGI-PV: 960897\nSGI-Modid: xfs-linux-melb:xfs-kern:28038a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "2c36ddeda7f04c085d9a612cf8dab5f0a1cd5224",
      "tree": "2609264dd04c10d6c448ec0fafa2cc1c480ad980",
      "parents": [
        "7bc5306d74922d9b14f507e1164d8dd852a98ad3"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Sat Feb 10 18:37:33 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:37:33 2007 +1100"
      },
      "message": "[XFS] Remove unused arguments from the XFS_BTREE_*_ADDR macros.\n\nIt makes it incrementally clearer to read the code when the top of a macro\nspaghetti-pile only receives the 3 arguments it uses, rather than 2 extra\nones which are not used. Also when you start pulling this thread out of\nthe sweater (i.e. remove unused args from XFS_BTREE_*_ADDR), a couple\nother third arms etc fall off too. If they\u0027re not used in the macro, then\nthey sometimes don\u0027t need to be passed to the function calling the macro\neither, etc....\n\nPatch provided by Eric Sandeen (sandeen@sandeen.net).\n\nSGI-PV: 960197\nSGI-Modid: xfs-linux-melb:xfs-kern:28037a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "7bc5306d74922d9b14f507e1164d8dd852a98ad3",
      "tree": "9028618eefaf7510f220525e9b57ba20cd804aaa",
      "parents": [
        "3c0dc77b42cee99c71e913765073888620d442fa"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Sat Feb 10 18:37:28 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:37:28 2007 +1100"
      },
      "message": "[XFS] Remove unused header files for MAC and CAP checking functionality.\n\nxfs_mac.h and xfs_cap.h provide definitions and macros that aren\u0027t used\nanywhere in XFS at all. They are left-overs from \"to be implement at some\npoint in the future\" functionality that Irix XFS has. If this\nfunctionality ever goes into Linux, it will be provided at a different\nlayer, most likely through the security hooks in the kernel so we will\nnever need this functionality in XFS.\n\nPatch provided by Eric Sandeen (sandeen@sandeen.net).\n\nSGI-PV: 960895\nSGI-Modid: xfs-linux-melb:xfs-kern:28036a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "3c0dc77b42cee99c71e913765073888620d442fa",
      "tree": "bb11f93ab00e83b3b020e51d4ddf2e47f6ed8aa0",
      "parents": [
        "f7c99b6fc7b3791cd24e0763cd4967d744c164a3"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Sat Feb 10 18:37:22 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:37:22 2007 +1100"
      },
      "message": "[XFS] Make freeze code a little cleaner.\n\nFixes a few small issues (mostly cosmetic) that were picked up during the\nreview cycle for the last set of freeze path changes.\n\nSGI-PV: 959267\nSGI-Modid: xfs-linux-melb:xfs-kern:28035a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "f7c99b6fc7b3791cd24e0763cd4967d744c164a3",
      "tree": "543581c6ebe8987ff83b6d8b3425e5c2723bbf3d",
      "parents": [
        "39058a0e12a8b2dcb8f9345ecad52dbcfc120ef7"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Sat Feb 10 18:37:16 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:37:16 2007 +1100"
      },
      "message": "[XFS] Remove unused argument to xfs_bmap_finish\n\nThe firstblock argument to xfs_bmap_finish is not used by that function.\nRemove it and cleanup the code a bit.\n\nPatch provided by Eric Sandeen.\n\nSGI-PV: 960196\nSGI-Modid: xfs-linux-melb:xfs-kern:28034a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "39058a0e12a8b2dcb8f9345ecad52dbcfc120ef7",
      "tree": "11efd300866375527fb139b6baac42c195566fd1",
      "parents": [
        "4cf3b52080b3d354b10b8b1c9147bf88118b8eef"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Sat Feb 10 18:37:10 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:37:10 2007 +1100"
      },
      "message": "[XFS] Clean up use of VFS attr flags\n\nUse the the generic VFS attr flags where appropriate instead of open\ncoding them to the same values.\n\nPatch provided by Eric Sandeen.\n\nSGI-PV: 960868\nSGI-Modid: xfs-linux-melb:xfs-kern:28033a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "4cf3b52080b3d354b10b8b1c9147bf88118b8eef",
      "tree": "33cccabfd20633580c3d84c736e3cbe23f74f023",
      "parents": [
        "3a68cbfe0277fb73d5f0c2a433884745fb500c38"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Sat Feb 10 18:37:04 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:37:04 2007 +1100"
      },
      "message": "[XFS] Remove useless memory barrier\n\nwake_up\u0027s implementation does an implicit memory barrier so the explicit\nmemory barrier is not needed in vfs_sync_worker.\n\nPatch provided by Ralf Baechle.\n\nSGI-PV: 960867\nSGI-Modid: xfs-linux-melb:xfs-kern:28032a\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "3a68cbfe0277fb73d5f0c2a433884745fb500c38",
      "tree": "2644f3273a0da495e9fec4db06bd4a58550b8e32",
      "parents": [
        "c167b77d5e172a2deb058be442ca652ad3a417f9"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Feb 10 18:36:59 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:36:59 2007 +1100"
      },
      "message": "[XFS] XFS sysctl cleanups\n\nRemoves unneeded sysctl insert at head behaviour. Cleans up sysctl\ndefinitions to use C99 initialisers. Patch provided by Eric W. Biederman.\n\nSGI-PV: 960192\nSGI-Modid: xfs-linux-melb:xfs-kern:28031a\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "c167b77d5e172a2deb058be442ca652ad3a417f9",
      "tree": "0e7d6d58634c4787283b90862140e552f3f6d742",
      "parents": [
        "681601613759accffd8e8ddbc6f942eba7ecbfe5"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Sat Feb 10 18:36:53 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:36:53 2007 +1100"
      },
      "message": "[XFS] Fix assertion in xfs_attr_shortform_remove().\n\nSGI-PV: 960791\nSGI-Modid: xfs-linux-melb:xfs-kern:28021a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Barry Naujok \u003cbnaujok@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "681601613759accffd8e8ddbc6f942eba7ecbfe5",
      "tree": "8495ec3a648ca6ea2dce55ed7baf0127fb2ea486",
      "parents": [
        "2823945fda94e0636be573a037c45cb7b6495af2"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Sat Feb 10 18:36:47 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:36:47 2007 +1100"
      },
      "message": "[XFS] Fix callers of xfs_iozero() to zero the correct range.\n\nThe problem is the two callers of xfs_iozero() are rounding out the range\nto be zeroed to the end of a fsb and in some cases this extends past the\nnew eof. The call to commit_write() in xfs_iozero() will cause the Linux\ninode\u0027s file size to be set too high.\n\nSGI-PV: 960788\nSGI-Modid: xfs-linux-melb:xfs-kern:28013a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "2823945fda94e0636be573a037c45cb7b6495af2",
      "tree": "b06f13e327978cb4e44710cec46839539c394cf5",
      "parents": [
        "549054afadae44889c0b40d4c3bfb0207b98d5a0"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Sat Feb 10 18:36:40 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:36:40 2007 +1100"
      },
      "message": "[XFS] Ensure a frozen filesystem has a clean log before writing the dummy\nrecord.\n\nThe current Linux XFS freeze code is a mess. We flush the metadata buffers\nout while we are still allowing new transactions to start and then fail to\nflush the dirty buffers back out before writing the unmount and dummy\nrecords to the log.\n\nThis leads to problems when the frozen filesystem is used for snapshots -\nwe do log recovery on a readonly image and often it appears that the log\nimage in the snapshot is not correct. Hence we end up with hangs, oops and\nmount failures when trying to mount a snapshot image that has been created\nwhen the filesystem has not been correctly frozen.\n\nTo fix this, we need to move th metadata flush to after we wait for all\ncurrent transactions to complete in teh second stage of the freeze. This\nmeans that when we write the final log records, the log should be clean\nand recovery should never occur on a snapshot image created from a frozen\nfilesystem.\n\nSGI-PV: 959267\nSGI-Modid: xfs-linux-melb:xfs-kern:28010a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Donald Douwsma \u003cdonaldd@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "549054afadae44889c0b40d4c3bfb0207b98d5a0",
      "tree": "fe82d3c74b4ac1412746e29300df9ca725603d2f",
      "parents": [
        "5478eead8528f6cb5ebe3015fb88b68b175e1093"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Sat Feb 10 18:36:35 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:36:35 2007 +1100"
      },
      "message": "[XFS] Fix sub-block zeroing for buffered writes into unwritten extents.\n\nWhen writing less than a filesystem block of data into an unwritten extent\nvia buffered I/O, __xfs_get_blocks fails to set the buffer new flag. As a\nresult, the generic code will not zero either edge of the block resulting\nin garbage being written to disk either side of the real data. Set the\nbuffer new state on bufferd writes to unwritten extents to ensure that\nzeroing occurs.\n\nSGI-PV: 960328\nSGI-Modid: xfs-linux-melb:xfs-kern:28000a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "5478eead8528f6cb5ebe3015fb88b68b175e1093",
      "tree": "13a5a0f48f25ef5fd77fe6b1ca8e062be94fc8f4",
      "parents": [
        "c97be736051dacefb00643095d76fd5b70dfef7b"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Sat Feb 10 18:36:29 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:36:29 2007 +1100"
      },
      "message": "[XFS] Re-initialize the per-cpu superblock counters after recovery.\n\nAfter filesystem recovery the superblock is re-read to bring in any\nchanges. If the per-cpu superblock counters are not re-initialized from\nthe superblock then the next time the per-cpu counters are disabled they\nmight overwrite the global counter with a bogus value.\n\nSGI-PV: 957348\nSGI-Modid: xfs-linux-melb:xfs-kern:27999a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "c97be736051dacefb00643095d76fd5b70dfef7b",
      "tree": "592b6ac34ee4c94143dff8fd71289117aa253228",
      "parents": [
        "dbcabad19aa91dc9bc7176fd2853fa74f724cd2f"
      ],
      "author": {
        "name": "Kevin Jamieson",
        "email": "kjamieson@bycast.com",
        "time": "Sat Feb 10 18:36:23 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:36:23 2007 +1100"
      },
      "message": "[XFS] Fix block reservation changes for non-SMP systems.\n\nSGI-PV: 956323\nSGI-Modid: xfs-linux-melb:xfs-kern:27940a\n\nSigned-off-by: Kevin Jamieson \u003ckjamieson@bycast.com\u003e\nSigned-off-by: David Chatterton \u003cchatz@sgi.com\u003e\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "dbcabad19aa91dc9bc7176fd2853fa74f724cd2f",
      "tree": "b65139c6c19541503444817af740ba265f8b838f",
      "parents": [
        "20f4ebf2bf2f57c1a9abb3655391336cc90314b3"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Sat Feb 10 18:36:17 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:36:17 2007 +1100"
      },
      "message": "[XFS] Fix block reservation mechanism.\n\nThe block reservation mechanism has been broken since the per-cpu\nsuperblock counters were introduced. Make the block reservation code work\nwith the per-cpu counters by syncing the counters, snapshotting the amount\nof available space and then doing a modifcation of the counter state\naccording to the result. Continue in a loop until we either have no space\navailable or we reserve some space.\n\nSGI-PV: 956323\nSGI-Modid: xfs-linux-melb:xfs-kern:27895a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "20f4ebf2bf2f57c1a9abb3655391336cc90314b3",
      "tree": "d6081bf132eea97adbc13a1da980e75f4735141b",
      "parents": [
        "f74eaf59b36c0ad01f416b567f89c737bbf82bae"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Sat Feb 10 18:36:10 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:36:10 2007 +1100"
      },
      "message": "[XFS] Make growfs work for amounts greater than 2TB\n\nThe free block modification code has a 32bit interface, limiting the size\nthe filesystem can be grown even on 64 bit machines. On 32 bit machines,\nthere are other 32bit variables in transaction structures and interfaces\nthat need to be expanded to allow this to work.\n\nSGI-PV: 959978\nSGI-Modid: xfs-linux-melb:xfs-kern:27894a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "f74eaf59b36c0ad01f416b567f89c737bbf82bae",
      "tree": "2420bc97336a79b317b461cb7ece9f5bc40d8aec",
      "parents": [
        "e5889e90dda328443161e9512f1123c9814d03de"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Sat Feb 10 18:36:04 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:36:04 2007 +1100"
      },
      "message": "[XFS] Fix inode log item use-after-free on forced shutdown\n\nSGI-PV: 959388\nSGI-Modid: xfs-linux-melb:xfs-kern:27805a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "e5889e90dda328443161e9512f1123c9814d03de",
      "tree": "36c0fd406520251c8ec2f419cad45f800a2e2f3d",
      "parents": [
        "7666ab5fb378678a9d5eb3c0dc8d3170e274e7a4"
      ],
      "author": {
        "name": "Barry Naujok",
        "email": "bnaujok@sgi.com",
        "time": "Sat Feb 10 18:35:58 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:35:58 2007 +1100"
      },
      "message": "[XFS] Fix attr2 corruption with btree data extents\n\nSGI-PV: 958747\nSGI-Modid: xfs-linux-melb:xfs-kern:27792a\n\nSigned-off-by: Barry Naujok \u003cbnaujok@sgi.com\u003e\nSigned-off-by: Russell Cattelan \u003ccattelan@thebarn.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "7666ab5fb378678a9d5eb3c0dc8d3170e274e7a4",
      "tree": "fe8e89380d84924a54c1336b7d8a52ac8f6c863e",
      "parents": [
        "5180602e6fd6f7d221e51670567f3809ecfe968f"
      ],
      "author": {
        "name": "Vlad Apostolov",
        "email": "vapo@sgi.com",
        "time": "Sat Feb 10 18:35:52 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:35:52 2007 +1100"
      },
      "message": "[XFS] Workaround log space issue by increasing XFS_TRANS_PUSH_AIL_RESTARTS\n\nSGI-PV: 959264\nSGI-Modid: xfs-linux-melb:xfs-kern:27750a\n\nSigned-off-by: Vlad Apostolov \u003cvapo@sgi.com\u003e\nSigned-off-by: David Chatterton \u003cchatz@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "5180602e6fd6f7d221e51670567f3809ecfe968f",
      "tree": "a250178a94d013348084127e01e28cbfbb986ae5",
      "parents": [
        "a3227fb99675ebcdbe89e6954a85742c0dd11f0a"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Sat Feb 10 18:35:46 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:35:46 2007 +1100"
      },
      "message": "[XFS] remove unused filp from ioctl functions\n\nSGI-PV: 959140\nSGI-Modid: xfs-linux-melb:xfs-kern:27712a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "a3227fb99675ebcdbe89e6954a85742c0dd11f0a",
      "tree": "f29ff52fec725a2bcdd4578c7cadf4bbf31fe7f7",
      "parents": [
        "1f9b3b64d417a714eb79d9a4cd4927ab304b0fc0"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Sat Feb 10 18:35:40 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:35:40 2007 +1100"
      },
      "message": "[XFS] mraccessf \u0026 mrupdatef are supposed to be the \"flags\" versions of the\nfunctions, but they\n\na) ignore the flags parameter completely, and b) are never called\ndirectly, only via the flag-less defines anyway\n\nSo, drop the #define indirection, and rename mraccessf to mraccess, etc.\n\nSGI-PV: 959138\nSGI-Modid: xfs-linux-melb:xfs-kern:27711a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "1f9b3b64d417a714eb79d9a4cd4927ab304b0fc0",
      "tree": "193664b3b8d154d885ba0a49f8726a3d3007ccc7",
      "parents": [
        "1c91ad3aedba82a64ae06a5a0a5651105d378112"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Sat Feb 10 18:35:33 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:35:33 2007 +1100"
      },
      "message": "[XFS] remove unused xflags parameter from sync routines\n\nSGI-PV: 959137\nSGI-Modid: xfs-linux-melb:xfs-kern:27710a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "1c91ad3aedba82a64ae06a5a0a5651105d378112",
      "tree": "47eef142ac5a8ff00876b603e1156c2fcb719c54",
      "parents": [
        "e5eb7f202b7a1a2d20a0b9866805314bf6464fd0"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Sat Feb 10 18:35:27 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:35:27 2007 +1100"
      },
      "message": "[XFS] fix sparse warning in xfs_da_btree.c\n\nSGI-PV: 954580\nSGI-Modid: xfs-linux-melb:xfs-kern:27702a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "e5eb7f202b7a1a2d20a0b9866805314bf6464fd0",
      "tree": "d5446be344d99ad74080504a664ac548c69d870a",
      "parents": [
        "03135cf72621fccab57728f0ba3ab5a551df1cc1"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Sat Feb 10 18:35:21 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:35:21 2007 +1100"
      },
      "message": "[XFS] use struct kvec in struct uio\n\nSGI-PV: 954580\nSGI-Modid: xfs-linux-melb:xfs-kern:27701a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "03135cf72621fccab57728f0ba3ab5a551df1cc1",
      "tree": "1ba21174dd2c0215e98c39d3ae09e09de06f0010",
      "parents": [
        "20b642858b6bb413976ff13ae6a35cc596967bab"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Sat Feb 10 18:35:15 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:35:15 2007 +1100"
      },
      "message": "[XFS] Fix UP build breakage due to undefined m_icsb_mutex.\n\nSGI-PV: 952227\nSGI-Modid: xfs-linux-melb:xfs-kern:27692a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "20b642858b6bb413976ff13ae6a35cc596967bab",
      "tree": "363a370fc2e0097603a0cc4494f291bdc7433397",
      "parents": [
        "804195b63a6dcb767f5fae43b435067079b52903"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Sat Feb 10 18:35:09 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:35:09 2007 +1100"
      },
      "message": "[XFS] Reduction global superblock lock contention near ENOSPC.\n\nThe existing per-cpu superblock counter code uses the global superblock\nspin lock when we approach ENOSPC for global synchronisation. On larger\nmachines than this code was originally tested on this can still get\ncatastrophic spinlock contention due increasing rebalance frequency near\nENOSPC.\n\nBy introducing a sleeping lock that is used to serialise balances and\nmodifications near ENOSPC we prevent contention from needlessly from\nwasting the CPU time of potentially hundreds of CPUs.\n\nTo reduce the number of balances occuring, we separate the need rebalance\ncase from the slow allocate case. Now, a counter running dry will trigger\na rebalance during which counters are disabled. Any thread that sees a\ndisabled counter enters a different path where it waits on the new mutex.\nWhen it gets the new mutex, it checks if the counter is disabled. If the\ncounter is disabled, then we _know_ that we have to use the global counter\nand lock and it is safe to do so immediately. Otherwise, we drop the mutex\nand go back to trying the per-cpu counters which we know were re-enabled.\n\nSGI-PV: 952227\nSGI-Modid: xfs-linux-melb:xfs-kern:27612a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "804195b63a6dcb767f5fae43b435067079b52903",
      "tree": "f42d1181704a916883867832c5634ed6bc0a0858",
      "parents": [
        "7989cb8ef5dbc1411d3be48218c7b25ef6e71699"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Sat Feb 10 18:35:02 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:35:02 2007 +1100"
      },
      "message": "[XFS] Get rid of old 5.3/6.1 v1 log items. Cleanup patch sent in by Eric\nSandeen.\n\nSGI-PV: 958736\nSGI-Modid: xfs-linux-melb:xfs-kern:27596a\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "7989cb8ef5dbc1411d3be48218c7b25ef6e71699",
      "tree": "607efa745911951a30712de44a837c1df952bd3a",
      "parents": [
        "5e6a07dfe404cd4d8494d842b54706cb007fa04b"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Sat Feb 10 18:34:56 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:34:56 2007 +1100"
      },
      "message": "[XFS] Keep stack usage down for 4k stacks by using noinline.\n\ngcc-4.1 and more recent aggressively inline static functions which\nincreases XFS stack usage by ~15% in critical paths. Prevent this from\noccurring by adding noinline to the STATIC definition.\n\nAlso uninline some functions that are too large to be inlined and were\ncausing problems with CONFIG_FORCED_INLINING\u003dy.\n\nFinally, clean up all the different users of inline, __inline and\n__inline__ and put them under one STATIC_INLINE macro. For debug kernels\nthe STATIC_INLINE macro uninlines those functions.\n\nSGI-PV: 957159\nSGI-Modid: xfs-linux-melb:xfs-kern:27585a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: David Chatterton \u003cchatz@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "5e6a07dfe404cd4d8494d842b54706cb007fa04b",
      "tree": "46cb354cfaedf75afb956036b5238a12f6c75f1d",
      "parents": [
        "dc74eaad8cda9f12a885639b4f2513c99e9b483a"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Sat Feb 10 18:34:49 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:34:49 2007 +1100"
      },
      "message": "[XFS] Current usage of buftarg flags is incorrect.\n\nThe {test,set,clear}_bit() operations take a bit index for the bit to\noperate on. The XBT_* flags are defined as bit fields which is incorrect,\nnot to mention the way the bit fields are enumerated is broken too. This\nwas only working by chance.\n\nFix the definitions of the flags and make the code using them use the\n{test,set,clear}_bit() operations correctly.\n\nSGI-PV: 958639\nSGI-Modid: xfs-linux-melb:xfs-kern:27565a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "dc74eaad8cda9f12a885639b4f2513c99e9b483a",
      "tree": "b32ac71e87436179c2f9ef94f6e9aca7e4aa7b4e",
      "parents": [
        "585e6d8856526a846b90b485abf37ec40e5da1cf"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@sgi.com",
        "time": "Sat Feb 10 18:34:38 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:34:38 2007 +1100"
      },
      "message": "[XFS] Prevent buffer overrun in cmn_err().\n\nThe message buffer used by cmn_err() is only 256 bytes and some CXFS\nmessages were exceeding this length. Since we were using vsprintf() and\nnot checking for buffer overruns we were clobbering memory beyond the\nbuffer. The size of the buffer has been increased to 1024 bytes so we can\ncapture these larger messages and we are now using vsnprintf() to prevent\noverrunning the buffer size.\n\nSGI-PV: 958599\nSGI-Modid: xfs-linux-melb:xfs-kern:27561a\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\nSigned-off-by: Geoffrey Wehrman \u003cgwehrman@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "585e6d8856526a846b90b485abf37ec40e5da1cf",
      "tree": "8ecae5c3e10a1753fc178877ab11deadcf9625f3",
      "parents": [
        "dac61f521b1e4d2c6c48023f2f2743c6096b48ca"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Sat Feb 10 18:32:29 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:32:29 2007 +1100"
      },
      "message": "[XFS] Fix a synchronous buftarg flush deadlock when freezing.\n\nAt the last stage of a freeze, we flush the buftarg synchronously over and\nover again until it succeeds twice without skipping any buffers.\n\nThe delwri list flush skips pinned buffers, but tries to flush all others.\nIt removes the buffers from the delwri list, then tries to lock them one\nat a time as it traverses the list to issue the I/O. It holds them locked\nuntil we issue all of the I/O and then unlocks them once we\u0027ve waited for\nit to complete.\n\nThe problem is that during a freeze, the filesystem may still be doing\nstuff - like flushing delalloc data buffers - in the background and hence\nwe can be trying to lock buffers that were on the delwri list at the same\ntime. Hence we can get ABBA deadlocks between threads doing allocation and\nthe buftarg flush (freeze) thread.\n\nFix it by skipping locked (and pinned) buffers as we traverse the delwri\nbuffer list.\n\nSGI-PV: 957195\nSGI-Modid: xfs-linux-melb:xfs-kern:27535a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "dac61f521b1e4d2c6c48023f2f2743c6096b48ca",
      "tree": "06f672ee8c8987ba34a567b17e1c3c483d605f00",
      "parents": [
        "eaefd5fb7d793c9c1bcef1b0c0d5ec3824a85b91"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Sat Feb 10 18:27:56 2007 +1100"
      },
      "committer": {
        "name": "Tim Shimmin",
        "email": "tes@sgi.com",
        "time": "Sat Feb 10 18:27:56 2007 +1100"
      },
      "message": "[XFS] Make quiet mounts quiet\n\nThe XFS quiet mount logic was inverted making quiet mounts noisy and vice\nversa. Fix it.\n\nSGI-PV: 958469\nSGI-Modid: xfs-linux-melb:xfs-kern:27520a\n\nSigned-off-by: David Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Tim Shimmin \u003ctes@sgi.com\u003e\n"
    },
    {
      "commit": "72613e5f44adf2fe2684a5f1c1b62c2ee9984f40",
      "tree": "14cb1a018093cd1b5a0924850d36106cc0cd40d9",
      "parents": [
        "c051b01129560ea02ea2cebdf00db0721cc9a618"
      ],
      "author": {
        "name": "Greg Ungerer",
        "email": "gerg@snapgear.com",
        "time": "Wed Feb 07 12:03:08 2007 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 09 10:45:33 2007 -0800"
      },
      "message": "[PATCH] uclinux: correctly remap bin_fmtflat exe allocated mem regions\n\nremap() the region we get from mmap() to mark the fact that we are\nusing all of the available slack space. Any slack space is used\nto form a simple brk region, and potentially more stack space than\nrequested at load time.\n\nAny searches of the vma chain may well fail looking for\nstack (and especially arg) addresses if the remaping is not done.\nThe simplest example is /proc/\u003cpid\u003e/cmdline, since the args\nare pretty much always at the top of the data/bss/stack region.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "835d90c4218dffe6f9e7ac1ed79795197a4970c4",
      "tree": "4802f76f7cf874ff23cd4b33e733903d1f1b0127",
      "parents": [
        "da6e1a32fb8d7539a27f699c8671f64d7fefd0cc"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu Feb 08 14:20:38 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 09 09:25:47 2007 -0800"
      },
      "message": "[PATCH] v9fs_vfs_mkdir(): fix a double free\n\nFix a double free of \"dfid\" introduced by commit\nda977b2c7eb4d6312f063a7b486f2aad99809710 and spotted by the Coverity\nchecker.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\nCc: \u003cstable@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": "6649a3863232eb2e2f15ea6c622bd8ceacf96d76",
      "tree": "c3b77d20afd1e7215186244375f6cdcaad94d4b2",
      "parents": [
        "f336953bfdee8d5e7f69cb8e080704546541f04b"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Thu Feb 08 14:20:27 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 09 09:25:46 2007 -0800"
      },
      "message": "[PATCH] hugetlb: preserve hugetlb pte dirty state\n\n__unmap_hugepage_range() is buggy that it does not preserve dirty state of\nhuge_pte when unmapping hugepage range.  It causes data corruption in the\nevent of dop_caches being used by sys admin.  For example, an application\ncreates a hugetlb file, modify pages, then unmap it.  While leaving the\nhugetlb file alive, comes along sys admin doing a \"echo 3 \u003e\n/proc/sys/vm/drop_caches\".\n\ndrop_pagecache_sb() will happily free all pages that aren\u0027t marked dirty if\nthere are no active mapping.  Later when application remaps the hugetlb\nfile back and all data are gone, triggering catastrophic flip over on\napplication.\n\nNot only that, the internal resv_huge_pages count will also get all messed\nup.  Fix it up by marking page dirty appropriately.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nCc: \"Nish Aravamudan\" \u003cnish.aravamudan@gmail.com\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \u003cstable@kernel.org\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f336953bfdee8d5e7f69cb8e080704546541f04b",
      "tree": "03c86a0c0ce782edb4cf077fddea08f29dbdae84",
      "parents": [
        "cbb9450234fb28f60fea36520cd710a988ac5812"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Thu Feb 08 14:20:25 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 09 09:25:46 2007 -0800"
      },
      "message": "[PATCH] ufs: restore back support of openstep\n\nThis is a fix of regression, which triggered by ~2.6.16.\n\nPatch with name ufs-directory-and-page-cache-from-blocks-to-pages.patch: in\nadditional to conversation from block to page cache mechanism added new\nchecks of directory integrity, one of them that directory entry do not\nacross directory chunks.\n\nBut some kinds of UFS: OpenStep UFS and Apple UFS (looks like these are the\nsame filesystems) have different directory chunk size, then common\nUFSes(BSD and Solaris UFS).\n\nSo this patch adds ability to works with variable size of directory chunks,\nand set it for ufstype\u003dopenstep to right size.\n\nTested on darwin ufs.\n\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nCc: \u003cstable@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": "58addbffdde731da25a2f9eaa1353fc434f3f3c4",
      "tree": "875b23f974e17a7221c878ad47bc33313a56377a",
      "parents": [
        "9340b0d356ee52783121af398fa6a332e19e37e2"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Fri Feb 09 16:38:45 2007 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 09 09:14:06 2007 -0800"
      },
      "message": "[PATCH] dlm: use kern_recvmsg()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9783e1df7a6bd1e4dc5e2cafcdc29b65a47473d6",
      "tree": "9216a285bfe23aa799ca6efa01a3f4063d798e64",
      "parents": [
        "4387ff75f29412a234d394b0276c2b239d3d3844",
        "dc2e2f33bbf07344995357314fd8887f6564dba7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Feb 08 15:25:18 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Feb 08 15:25:18 2007 -0800"
      },
      "message": "Merge branch \u0027HEAD\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\nConflicts:\n\n\tcrypto/Kconfig\n"
    },
    {
      "commit": "5986a2ec35836a878350c54af4bd91b1de6abc59",
      "tree": "2efe068e124071ca30a5f1886402b890d7ba429e",
      "parents": [
        "43187902cbfafe73ede0144166b741fb0f7d04e1",
        "ff05d1c4643dd4260eb699396043d7e8009c0de4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 08 10:37:22 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 08 10:37:22 2007 -0800"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/mfasheh/ocfs2\n\n* \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/mfasheh/ocfs2: (22 commits)\n  configfs: Zero terminate data in configfs attribute writes.\n  [PATCH] ocfs2 heartbeat: clean up bio submission code\n  ocfs2: introduce sc-\u003esc_send_lock to protect outbound outbound messages\n  [PATCH] ocfs2: drop INET from Kconfig, not needed\n  ocfs2_dlm: Add timeout to dlm join domain\n  ocfs2_dlm: Silence some messages during join domain\n  ocfs2_dlm: disallow a domain join if node maps mismatch\n  ocfs2_dlm: Ensure correct ordering of set/clear refmap bit on lockres\n  ocfs2: Binds listener to the configured ip address\n  ocfs2_dlm: Calling post handler function in assert master handler\n  ocfs2: Added post handler callable function in o2net message handler\n  ocfs2_dlm: Cookies in locks not being printed correctly in error messages\n  ocfs2_dlm: Silence a failed convert\n  ocfs2_dlm: wake up sleepers on the lockres waitqueue\n  ocfs2_dlm: Dlm dispatch was stopping too early\n  ocfs2_dlm: Drop inflight refmap even if no locks found on the lockres\n  ocfs2_dlm: Flush dlm workqueue before starting to migrate\n  ocfs2_dlm: Fix migrate lockres handler queue scanning\n  ocfs2_dlm: Make dlmunlock() wait for migration to complete\n  ocfs2_dlm: Fixes race between migrate and dirty\n  ...\n"
    }
  ],
  "next": "ff05d1c4643dd4260eb699396043d7e8009c0de4"
}
