)]}'
{
  "log": [
    {
      "commit": "d28619f1563140526e2f84eae436f39206f40a69",
      "tree": "d93284016a0983c8f27b745a3c50738617e50995",
      "parents": [
        "021fad8b706849c091f6e682bc5df3ce4f9ab4d7",
        "f32764bd2bbb6ea003c158b1d276b4dc9f900348"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 09:11:11 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 09:11:11 2010 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:\n  quota: Convert quota statistics to generic percpu_counter\n  ext3 uses rb_node \u003d NULL; to zero rb_root.\n  quota: Fixup dquot_transfer\n  reiserfs: Fix resuming of quotas on remount read-write\n  pohmelfs: Remove dead quota code\n  ufs: Remove dead quota code\n  udf: Remove dead quota code\n  quota: rename default quotactl methods to dquot_\n  quota: explicitly set -\u003edq_op and -\u003es_qcop\n  quota: drop remount argument to -\u003equota_on and -\u003equota_off\n  quota: move unmount handling into the filesystem\n  quota: kill the vfs_dq_off and vfs_dq_quota_on_remount wrappers\n  quota: move remount handling into the filesystem\n  ocfs2: Fix use after free on remount read-only\n\nFix up conflicts in fs/ext4/super.c and fs/ufs/file.c\n"
    },
    {
      "commit": "e4ce30f3779c2ddaa7dfaa4042209e5dbacbada5",
      "tree": "cc64c1dcd16b5dbf71ebc8338b339e6fb04abaee",
      "parents": [
        "b899ebeb05da4287ce845976727e3e83dadd25d5",
        "14ece1028b3ed53ffec1b1213ffc6acaf79ad77c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 10:26:37 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 10:26:37 2010 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (40 commits)\n  ext4: Make fsync sync new parent directories in no-journal mode\n  ext4: Drop whitespace at end of lines\n  ext4: Fix compat EXT4_IOC_ADD_GROUP\n  ext4: Conditionally define compat ioctl numbers\n  tracing: Convert more ext4 events to DEFINE_EVENT\n  ext4: Add new tracepoints to track mballoc\u0027s buddy bitmap loads\n  ext4: Add a missing trace hook\n  ext4: restart ext4_ext_remove_space() after transaction restart\n  ext4: Clear the EXT4_EOFBLOCKS_FL flag only when warranted\n  ext4: Avoid crashing on NULL ptr dereference on a filesystem error\n  ext4: Use bitops to read/modify i_flags in struct ext4_inode_info\n  ext4: Convert calls of ext4_error() to EXT4_ERROR_INODE()\n  ext4: Convert callers of ext4_get_blocks() to use ext4_map_blocks()\n  ext4: Add new abstraction ext4_map_blocks() underneath ext4_get_blocks()\n  ext4: Use our own write_cache_pages()\n  ext4: Show journal_checksum option\n  ext4: Fix for ext4_mb_collect_stats()\n  ext4: check for a good block group before loading buddy pages\n  ext4: Prevent creation of files larger than RLIMIT_FSIZE using fallocate\n  ext4: Remove extraneous newlines in ext4_msg() calls\n  ...\n\nFixed up trivial conflict in fs/ext4/fsync.c\n"
    },
    {
      "commit": "287a80958cf63fc5c68d5bf6e89a3669dd66234a",
      "tree": "8e6883881709ffbbe3b1d6cb7a5b4dcef3428380",
      "parents": [
        "123e9caf1e85008ab7eb5f6cd58c44f9a5d73b2b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed May 19 07:16:45 2010 -0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon May 24 14:10:17 2010 +0200"
      },
      "message": "quota: rename default quotactl methods to dquot_\n\nFollow the dquot_* style used elsewhere in dquot.c.\n\n[Jan Kara: Fixed up missing conversion of ext2]\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "123e9caf1e85008ab7eb5f6cd58c44f9a5d73b2b",
      "tree": "a7a49a9aabb2136e8d19a3d86096bb525a16e0b9",
      "parents": [
        "307ae18a56e5b706056a2050d52e8cc01b5171c0"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed May 19 07:16:44 2010 -0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon May 24 14:10:17 2010 +0200"
      },
      "message": "quota: explicitly set -\u003edq_op and -\u003es_qcop\n\nOnly set the quota operation vectors if the filesystem actually supports\nquota instead of doing it for all filesystems in alloc_super().\n\n[Jan Kara: Export dquot_operations and vfs_quotactl_ops]\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "307ae18a56e5b706056a2050d52e8cc01b5171c0",
      "tree": "c4efc57bb8f0fd1d2aa9e416d81c0c7ba87aaf22",
      "parents": [
        "e0ccfd959cd8907bcb66cc2042e0f4fd7fcbff2b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed May 19 07:16:43 2010 -0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon May 24 14:09:12 2010 +0200"
      },
      "message": "quota: drop remount argument to -\u003equota_on and -\u003equota_off\n\nRemount handling has fully moved into the filesystem, so all this is\nsuperflous now.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "e0ccfd959cd8907bcb66cc2042e0f4fd7fcbff2b",
      "tree": "a62a84034243e75e07bb063526e10ea0b837062f",
      "parents": [
        "0f0dd62fddcbd0f6830ed8ef3d3426ccc46b9250"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed May 19 07:16:42 2010 -0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon May 24 14:09:12 2010 +0200"
      },
      "message": "quota: move unmount handling into the filesystem\n\nCurrently the VFS calls into the quotactl interface for unmounting\nfilesystems.  This means filesystems with their own quota handling\ncan\u0027t easily distinguish between user-space originating quotaoff\nand an unount.  Instead move the responsibily of the unmount handling\ninto the filesystem to be consistent with all other dquot handling.\n\nNote that we do call dquot_disable a lot later now, e.g. after\na sync_filesystem.  But this is fine as the quota code does all its\nwrites via blockdev\u0027s mapping and that is synced even later.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "0f0dd62fddcbd0f6830ed8ef3d3426ccc46b9250",
      "tree": "295ac31b109f78873cb191867603943d8562ead0",
      "parents": [
        "c79d967de3741ceb60c5bbbf1b6f97eab9a89838"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed May 19 07:16:41 2010 -0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon May 24 14:06:40 2010 +0200"
      },
      "message": "quota: kill the vfs_dq_off and vfs_dq_quota_on_remount wrappers\n\nInstead of having wrappers in the VFS namespace export the dquot_suspend\nand dquot_resume helpers directly.  Also rename vfs_quota_disable to\ndquot_disable while we\u0027re at it.\n\n[Jan Kara: Moved dquot_suspend to quotaops.h and made it inline]\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "bc8e5f07392f05c47c8bdeff4f7098db440d065c",
      "tree": "5ab56dabd75912267764849a594ec2f271fd4352",
      "parents": [
        "12755627bdcddcdb30a1bfb9a09395a52b1d6838"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu May 13 19:58:50 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri May 21 19:30:45 2010 +0200"
      },
      "message": "quota: Refactor dquot_transfer code so that OCFS2 can pass in its references\n\nCurrently, __dquot_transfer() acquires its own references of dquot structures\nthat will be put into inode. But for OCFS2, this creates a lock inversion\nbetween dq_lock (waited on in dqget) and transaction start (started in\nocfs2_setattr). Currently, deadlock is impossible because dq_lock is acquired\nonly during dquot_acquire and dquot_release and we already hold a reference to\ndquot structures in ocfs2_setattr so neither of these functions can be called\nwhile we call dquot_transfer. But this is rather subtle and it is hard to teach\nlockdep about it. So provide __dquot_transfer function that can be passed dquot\nreferences directly. OCFS2 can then pass acquired dquot references directly to\n__dquot_transfer with proper locking.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "12755627bdcddcdb30a1bfb9a09395a52b1d6838",
      "tree": "b2d69696975d5457648020324f683a45302fbf3c",
      "parents": [
        "fcbc59f96e38a0999e827be9d04d46b62b53b20a"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Thu Apr 08 22:04:20 2010 +0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri May 21 19:30:45 2010 +0200"
      },
      "message": "quota: unify quota init condition in setattr\n\nQuota must being initialized if size or uid/git changes requested.\nBut initialization performed in two different places:\nin case of i_size file system is responsible for dquot init\n, but in case of uid/gid init will be called internally in\ndquot_transfer().\nThis ambiguity makes code harder to understand.\nLet\u0027s move this logic to one common helper function.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "c472b43275976512e4c1c32da5ced03f339cb380",
      "tree": "9159fbfd1190456e8b3e699b856022c23f6ec10c",
      "parents": [
        "b9b2dd36c1bc64430f8e13990ab135cbecc10076"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu May 06 17:05:17 2010 -0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri May 21 19:30:44 2010 +0200"
      },
      "message": "quota: unify -\u003eset_dqblk\n\nPass the larger struct fs_disk_quota to the -\u003eset_dqblk operation so\nthat the Q_SETQUOTA and Q_XSETQUOTA operations can be implemented\nwith a single filesystem operation and we can retire the -\u003eset_xquota\noperation.  The additional information (RT-subvolume accounting and\nwarn counts) are left zero for the VFS quota implementation.\n\nAdd new fieldmask values for setting the numer of blocks and inodes\nvalues which is required for the VFS quota, but wasn\u0027t for XFS.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "b9b2dd36c1bc64430f8e13990ab135cbecc10076",
      "tree": "051bb6a238c9ff98fe135de3e8591c65cf242d46",
      "parents": [
        "0636c73ee7b129f77f577aaaefc8dde057be6d18"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu May 06 17:04:58 2010 -0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri May 21 19:30:43 2010 +0200"
      },
      "message": "quota: unify -\u003eget_dqblk\n\nPass the larger struct fs_disk_quota to the -\u003eget_dqblk operation so\nthat the Q_GETQUOTA and Q_XGETQUOTA operations can be implemented\nwith a single filesystem operation and we can retire the -\u003eget_xquota\noperation.  The additional information (RT-subvolume accounting and\nwarn counts) are left zero for the VFS quota implementation.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "0e05842bc117ea70ceb979cca798fd026879951b",
      "tree": "9cac03004706c912b15a859d9e35fedd496653b2",
      "parents": [
        "56246f9ae4cfa95b460f9dfbcfb1b772d85db046"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sun May 16 10:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun May 16 10:00:00 2010 -0400"
      },
      "message": "quota: add the option to not fail with EDQUOT in block\n\nTo simplify metadata tracking for delalloc writes, ext4\nwill simply claim metadata blocks at allocation time, without\nfirst speculatively reserving the worst case and then freeing\nwhat was not used.\n\nTo do this, we need a mechanism to track allocations in\nthe quota subsystem, but potentially allow that allocation\nto actually go over quota.\n\nThis patch adds a DQUOT_SPACE_NOFAIL flag and function\nvariants for this purpose.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "56246f9ae4cfa95b460f9dfbcfb1b772d85db046",
      "tree": "2a11530806fd384c7a482d7d05f7966af773fef2",
      "parents": [
        "84061e07c5fbbbf9dc8aef8fb750fc3a2dfc31f3"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sun May 16 09:00:00 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun May 16 09:00:00 2010 -0400"
      },
      "message": "quota: use flags interface for dquot alloc/free space\n\nSwitch __dquot_alloc_space and __dquot_free_space to take flags\nto indicate whether to warn and/or to reserve (or free reserve).\n\nThis is slightly more readable at the callpoints, and makes it\ncleaner to add a \"nofail\" option in the next patch.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "871a293155a24554e153538d36e3a80fa169aefb",
      "tree": "7e38f5a2f9e87f63cbc4bc1077a4bb49dde441b0",
      "parents": [
        "907f4554e2521cb28b0009d17167760650a9561c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:07 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:30 2010 +0100"
      },
      "message": "dquot: cleanup dquot initialize routine\n\nGet rid of the initialize dquot operation - it is now always called from\nthe filesystem and if a filesystem really needs it\u0027s own (which none\ncurrently does) it can just call into it\u0027s own routine directly.\n\nRename the now static low-level dquot_initialize helper to __dquot_initialize\nand vfs_dq_init to dquot_initialize to have a consistent namespace.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "907f4554e2521cb28b0009d17167760650a9561c",
      "tree": "68dc49163fd34331f8efbd63592c8f1baa387031",
      "parents": [
        "9f7547580263d4a55efe06ce5cfd567f568be6e8"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:06 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:30 2010 +0100"
      },
      "message": "dquot: move dquot initialization responsibility into the filesystem\n\nCurrently various places in the VFS call vfs_dq_init directly.  This means\nwe tie the quota code into the VFS.  Get rid of that and make the\nfilesystem responsible for the initialization.   For most metadata operations\nthis is a straight forward move into the methods, but for truncate and\nopen it\u0027s a bit more complicated.\n\nFor truncate we currently only call vfs_dq_init for the sys_truncate case\nbecause open already takes care of it for ftruncate and open(O_TRUNC) - the\nnew code causes an additional vfs_dq_init for those which is harmless.\n\nFor open the initialization is moved from do_filp_open into the open method,\nwhich means it happens slightly earlier now, and only for regular files.\nThe latter is fine because we don\u0027t need to initialize it for operations\non special files, and we already do it as part of the namespace operations\nfor directories.\n\nAdd a dquot_file_open helper that filesystems that support generic quotas\ncan use to fill in -\u003eopen.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "9f7547580263d4a55efe06ce5cfd567f568be6e8",
      "tree": "6f926a075eeed815d0a6680c06f235da0e5ea6d9",
      "parents": [
        "257ba15cedf1288f0c96118d7e63947231d27278"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:05 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:30 2010 +0100"
      },
      "message": "dquot: cleanup dquot drop routine\n\nGet rid of the drop dquot operation - it is now always called from\nthe filesystem and if a filesystem really needs it\u0027s own (which none\ncurrently does) it can just call into it\u0027s own routine directly.\n\nRename the now static low-level dquot_drop helper to __dquot_drop\nand vfs_dq_drop to dquot_drop to have a consistent namespace.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "b43fa8284d7790d9cca32c9c55e24f29be2fa33b",
      "tree": "acb7f205fe2a1ae324e0e11c50f43baaa6b8dfab",
      "parents": [
        "759bfee658beab14af7b357156461d0eb852be2c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:03 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:29 2010 +0100"
      },
      "message": "dquot: cleanup dquot transfer routine\n\nGet rid of the transfer dquot operation - it is now always called from\nthe filesystem and if a filesystem really needs it\u0027s own (which none\ncurrently does) it can just call into it\u0027s own routine directly.\n\nRename the now static low-level dquot_transfer helper to __dquot_transfer\nand vfs_dq_transfer to dquot_transfer to have a consistent namespace,\nand make the new dquot_transfer return a normal negative errno value\nwhich all callers expect.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "63936ddaa16b9486e2d426ed7b09f559a5c60f87",
      "tree": "4cb1c4581799e10c26dd71d1a7d420de3c2cfd05",
      "parents": [
        "5dd4056db84387975140ff2568eaa0406f07985e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:01 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:28 2010 +0100"
      },
      "message": "dquot: cleanup inode allocation / freeing routines\n\nGet rid of the alloc_inode and free_inode dquot operations - they are\nalways called from the filesystem and if a filesystem really needs\ntheir own (which none currently does) it can just call into it\u0027s\nown routine directly.\n\nAlso get rid of the vfs_dq_alloc/vfs_dq_free wrappers and always\ncall the lowlevel dquot_alloc_inode / dqout_free_inode routines\ndirectly, which now lose the number argument which is always 1.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "5dd4056db84387975140ff2568eaa0406f07985e",
      "tree": "03c26d7f6e3367b167bfeeb1a01654c6619573f4",
      "parents": [
        "49792c806d0bfd53afc789dcdf50dc9bed2c5b83"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:00 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:28 2010 +0100"
      },
      "message": "dquot: cleanup space allocation / freeing routines\n\nGet rid of the alloc_space, free_space, reserve_space, claim_space and\nrelease_rsv dquot operations - they are always called from the filesystem\nand if a filesystem really needs their own (which none currently does)\nit can just call into it\u0027s own routine directly.\n\nMove shared logic into the common __dquot_alloc_space,\ndquot_claim_space_nodirty and __dquot_free_space low-level methods,\nand rationalize the wrappers around it to move as much as possible\ncode into the common block for CONFIG_QUOTA vs not.  Also rename\nall these helpers to be named dquot_* instead of vfs_dq_*.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "8ddd69d6df4758bf0cab981481af24cc84419567",
      "tree": "126eb5877e092963b7ed1cf143e3ce0bac6a7c85",
      "parents": [
        "ad1e6e8da9fe8cb7ecfde8eabacedc3b50fceae4"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Tue Feb 16 08:31:50 2010 +0300"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:26 2010 +0100"
      },
      "message": "quota: generalize quota transfer interface\n\nCurrent quota transfer interface support only uid/gid.\nThis patch extend interface in order to support various quotas types\nThe goal is accomplished without changes in most frequently used\nvfs_dq_transfer() func.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "ad1e6e8da9fe8cb7ecfde8eabacedc3b50fceae4",
      "tree": "0971e2039c2d6feb6763ba018e9c73123d207ddb",
      "parents": [
        "86963918965eb8fe0c8ae009e7c1b4c630f533d5"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Tue Feb 16 08:31:49 2010 +0300"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:26 2010 +0100"
      },
      "message": "quota: sb_quota state flags cleanup\n\n- remove hardcoded USRQUOTA/GRPQUOTA flags\n- convert int to bool for appropriate functions\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "5fb324ad24febe57a8a2e62903dcb7bad546ea71",
      "tree": "f49d1b8b7fe9feffbdd1afba18047001f5d7228f",
      "parents": [
        "8c4e4acd660a09e571a71583b5bbe1eee700c9ad"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Feb 16 03:44:52 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:24 2010 +0100"
      },
      "message": "quota: move code from sync_quota_sb into vfs_quota_sync\n\nCurrenly sync_quota_sb does a lot of sync and truncate action that only\napplies to \"VFS\" style quotas and is actively harmful for the sync\nperformance in XFS.  Move it into vfs_quota_sync and add a wait parameter\nto -\u003equota_sync to tell if we need it or not.\n\nMy audit of the GFS2 code says it\u0027s also not needed given the way GFS2\nimplements quotas, but I\u0027d be happy if this can get a detailed review.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "8c4e4acd660a09e571a71583b5bbe1eee700c9ad",
      "tree": "05d1208e70d96dfa6857dbb84de7f3554a721992",
      "parents": [
        "c988afb5fa3fc450207c3dfc0ce535f4bfdae4d1"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Feb 16 03:44:51 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:24 2010 +0100"
      },
      "message": "quota: clean up Q_XQUOTASYNC\n\nCurrently Q_XQUOTASYNC calls into the quota_sync method, but XFS does something\nentirely different in it than the rest of the filesystems.  xfs_quota which\ncalls Q_XQUOTASYNC expects an asynchronous data writeout to flush delayed\nallocations, while the \"VFS\" quota support wants to flush changes to the quota\nfile.\n\nSo make Q_XQUOTASYNC call into the writeback code directly and make the\nquota_sync method optional as XFS doesn\u0027t need in the sense expected by the\nrest of the quota code.\n\nGFS2 was using limited XFS-style quota and has a quota_sync method fitting\nneither the style used by vfs_quota_sync nor xfs_fs_quota_sync.  I left it\nin for now as per discussion with Steve it expects to be called from the\nsync path this way.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "c469070aea5a0ada45a836937c776fd3083dae2b",
      "tree": "8c36117b34aba28a73c2fe4e03c7e89c2f43aef3",
      "parents": [
        "c7e8d4d6dceeb6fd236991f590d3fa6f97c59874"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Tue Feb 09 17:53:36 2010 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:21 2010 +0100"
      },
      "message": "quota: manage reserved space when quota is not active [v2]\n\nSince we implemented generic reserved space management interface,\nthen it is possible to account reserved space even when quota\nis not active (similar to i_blocks/i_bytes).\n\nWithout this patch following testcase result in massive comlain from\nWARN_ON in dquot_claim_space()\n\nTEST_CASE:\nmount /dev/sdb /mnt -oquota\ndd if\u003d/dev/zero of\u003d/mnt/test bs\u003d1M count\u003d1\nquotaon /mnt\n# fs_reserved_spave \u003d\u003d 1Mb\n# quota_reserved_space \u003d\u003d 0, because quota was disabled\ndd if\u003d/dev/zero of\u003d/mnt/test seek\u003d1 bs\u003d1M count\u003d1\n# fs_reserved_spave \u003d\u003d 2Mb\n# quota_reserved_space \u003d\u003d 1Mb\nsync  # -\u003edquot_claim_space() -\u003e WARN_ON\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "0d54b217a247f39605361f867fefbb9e099a5432",
      "tree": "5af6a2cc4cbc6c327e735ac5edb642d47a1f0013",
      "parents": [
        "61e225dc341107be304fd1088146c2a5e88ff9e0"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 21 17:01:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:24 2009 -0700"
      },
      "message": "const: make struct super_block::s_qcop const\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@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": "61e225dc341107be304fd1088146c2a5e88ff9e0",
      "tree": "e6d3e1dc5506e232497f17721175a081a5306b5b",
      "parents": [
        "00d3803b656a5f0935518d746f6bb27d5181d29d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 21 17:01:08 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:24 2009 -0700"
      },
      "message": "const: make struct super_block::dq_op const\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@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": "405f55712dfe464b3240d7816cc4fe4174831be2",
      "tree": "96c425ea7fa8b31058b8f83a433c5e5265c8ebc7",
      "parents": [
        "f9fabcb58a6d26d6efde842d1703ac7cfa9427b6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jul 11 22:08:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 12 12:22:34 2009 -0700"
      },
      "message": "headers: smp_lock.h redux\n\n* Remove smp_lock.h from files which don\u0027t need it (including some headers!)\n* Add smp_lock.h to files which do need it\n* Make smp_lock.h include conditional in hardirq.h\n  It\u0027s needed only for one kernel_locked() usage which is under CONFIG_PREEMPT\n\n  This will make hardirq.h inclusion cheaper for every PREEMPT\u003dn config\n  (which includes allmodconfig/allyesconfig, BTW)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c3f8a40c1cd5591b882497d1d00d43d0e5bb4698",
      "tree": "8280d4c7748be5d3b2b96c6bd11a643280d0b232",
      "parents": [
        "850b201b087f5525a0a7278551c2bcd0423c3b26"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Apr 27 16:43:55 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:04 2009 -0400"
      },
      "message": "quota: Introduce writeout_quota_sb() (version 4)\n\nIntroduce this function which just writes all the quota structures but\navoids all the syncing and cache pruning work to expose quota structures\nto userspace. Use this function from __sync_filesystem when wait \u003d\u003d 0.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "850b201b087f5525a0a7278551c2bcd0423c3b26",
      "tree": "a076f135430380d2ffaeb041ee53d09352cb2752",
      "parents": [
        "60b0680fa236ac4e17ce31a50048c9d75f9ec831"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Apr 27 16:43:54 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:04 2009 -0400"
      },
      "message": "quota: cleanup dquota sync functions (version 4)\n\nCurrently the VFS calls vfs_dq_sync to sync out disk quotas for a given\nsuperblock.  This is a small wrapper around sync_dquots which for the\ncase of a non-NULL superblock is a small wrapper around quota_sync_sb.\n\nJust make quota_sync_sb global (rename it to sync_quota_sb) and call it\ndirectly.  Also call it directly for those cases in quota.c that have a\nsuperblock and leave sync_dquots purely an iterator over sync_quota_sb and\nremove it\u0027s superblock argument.\n\nTo make this nicer move the check for the lack of a quota_sync method\nfrom the callers into sync_quota_sb.\n\n[folded build fix from Alexander Beregalov \u003ca.beregalov@gmail.com\u003e]\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "bf84c82d000b9820b01f516d13d328f354f8a8ee",
      "tree": "27de557ae64fb19162b98f9f08a8fd7ef8d31411",
      "parents": [
        "90c0af05a5a486f7709195e20bb26ad8f67ba5af"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 26 17:37:01 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Mar 26 02:18:37 2009 +0100"
      },
      "message": "quota: Remove uppercase aliases for quota functions.\n\nSince all users have been converted, remove uppercase names of quota functions.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "9900ba3487f9ba392db30e12d210f768a90abb13",
      "tree": "d74890b42f6ffae21908d8dc9bed34a40f066123",
      "parents": [
        "740d9dcd949a986c88886a591054a0cdb89ef669"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Wed Jan 14 16:18:57 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Mar 26 02:18:34 2009 +0100"
      },
      "message": "quota: Use inode-\u003ei_blkbits to get block bits\n\nAndrew has suggested to use inode-\u003ei_blkbits to get the block bits info,\nrather than use super block\u0027s blockbits. That should be faster and emit\nless code.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "740d9dcd949a986c88886a591054a0cdb89ef669",
      "tree": "3a422d30c838c80d35b8d52a05a4c55d3c806e4e",
      "parents": [
        "f18df228997fb716990590d248663981a15f17d4"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Tue Jan 13 16:43:14 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Mar 26 02:18:24 2009 +0100"
      },
      "message": "quota: Add quota reservation claim and released operations\n\nReserved quota will be claimed at the block allocation time. Over-booked\nquota could be returned back with the release callback function.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "f18df228997fb716990590d248663981a15f17d4",
      "tree": "f5fc935b09cddde325235c265fd3a553ee40af51",
      "parents": [
        "8e0ee43bc2c3e19db56a4adaa9a9b04ce885cd84"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Tue Jan 13 16:43:09 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Mar 26 02:15:50 2009 +0100"
      },
      "message": "quota: Add quota reservation support\n\nDelayed allocation defers the block allocation at the dirty pages\nflush-out time, doing quota charge/check at that time is too late.\nBut we can\u0027t charge the quota blocks until blocks are really allocated,\notherwise users could get overcharged after reboot from system crash.\n\nThis patch adds quota reservation for delayed allocation. Quota blocks\nare reserved in memory, inode and quota won\u0027t gets dirtied until later\nblock allocation time.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "cc33412fb1f11613e20f9dfc2919a77ecd63fbc4",
      "tree": "657ccb0860127852179efe8c13fc24b5ba624017",
      "parents": [
        "7cb36b6ccdca03bd87e8faca7fd920643dd1aec7"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 12 17:23:05 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jan 16 18:02:10 2009 +0100"
      },
      "message": "quota: Improve locking\n\nWe implement dqget() and dqput() that need neither dqonoff_mutex nor dqptr_sem.\nThen move dqget() and dqput() calls so that they are not called from under\ndqptr_sem. This is important because filesystem callbacks aren\u0027t called from\nunder dqptr_sem which used to cause *lots* of problems with lock ranking\n(and with OCFS2 they became close to unsolvable).\n\nThe patch also removes two functions which were introduced solely because OCFS2\nneeded them to cope with the old locking scheme. As time showed, they were not\nenough for OCFS2 anyway and it would be unnecessary work to adapt them to the\nnew locking scheme in which they aren\u0027t needed.  As a result OCFS2 needs the\nfollowing patch to compile properly with quotas.  Sorry to any bisecters which\nhit this in advance.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "7d9056ba20ebed6e3937a2e23183f6117919cb00",
      "tree": "3aefa0f187630fdbdefcec9e726155f2678cd1ab",
      "parents": [
        "5cd9d5bb86daf632a40f90e2321ea9379e42f073"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Nov 25 15:31:32 2008 +0100"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:40:25 2009 -0800"
      },
      "message": "quota: Export dquot_alloc() and dquot_destroy() functions\n\nThese are default functions for creating and destroying quota structures\nand they should be used from filesystems.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "12c77527e4138bc3b17d17b0e0c909e4fc84924f",
      "tree": "2776bbc914ebf8db7bdc2e450abf6a1504f50abe",
      "parents": [
        "3d9ea253a0e73dccaa869888ec2ceb17ea76c810"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Oct 20 17:05:00 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:40:23 2009 -0800"
      },
      "message": "quota: Implement function for scanning active dquots\n\nOCFS2 needs to scan all active dquots once in a while and sync quota\ninformation among cluster nodes. Provide a helper function for it so\nthat it does not have to reimplement internally a list which VFS\nalready has. Moreover this function is probably going to be useful\nfor other clustered filesystems if they decide to use VFS quotas.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "3d9ea253a0e73dccaa869888ec2ceb17ea76c810",
      "tree": "0a107f919605f68335bf55176b062facebcd51c9",
      "parents": [
        "571b46e40bebb0d57130ca24c4a84dfd553adb91"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Oct 10 16:12:23 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:40:22 2009 -0800"
      },
      "message": "quota: Add helpers to allow ocfs2 specific quota initialization, freeing and recovery\n\nOCFS2 needs to peek whether quota structure is already in memory so\nthat it can avoid expensive cluster locking in that case. Similarly\nwhen freeing dquots, it checks whether it is the last quota structure\nuser or not. Finally, it needs to get reference to dquot structure for\nspecified id and quota type when recovering quota file after crash.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "dcb30695f2cac86b71417629a6fe8042b4fe2ab2",
      "tree": "85a099a0314091fbc82bed07951c9c49a07a2ffc",
      "parents": [
        "6929f891241d3fe3af01d28503b645e63241e49a"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Aug 20 18:30:40 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:36:56 2009 -0800"
      },
      "message": "quota: Remove compatibility function sb_any_quota_enabled()\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "f55abc0fb9c3189de3da829adf3220322c0da43e",
      "tree": "0db4b838b0b90f27401783e8e7e45842ec91f90a",
      "parents": [
        "e4bc7b4b7ff783779b6928d55a9308910bf180a3"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Aug 20 17:50:32 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:36:56 2009 -0800"
      },
      "message": "quota: Allow to separately enable quota accounting and enforcing limits\n\nSplit DQUOT_USR_ENABLED (and DQUOT_GRP_ENABLED) into DQUOT_USR_USAGE_ENABLED\nand DQUOT_USR_LIMITS_ENABLED. This way we are able to separately enable /\ndisable whether we should:\n1) ignore quotas completely\n2) just keep uptodate information about usage\n3) actually enforce quota limits\n\nThis is going to be useful when quota is treated as filesystem metadata - we\nthen want to keep quota information uptodate all the time and just enable /\ndisable limits enforcement.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "e4bc7b4b7ff783779b6928d55a9308910bf180a3",
      "tree": "1cf54906c8686507f9cc127754210930d27a0471",
      "parents": [
        "1497d3ad487b64eeea83ac203263802755438949"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Aug 20 16:21:01 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:36:56 2009 -0800"
      },
      "message": "quota: Make _SUSPENDED just a flag\n\nUpto now, DQUOT_USR_SUSPENDED behaved like a state - i.e., either quota\nwas enabled or suspended or none. Now allowed states are 0, ENABLED,\nENABLED | SUSPENDED. This will be useful later when we implement separate\nenabling of quota usage tracking and limits enforcement because we need to\nkeep track of a state which has been suspended.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "12095460f7f315f8ef67a55b2194195d325d48d7",
      "tree": "4e878139ccd29a2adeb2a9fa6fcd9c279e8ce6f4",
      "parents": [
        "74f783af95c982aef6d3a1415275650dcf511666"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Aug 20 14:45:12 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:36:55 2009 -0800"
      },
      "message": "quota: Increase size of variables for limits and inode usage\n\nSo far quota was fine with quota block limits and inode limits/numbers in\na 32-bit type. Now with rapid increase in storage sizes there are coming\nrequests to be able to handle quota limits above 4TB / more that 2^32 inodes.\nSo bump up sizes of types in mem_dqblk structure to 64-bits to be able to\nhandle this. Also update inode allocation / checking functions to use qsize_t\nand make global structure keep quota limits in bytes so that things are\nconsistent.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "b73c29f6b0ddbcf07b43c5c5e6354e5839b5e68d",
      "tree": "6aa4b36d5c90a5d82b7995329fd329d4111c762f",
      "parents": [
        "67b172c097177835fbf5b0666885c4059a4f67ff"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Oct 15 22:04:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:46 2008 -0700"
      },
      "message": "quota: remove CVS keywords\n\nRemove CVS keywords that weren\u0027t updated for a long time from comments.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-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": "77e69dac3cefacee939cb107ae9cd520a62338e0",
      "tree": "02ddee5ac85ceb632eab2aff994ffbd3233e51eb",
      "parents": [
        "1b7e190b4764ea3ca1080404dd593eae5230d2b3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Aug 01 04:29:18 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Aug 01 11:25:25 2008 -0400"
      },
      "message": "[PATCH] fix races and leaks in vfs_quota_on() users\n\n* new helper: vfs_quota_on_path(); equivalent of vfs_quota_on() sans the\n  pathname resolution.\n* callers of vfs_quota_on() that do their own pathname resolution and\n  checks based on it are switched to vfs_quota_on_path(); that way we\n  avoid the races.\n* reiserfs leaked dentry/vfsmount references on several failure exits.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "03b063436ca1076301de58d9d628f610ab5404ad",
      "tree": "c0c21837706d6c462cef3183f5e514405d1af993",
      "parents": [
        "74abb9890dafb12a50dc140de215ed477beb1b88"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jul 25 01:46:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:35 2008 -0700"
      },
      "message": "quota: convert macros to inline functions\n\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": "74abb9890dafb12a50dc140de215ed477beb1b88",
      "tree": "30188b5932e54bc67fb88c0d05e5ba631fe9b698",
      "parents": [
        "02a55ca87185e114e5d298a8d00608501dbabf67"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jul 25 01:46:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:35 2008 -0700"
      },
      "message": "quota: move function-macros from quota.h to quotaops.h\n\nMove declarations of some macros, which should be in fact functions to\nquotaops.h.  This way they can be later converted to inline functions\nbecause we can now use declarations from quota.h.  Also add necessary\nincludes of quotaops.h to a few files.\n\n[akpm@linux-foundation.org: fix JFS build]\n[akpm@linux-foundation.org: fix UFS build]\n[vegard.nossum@gmail.com: fix QUOTA\u003dn build]\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nCc: Arjen Pool \u003carjenpool@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": "b85f4b87a511bea86dac68c4f0fabaee2cac6c4c",
      "tree": "978e541e47effe07119862f04becbb4f79b02742",
      "parents": [
        "b48d380541f634663b71766005838edbb7261685"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jul 25 01:46:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:35 2008 -0700"
      },
      "message": "quota: rename quota functions from upper case, make bigger ones non-inline\n\nCleanup quotaops.h: Rename functions from uppercase to lowercase (and\ndefine backward compatibility macros), move larger functions to dquot.c\nand make them non-inline.\n\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": "50f8c370e77befe9121720bd7bdada2ac0d13915",
      "tree": "24e38a076b70e41664f2ff259c9d072b1b9e46de",
      "parents": [
        "1b445a9c21f593be9d3c4ab912359d2c51c371dd"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Apr 28 02:14:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:33 2008 -0700"
      },
      "message": "quota: convert stub functions from macros into inlines\n\nFixes things like this:\n\nfs/super.c: In function `deactivate_super\u0027:\nfs/super.c:182: warning: statement with no effect\nfs/super.c: In function `do_remount_sb\u0027:\nfs/super.c:644: warning: statement with no effect\n\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0ff5af8340aa6be44220d7237ef4a654314cf795",
      "tree": "a9536ea573725931cd4eb3139f4885887e3f8bf8",
      "parents": [
        "03f6e92bdd467aed9d7571a571868563ae6ad288"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Apr 28 02:14:33 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:33 2008 -0700"
      },
      "message": "quota: quota core changes for quotaon on remount\n\nCurrently, we just turn quotas off on remount of filesystem to read-only\nstate.  The patch below adds necessary framework so that we can turn quotas\noff on remount RO but we are able to automatically reenable them again when\nfilesystem is remounted to RW state.  All we need to do is to keep references\nto inodes of quota files when remounting RO and using these references to\nreenable quotas when remounting RW.\n\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": "03f6e92bdd467aed9d7571a571868563ae6ad288",
      "tree": "b10ba6373ffeb0d929ec9004faafcc0ac64103c0",
      "parents": [
        "8794b5b246cf6f67baf57bd9db386e79ca5cac33"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Apr 28 02:14:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:33 2008 -0700"
      },
      "message": "quota: various style cleanups\n\nCleanups in quota code:\n  Change __inline__ to inline.\n  Change some macros to inline functions.\n  Remove vfs_quota_off_mount() macro.\n  DQUOT_OFF() should be (0) is CONFIG_QUOTA is disabled.\n  Move declaration of mark_dquot_dirty and dirty_dquot from quota.h to dquot.c\n\n[akpm@linux-foundation.org: coding-style fixes]\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": "e5f00f42f35e6f4699f105a3bd56874847cbf72f",
      "tree": "ac4e5c0a9fbafceacf5e78281bab508ba03e5044",
      "parents": [
        "c6b40d16d1cfa1a01158049bb887a9bbe48ef7ba"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue May 08 00:27:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:05 2007 -0700"
      },
      "message": "make remove_inode_dquot_ref() static\n\nremove_inode_dquot_ref() can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-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": "0da1480ec33d4bac8c32051c1d33202be6dc439f",
      "tree": "2b7c820451aa595fb9a8f64556eadd21ef3e9e2e",
      "parents": [
        "3982cd99c30285ebc71d405cd8530a3dfb7265de"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Dec 06 20:40:03 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:44 2006 -0800"
      },
      "message": "[PATCH] proper prototype for remove_inode_dquot_ref()\n\nAdd a proper prototype for remove_inode_dquot_ref() in\ninclude/linux/quotaops.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "62c4f0a2d5a188f73a94f2cb8ea0dba3e7cf0a7f",
      "tree": "e85ca2d0dd43f90dccf758338764c3caa55f333f",
      "parents": [
        "089f26d5e31b7bf42a9a8fefec08b30cd27f4b0e"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "message": "Don\u0027t include linux/config.h from anywhere else in include/\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "6bf8d889ed453f709dedacabdcf5db47470fdae9",
      "tree": "f28c0b85f67393eca83757853a9c4a13d0d56ea0",
      "parents": [
        "1374ae8b9a3789695962a0f3fd4c6eb7aff881bc"
      ],
      "author": {
        "name": "Herbert Poetzl",
        "email": "herbert@13thfloor.at",
        "time": "Fri Feb 03 03:04:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Feb 03 08:32:08 2006 -0800"
      },
      "message": "[PATCH] quota: remove unused sync_dquots_dev()\n\nThe already removed sync_dquots_dev(dev,type) is still defined in the\nno-quota case.\n\nSigned-off-by: Herbert Pötzl \u003cherbert@13thfloor.at\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "be586bab8bfbf5d429bdfcb6136bdde89583c5c4",
      "tree": "3ff050d2e962b7bacec8b86685d6887717f06173",
      "parents": [
        "e3f17f0f6e98f58edb13cb38810d93e6d4808e68"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Nov 07 00:59:35 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:39 2005 -0800"
      },
      "message": "[PATCH] quota: small cleanups\n\n- \"extern inline\" -\u003e \"static inline\"\n\n- every file should #include the headers containing the prototypes for\n  it\u0027s global functions\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "84de856ed30c568c2bb7b9ac0679772bd2737d9b",
      "tree": "532e4f6bcc0db2d1baf0455484ec7f64a2a51e71",
      "parents": [
        "df164db5fd16888ddbe2a63a47b2f6dda9a428b5"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Jun 23 00:09:16 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:20 2005 -0700"
      },
      "message": "[PATCH] quota: consolidate code surrounding vfs_quota_on_mount\n\nMove some code duplicated in both callers into vfs_quota_on_mount\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: Jan Kara \u003cjack@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
