)]}'
{
  "log": [
    {
      "commit": "5f248c9c251c60af3403902b26e08de43964ea0b",
      "tree": "6d3328e72a7e4015a64017eb30be18095c6a3c64",
      "parents": [
        "f6cec0ae58c17522a7bc4e2f39dae19f199ab534",
        "dca332528bc69e05f67161e1ed59929633d5e63d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 11:26:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 10 11:26:52 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (96 commits)\n  no need for list_for_each_entry_safe()/resetting with superblock list\n  Fix sget() race with failing mount\n  vfs: don\u0027t hold s_umount over close_bdev_exclusive() call\n  sysv: do not mark superblock dirty on remount\n  sysv: do not mark superblock dirty on mount\n  btrfs: remove junk sb_dirt change\n  BFS: clean up the superblock usage\n  AFFS: wait for sb synchronization when needed\n  AFFS: clean up dirty flag usage\n  cifs: truncate fallout\n  mbcache: fix shrinker function return value\n  mbcache: Remove unused features\n  add f_flags to struct statfs(64)\n  pass a struct path to vfs_statfs\n  update VFS documentation for method changes.\n  All filesystems that need invalidate_inode_buffers() are doing that explicitly\n  convert remaining -\u003eclear_inode() to -\u003eevict_inode()\n  Make -\u003edrop_inode() just return whether inode needs to be dropped\n  fs/inode.c:clear_inode() is gone\n  fs/inode.c:evict() doesn\u0027t care about delete vs. non-delete paths now\n  ...\n\nFix up trivial conflicts in fs/nilfs2/super.c\n"
    },
    {
      "commit": "3aac2b62e0f345c8a637cf94dc62e9000de9d8b6",
      "tree": "df5db650878c0e6b377fbf861597dc1fecaaa883",
      "parents": [
        "d640e1b50885b5beb61ccacdebf9f3f05ee2119c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 07 00:43:39 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:48:19 2010 -0400"
      },
      "message": "switch udf to -\u003eevict_inode()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1025774ce411f2bd4b059ad7b53f0003569b74fa",
      "tree": "2be221c205cb5579652a6063e8ee27d1c72d1bbd",
      "parents": [
        "eef2380c187890816b73b1a4cb89a09203759469"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:30:02 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:37 2010 -0400"
      },
      "message": "remove inode_setattr\n\nReplace inode_setattr with opencoded variants of it in all callers.  This\nmoves the remaining call to vmtruncate into the filesystem methods where it\ncan be replaced with the proper truncate sequence.\n\nIn a few cases it was obvious that we would never end up calling vmtruncate\nso it was left out in the opencoded variant:\n\n spufs: explicitly checks for ATTR_SIZE earlier\n btrfs,hugetlbfs,logfs,dlmfs: explicitly clears ATTR_SIZE earlier\n ufs: contains an opencoded simple_seattr + truncate that sets the filesize just above\n\nIn addition to that ncpfs called inode_setattr with handcrafted iattrs,\nwhich allowed to trim down the opencoded variant.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d39aae9ec447dda84d9a2850743a78a535a71c90",
      "tree": "e362c3367f093b79482f3034e82b18cd2dc8931a",
      "parents": [
        "155130a4f7848b1aac439cab6bda1a175507c71c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:29:59 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:34 2010 -0400"
      },
      "message": "add missing setattr methods\n\nFor the new truncate sequence every filesystem that wants to truncate on-disk\nstate needs a seattr method.  Convert the remaining filesystems that implement\nthe truncate inode operation to have its own setattr method.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "155130a4f7848b1aac439cab6bda1a175507c71c",
      "tree": "5019b14b0a9221b08959196e01e3f9326957d678",
      "parents": [
        "6e1db88d536adcbbfe562b2d4b7d6425784fff12"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:29:58 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:33 2010 -0400"
      },
      "message": "get rid of block_write_begin_newtrunc\n\nMove the call to vmtruncate to get rid of accessive blocks to the callers\nin preparation of the new truncate sequence and rename the non-truncating\nversion to block_write_begin.\n\nWhile we\u0027re at it also remove several unused arguments to block_write_begin.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "581b7e9fc00789782cb3bdca58db49f6f0f66608",
      "tree": "09760be83f7b3896a161c472083079d0a0964651",
      "parents": [
        "de67445f0e6009fd1e338eda023857b18b16e647"
      ],
      "author": {
        "name": "Justin P. Mattock",
        "email": "justinmattock@gmail.com",
        "time": "Wed Jul 07 21:42:13 2010 -0700"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 02 14:57:40 2010 +0200"
      },
      "message": "udf: super.c Fix warning: variable \u0027sbi\u0027 set but not used\n\nThis fixes this warning when building the kernel:\n  CC      fs/udf/super.o\nfs/udf/super.c: In function \u0027udf_load_sequence\u0027:\nfs/udf/super.c:1582:22: warning: variable \u0027sbi\u0027 set but not used\nPlease have a look, when you have time and let me know.\n\nSigned-off-by: Justin P. Mattock \u003cjustinmattock@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "de67445f0e6009fd1e338eda023857b18b16e647",
      "tree": "f8c350a99568ee47a3dacb47ce541798ce4a8a7b",
      "parents": [
        "9fe6206f400646a2322096b56c59891d530e8d51"
      ],
      "author": {
        "name": "Huang Weiyi",
        "email": "weiyi.huang@gmail.com",
        "time": "Sun May 23 01:13:09 2010 +0800"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 02 14:57:39 2010 +0200"
      },
      "message": "udf: remove duplicated #include\n\nRemove duplicated #include(\u0027s) in\n  fs/udf/file.c\n\nSigned-off-by: Huang Weiyi \u003cweiyi.huang@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "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": "1b061d9247f71cd15edc4c4c4600191a903642c0",
      "tree": "30d92ca82d8286e7a45fba108230ecd23e61673b",
      "parents": [
        "7ea8085910ef3dd4f3cad6845aaa2b580d39b115"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed May 26 17:53:41 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:06:06 2010 -0400"
      },
      "message": "rename the generic fsync implementations\n\nWe don\u0027t name our generic fsync implementations very well currently.\nThe no-op implementation for in-memory filesystems currently is called\nsimple_sync_file which doesn\u0027t make too much sense to start with,\nthe the generic one for simple filesystems is called simple_fsync\nwhich can lead to some confusion.\n\nThis patch renames the generic file fsync method to generic_file_fsync\nto match the other generic_file_* routines it is supposed to be used\nwith, and the no-op implementation to noop_fsync to make it obvious\nwhat to expect.  In addition add some documentation for both methods.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ca572727dbb945e443564029a495157fd2e72995",
      "tree": "10486033a428e9389e32cbc78c0da34c644640a1",
      "parents": [
        "b4d878e23c7f574490ee4d6fd59ebd6819781dd1"
      ],
      "author": {
        "name": "jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Wed May 26 14:44:53 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:56 2010 -0700"
      },
      "message": "fs/: do not fallback to default_llseek() when readdir() uses BKL\n\nDo not use the fallback default_llseek() if the readdir operation of the\nfilesystem still uses the big kernel lock.\n\nSince llseek() modifies\nfile-\u003ef_pos of the directory directly it may need locking to not confuse\nreaddir which usually uses file-\u003ef_pos directly as well\n\nSince the special characteristics of the BKL (unlocked on schedule) are\nnot necessary in this case, the inode mutex can be used for locking as\nprovided by generic_file_llseek().  This is only possible since all\nfilesystems, except reiserfs, either use a directory as a flat file or\nwith disk address offsets.  Reiserfs on the other hand uses a 32bit hash\noff the filename as the offset so generic_file_llseek() can get used as\nwell since the hash is always smaller than sb-\u003es_maxbytes (\u003d (512 \u003c\u003c 32) -\nblocksize).\n\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nAcked-by: Anders Larsen \u003cal@alarsen.net\u003e\nCc: Frederic Weisbecker \u003cfweisbec@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": "36350462814739e1f38cba59a6900ebadb08d3bb",
      "tree": "09c1f17c5a264a50028a1ea25f3fd681734d2058",
      "parents": [
        "287a80958cf63fc5c68d5bf6e89a3669dd66234a"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed May 19 16:28:56 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon May 24 14:10:19 2010 +0200"
      },
      "message": "udf: Remove dead quota code\n\nQuota on UDF is non-functional at least since 2.6.16 (I\u0027m too lazy to\ndo more archeology) because it does not provide .quota_write and .quota_read\nfunctions and thus quotaon(8) just returns EINVAL. Since nobody complained\nfor all those years and quota support is not even in UDF standard just nuke\nit.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\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": "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": "c79d967de3741ceb60c5bbbf1b6f97eab9a89838",
      "tree": "5494e7b504cffb0ddc6942d1542c2b4a472207ed",
      "parents": [
        "eea7feb072f5914ecafa95b3d83be0c229244d90"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed May 19 07:16:40 2010 -0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon May 24 14:06:39 2010 +0200"
      },
      "message": "quota: move remount handling into the filesystem\n\nCurrently do_remount_sb calls into the dquot code to tell it about going\nfrom rw to ro and ro to rw.  Move this code into the filesystem to\nnot depend on the dquot code in the VFS - note ocfs2 already ignores\nthese calls and handles remount by itself.  This gets rid of overloading\nthe quotactl calls and allows to unify the VFS and XFS codepaths in\nthat area later.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "a6c5a0342a95f9c7cf18adef79ca52a35cd5e4da",
      "tree": "b653744e21077ebaf8ea0d7d9deff828e30d42de",
      "parents": [
        "abf5d08acaca942b49daf0ed87a9deddc94b183a"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Thu Mar 04 17:32:22 2010 +0300"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 21 18:31:27 2010 -0400"
      },
      "message": "udf: replace inode uid,gid,mode init with helper\n\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d515e86e639890b33a09390d062b0831664f04a2",
      "tree": "37aea609704ce28ad44840279b95725e07c19a43",
      "parents": [
        "79c4581262e225a7c96d88b632b05ab3b5e9a52c",
        "2f07a88b30f510c7625d75cdf286903b465350a0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 11:17:43 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 11:17:43 2010 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6:\n  udf: BKL ioctl pushdown\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": "2f07a88b30f510c7625d75cdf286903b465350a0",
      "tree": "5869affff304e0090e1aa59f94b77e183f278eb3",
      "parents": [
        "7ebd467551ed6ae200d7835a84bbda0dcadaa511"
      ],
      "author": {
        "name": "John Kacur",
        "email": "jkacur@redhat.com",
        "time": "Wed May 05 15:15:39 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed May 05 16:36:17 2010 +0200"
      },
      "message": "udf: BKL ioctl pushdown\n\nConvert udf_ioctl to an unlocked_ioctl and push the BKL down into it.\n\nSigned-off-by: John Kacur \u003cjkacur@redhat.com\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "c15d0fc0fc399d2639240b35ad7ed93ed5a59412",
      "tree": "a9f9f24d5ab9d48cb32ee3debe1eb29a65677185",
      "parents": [
        "69ecbbedac8e353bbd924fad16fed0c7c54e6382"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Mon Mar 29 11:05:21 2010 +0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 08 15:35:20 2010 +0200"
      },
      "message": "udf: add speciffic -\u003esetattr callback\n\ngeneric setattr not longer responsible for quota transfer.\nuse udf_setattr for all udf\u0027s inodes.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "69ecbbedac8e353bbd924fad16fed0c7c54e6382",
      "tree": "f008c3ad0750585ea3d403718251922f215cb626",
      "parents": [
        "0fdf86754f70e813845af4abaa805165ce57a0bb"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Mon Mar 15 11:21:13 2010 +0300"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 08 15:35:20 2010 +0200"
      },
      "message": "udf: potential integer overflow\n\nbloc-\u003elogicalBlockNum is unsigned so it\u0027s never less than zero.\n\nWhen I saw that, it made me worry that \"bloc-\u003elogicalBlockNum + count\"\ncould overflow.  That\u0027s why I changed the check for less than zero\nto an overflow check.  (The test works because \"count\" is also\nunsigned.)\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "83c0fb6500b13c9b7564fe453b76356dc58415d4",
      "tree": "fe4c449dabb67da76ea1f6045f490c044327a46b",
      "parents": [
        "11bfe2ea732c6499c46c4f3a63d567c05b9dbafd",
        "3a065fcf9efed42ba736da7be528f2d3dec4965a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 16:22:50 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 16:22:50 2010 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6:\n  udf: use ext2_find_next_bit\n  udf: Do not read inode before writing it\n  udf: Fix unalloc space handling in udf_update_inode\n"
    },
    {
      "commit": "3a065fcf9efed42ba736da7be528f2d3dec4965a",
      "tree": "6c80bb32e7dfa546e2f4759929b3c1fd04462fdb",
      "parents": [
        "5833ded9b6d783b8446349bada08f0f5e4227895"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Feb 23 23:11:13 2010 +0900"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Mar 09 17:15:18 2010 +0100"
      },
      "message": "udf: use ext2_find_next_bit\n\nUse ext2_find_next_bit (generic_find_next_le_bit) to find the set bit\nin little endian bitmap region.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "5833ded9b6d783b8446349bada08f0f5e4227895",
      "tree": "6f86b88c0c446b4c62cd38b8cd9f4432331216f6",
      "parents": [
        "aae917cd188f397e9223001d9f6c0adfb339fd64"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jan 08 16:52:59 2010 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Mar 09 17:15:17 2010 +0100"
      },
      "message": "udf: Do not read inode before writing it\n\nWe needlessly read inode in udf_update_inode just before zeroing out the\ncontents of the buffer. Fix it.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "aae917cd188f397e9223001d9f6c0adfb339fd64",
      "tree": "7185f5f0b984145c1511ae657487e68504f185a7",
      "parents": [
        "57d54889cd00db2752994b389ba714138652e60c"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jan 08 16:46:29 2010 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Mar 09 17:15:17 2010 +0100"
      },
      "message": "udf: Fix unalloc space handling in udf_update_inode\n\nWriting of inode holding unallocated space info was broken because we first\ncleared the buffer and after that checked whether it contains a tag meaning the\nblock holds unallocated space information.  Fix the problem by checking\nappropriate in memory flag instead.\n\nAlso cleanup the function a bit along the way - most importantly lock buffer\nwhen modifying its contents, check for buffer_write_io_error instead of\n!buffer_uptodate, etc..\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "318ae2edc3b29216abd8a2510f3f80b764f06858",
      "tree": "ce595adde342f57f379d277b25e4dd206988a052",
      "parents": [
        "25cf84cf377c0aae5dbcf937ea89bc7893db5176",
        "3e58974027b04e84f68b964ef368a6cd758e2f84"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "message": "Merge branch \u0027for-next\u0027 into for-linus\n\nConflicts:\n\tDocumentation/filesystems/proc.txt\n\tarch/arm/mach-u300/include/mach/debug-macro.S\n\tdrivers/net/qlge/qlge_ethtool.c\n\tdrivers/net/qlge/qlge_main.c\n\tdrivers/net/typhoon.c\n"
    },
    {
      "commit": "e213e26ab3988c516c06eba4dcd030ac052f6dc9",
      "tree": "6e26fbdbb842b387697d73daf6e70cf718269a77",
      "parents": [
        "c812a51d11bbe983f4c24e32b59b265705ddd3c2",
        "efd8f0e6f6c1faa041f228d7113bd3a9db802d49"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 05 13:20:53 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 05 13:20:53 2010 -0800"
      },
      "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: (33 commits)\n  quota: stop using QUOTA_OK / NO_QUOTA\n  dquot: cleanup dquot initialize routine\n  dquot: move dquot initialization responsibility into the filesystem\n  dquot: cleanup dquot drop routine\n  dquot: move dquot drop responsibility into the filesystem\n  dquot: cleanup dquot transfer routine\n  dquot: move dquot transfer responsibility into the filesystem\n  dquot: cleanup inode allocation / freeing routines\n  dquot: cleanup space allocation / freeing routines\n  ext3: add writepage sanity checks\n  ext3: Truncate allocated blocks if direct IO write fails to update i_size\n  quota: Properly invalidate caches even for filesystems with blocksize \u003c pagesize\n  quota: generalize quota transfer interface\n  quota: sb_quota state flags cleanup\n  jbd: Delay discarding buffers in journal_unmap_buffer\n  ext3: quota_write cross block boundary behaviour\n  quota: drop permission checks from xfs_fs_set_xstate/xfs_fs_set_xquota\n  quota: split out compat_sys_quotactl support from quota.c\n  quota: split out netlink notification support from quota.c\n  quota: remove invalid optimization from quota_sync_all\n  ...\n\nFixed trivial conflicts in fs/namei.c and fs/ufs/inode.c\n"
    },
    {
      "commit": "a9185b41a4f84971b930c519f0c63bd450c4810d",
      "tree": "268cf4e206cca12fb9e1dd68984e7c190e465b46",
      "parents": [
        "26821ed40b4230259e770c9911180f38fcaa6f59"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Mar 05 09:21:37 2010 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 05 13:25:52 2010 -0500"
      },
      "message": "pass writeback_control to -\u003ewrite_inode\n\nThis gives the filesystem more information about the writeback that\nis happening.  Trond requested this for the NFS unstable write handling,\nand other filesystems might benefit from this too by beeing able to\ndistinguish between the different callers in more detail.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\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": "257ba15cedf1288f0c96118d7e63947231d27278",
      "tree": "7a977a0ea08a324ce74aedce19406cb0688f15e2",
      "parents": [
        "b43fa8284d7790d9cca32c9c55e24f29be2fa33b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:04 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:29 2010 +0100"
      },
      "message": "dquot: move dquot drop responsibility into the filesystem\n\nCurrently clear_inode calls vfs_dq_drop directly.  This means\nwe tie the quota code into the VFS.  Get rid of that and make the\nfilesystem responsible for the drop inside the -\u003eclear_inode\nsuperblock operation.\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": "759bfee658beab14af7b357156461d0eb852be2c",
      "tree": "180cdedd004781ee67c30ce89951324d32910067",
      "parents": [
        "63936ddaa16b9486e2d426ed7b09f559a5c60f87"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:02 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:28 2010 +0100"
      },
      "message": "dquot: move dquot transfer responsibility into the filesystem\n\nCurrently notify_change calls vfs_dq_transfer directly.  This means\nwe tie the quota code into the VFS.  Get rid of that and make the\nfilesystem responsible for the transfer.  Most filesystems already\ndo this, only ufs and udf need the code added, and for jfs it needs to\nbe enabled unconditionally instead of only when ACLs are enabled.\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": "391e8bbd38474b9f85b1f3933394a79ea66fe1e2",
      "tree": "78298556c37ef09f4f87138bc1c391f4f5dee917",
      "parents": [
        "072f98b4637eddcbdf2178fc84f382e2ee522f08"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 31 21:28:48 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 03 14:07:58 2010 -0500"
      },
      "message": "sanitize const/signedness for udf\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1537a3638cbf741d3826c1002026cce487a6bee0",
      "tree": "ccb28bc0cbad64686c7cff704a6e7ee898aff35f",
      "parents": [
        "b5218a87cbe0f01d551b2dae90b54cad8ded72df"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Fri Jan 29 15:57:49 2010 +0800"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Feb 05 12:22:45 2010 +0100"
      },
      "message": "tree-wide: fix \u0027lenght\u0027 typo in comments and code\n\nSome misspelled occurences of \u0027octet\u0027 and some comments were also fixed\nas I was on it.\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nCc: Jiri Kosina \u003ctrivial@kernel.org\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Junio C Hamano \u003cgitster@pobox.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "2c948b3f86e5f0327e2e57858600af6e6f0ae29a",
      "tree": "a40d5fd7a5757d26fc41829e5620b4685bac44e2",
      "parents": [
        "e971b0b9e0dd50d9ceecb67a6a6ab80a80906033"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 03 13:39:28 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Dec 14 21:40:04 2009 +0100"
      },
      "message": "udf: Avoid IO in udf_clear_inode\n\nIt is not very good to do IO in udf_clear_inode. First, VFS does not really\nexpect inode to become dirty there and thus we have to write it ourselves,\nsecond, memory reclaim gets blocked waiting for IO when it does not really\nexpect it, third, the IO pattern (e.g. on umount) resulting from writes in\nudf_clear_inode is bad and it slows down writing a lot.\n\nThe reason why UDF needed to do IO in udf_clear_inode is that UDF standard\nmandates extent length to exactly match inode size. But when we allocate\nextents to a file or directory, we don\u0027t really know what exactly the final\nfile size will be and thus temporarily set it to block boundary and later\ntruncate it to exact length in udf_clear_inode. Now, this is changed to\ntruncate to final file size in udf_release_file for regular files. For\ndirectories and symlinks, we do the truncation at the moment when learn\nwhat the final file size will be.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "e971b0b9e0dd50d9ceecb67a6a6ab80a80906033",
      "tree": "8071837c072662e8d346e04c095a6dc6a4c91b3a",
      "parents": [
        "1fefd086dfd9b9f6d1657b7800a35a50e6a4d9ad"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Nov 30 19:47:55 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Dec 14 21:40:04 2009 +0100"
      },
      "message": "udf: Try harder when looking for VAT inode\n\nSome disks do not contain VAT inode in the last recorded block as required\nby the standard but a few blocks earlier (or the number of recorded blocks\nis wrong). So look for the VAT inode a bit before the end of the media.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "1fefd086dfd9b9f6d1657b7800a35a50e6a4d9ad",
      "tree": "773f91fcd788ee61b25edf1b3234f98dc9d4e575",
      "parents": [
        "f40542532e96dda5506eb76badea322f2ae4731c"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Nov 30 19:47:10 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Dec 14 21:40:04 2009 +0100"
      },
      "message": "udf: Fix compilation with UDFFS_DEBUG enabled\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "cbc8cc33529b0e0e55ae0ff077b8cb0b71d54c7a",
      "tree": "5edace261ca6d707456d1bde03c0bf719ac8a365",
      "parents": [
        "81056dd04465902461b627169c4b4487a11acba1"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Aug 07 00:27:27 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 19:13:01 2009 +0200"
      },
      "message": "udf: Fix possible corruption when close races with write\n\nWhen we close a file, we remove preallocated blocks from it. But this\ntruncation was not protected by i_mutex and thus it could have raced with a\nwrite through a different fd and cause crashes or even filesystem corruption.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "81056dd04465902461b627169c4b4487a11acba1",
      "tree": "902b49848f8d2033c24ad78ac5d391bf092091ef",
      "parents": [
        "7c6e3d1aaeb3b25b49510d193000c27037004acb"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jul 16 18:02:25 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 19:13:00 2009 +0200"
      },
      "message": "udf: Perform preallocation only for regular files\n\nSo far we preallocated blocks also for directories but that brings a\nproblem, when to get rid of preallocated blocks we don\u0027t need. So far\nwe removed them in udf_clear_inode() which has a disadvantage that\n1) blocks are unavailable long after writing to a directory finished\n   and thus one can get out of space unnecessarily early\n2) releasing blocks from udf_clear_inode is problematic because VFS\n   does not expect us to redirty inode there and it also slows down\n   memory reclaim.\n\nSo preallocate blocks only for regular files where we can drop preallocation\nin udf_release_file.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "7c6e3d1aaeb3b25b49510d193000c27037004acb",
      "tree": "1d20b31e4e74708812b6bd5821775bbac2eae539",
      "parents": [
        "5891d9dd2a47d38c205115211841a3d82304628f"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jul 16 17:36:54 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 19:13:00 2009 +0200"
      },
      "message": "udf: Remove wrong assignment in udf_symlink\n\nRecomputation of the pointer was wrong (it should have been just increment).\nLuckily, we never use the computed value. Remove it.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "5891d9dd2a47d38c205115211841a3d82304628f",
      "tree": "8ee321785b597895bbd2ed8f47772e3e09f62b07",
      "parents": [
        "0cc6d77e55eca9557bbe41bf2db94b31aa8fcb2a"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jul 16 17:35:11 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 19:13:00 2009 +0200"
      },
      "message": "udf: Remove dead code\n\nRemove code that gets never used.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "4bf17af0dbfe4cf20cb750e22e8e926273e7a7a4",
      "tree": "9d7218df82274d1dd564f3ba06ca8c65a99234c1",
      "parents": [
        "658874f05d040ca96eb5ba9b1c30ce0ff287d762"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Jul 14 19:30:23 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jul 30 17:28:26 2009 +0200"
      },
      "message": "udf: Fix loading of VAT inode when drive wrongly reports number of recorded blocks\n\nVAT inode is located in the last block recorded block of the medium. When the\ndrive errorneously reports number of recorded blocks, we failed to load the VAT\ninode and thus mount the medium. This patch makes kernel try to read VAT inode\nfrom the last block of the device if it is different from the last recorded\nblock.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "3391faa4f18e4e33666d3d24e90e3086fcf9b922",
      "tree": "ce38d2b0e9653730ec5992767824bbd3073792ee",
      "parents": [
        "24a5d59f3477bcff4c069ff4d0ca9a3e037d0235"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Mon Jun 22 23:12:29 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jun 24 13:48:28 2009 +0200"
      },
      "message": "udf: remove redundant tests on unsigned\n\nfirst_block and goal are unsigned. When negative they are wrapped and caught by\nthe other test.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "24a5d59f3477bcff4c069ff4d0ca9a3e037d0235",
      "tree": "1520131c701310311b5c253dce5553f4d98281c8",
      "parents": [
        "1d89b30cc9be41af87881682ec82e2c107849dbe"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jun 18 12:33:16 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jun 18 12:33:16 2009 +0200"
      },
      "message": "udf: Use device size when drive reported bogus number of written blocks\n\nSome drives report 0 as the number of written blocks when there are some blocks\nrecorded. Use device size in such case so that we can automagically mount such\nmedia.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "90de066443a8632bb42fed0a8216313d7da07aba",
      "tree": "7ee2fb0e0a87fd83cf7cce88e1044293fc438fc0",
      "parents": [
        "a932801543fe74050ebee07fde082234c46b624f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 07 15:40:27 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:13 2009 -0400"
      },
      "message": "switch udf to simple_fsync()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "337eb00a2c3a421999c39c94ce7e33545ee8baa7",
      "tree": "d9b780d095b638b1d8fa23841ff70347cf5daa08",
      "parents": [
        "4195f73d1329e49727bcceb028e58cb38376c2b0"
      ],
      "author": {
        "name": "Alessio Igor Bogani",
        "email": "abogani@texware.it",
        "time": "Tue May 12 15:10:54 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:11 2009 -0400"
      },
      "message": "Push BKL down into -\u003eremount_fs()\n\n[xfs, btrfs, capifs, shmem don\u0027t need BKL, exempt]\n\nSigned-off-by: Alessio Igor Bogani \u003cabogani@texware.it\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6cfd0148425e528b859b26e436b01f23f6926224",
      "tree": "60e3257053554ff198fe5825e6f12a00c3b4422a",
      "parents": [
        "a9e220f8322e2b0e0b8903fe00265461cffad3f0"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue May 05 15:40:36 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:07 2009 -0400"
      },
      "message": "push BKL down into -\u003eput_super\n\nMove BKL into -\u003eput_super from the only caller.  A couple of\nfilesystems had trivial enough -\u003eput_super (only kfree and NULLing of\ns_fs_info + stuff in there) to not get any locking: coda, cramfs, efs,\nhugetlbfs, omfs, qnx4, shmem, all others got the full treatment.  Most\nof them probably don\u0027t need it, but I\u0027d rather sort that out individually.\nPreferably after all the other BKL pushdowns in that area.\n\n[AV: original used to move lock_super() down as well; these changes are\nremoved since we don\u0027t do lock_super() at all in generic_shutdown_super()\nnow]\n[AV: fuse, btrfs and xfs are known to need no damn BKL, exempt]\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e1defc4ff0cf57aca6c5e3ff99fa503f5943c1f1",
      "tree": "d60d15a082171c58ac811d547d51a9c3119f23e3",
      "parents": [
        "9bd7de51ee8537094656149eaf45338cadb7d7d4"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri May 22 17:17:49 2009 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 22 23:22:54 2009 +0200"
      },
      "message": "block: Do away with the notion of hardsect_size\n\nUntil now we have had a 1:1 mapping between storage device physical\nblock size and the logical block sized used when addressing the device.\nWith SATA 4KB drives coming out that will no longer be the case.  The\nsector size will be 4KB but the logical block size will remain\n512-bytes.  Hence we need to distinguish between the physical block size\nand the logical ditto.\n\nThis patch renames hardsect_size to logical_block_size.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "146bca72c7e6ba52de82a63b1fce7934dc103dbc",
      "tree": "fee0aff001a5d5226518f0b67232f083f0931209",
      "parents": [
        "40346005166329bc4b53e0c564aff3968c1ddaa0"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Mar 16 18:27:37 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 13:36:28 2009 +0200"
      },
      "message": "udf: Don\u0027t write integrity descriptor too often\n\nWe update information in logical volume integrity descriptor after each\nallocation (as LVID contains free space, number of directories and files on\ndisk etc.). If the filesystem is on some phase change media, this leads to its\nquick degradation as such media is able to handle only 10000 overwrites or so.\nWe solve the problem by writing new information into LVID only on umount,\nremount-ro and sync. This solves the problem at the price of longer media\ninconsistency (previously media became consistent after pdflush flushed dirty\nLVID buffer) but that should be acceptable.\n\nReport by and patch written in cooperation with\nRich Coe \u003cRichard.Coe@med.ge.com\u003e.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "40346005166329bc4b53e0c564aff3968c1ddaa0",
      "tree": "af6440a2aeff69ed6cccd93c663eb564e7cf6411",
      "parents": [
        "225feded89d447c2ab76e38e67ef56860c5bb60f"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Mar 19 16:21:38 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 12:29:56 2009 +0200"
      },
      "message": "udf: Try anchor in block 256 first\n\nAnchor block can be located at several places on the medium. Two of the\nlocations are relative to media end which is problematic to detect. Also\nsome drives report some block as last but are not able to read it or any\nblock nearby before it. So let\u0027s first try block 256 and if it is all fine,\ndon\u0027t look at other possible locations of anchor blocks to avoid IO errors.\nThis change required a larger reorganization of code but the new code is\nhopefully more readable and definitely shorter.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "225feded89d447c2ab76e38e67ef56860c5bb60f",
      "tree": "f804191425cc2be8c1e6fec6e772b9b201086c92",
      "parents": [
        "1197e4dfcf4ac17d763a59e5de1d4d4b9781a555"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Mar 11 16:02:04 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 12:29:55 2009 +0200"
      },
      "message": "udf: Some type fixes and cleanups\n\nMake udf_check_valid() return 1 if the validity check passed and 0 otherwise.\nSo far it was the other way around which was a bit confusing. Also make\nudf_vrs() return loff_t which is really the type it should return (not int).\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "1197e4dfcf4ac17d763a59e5de1d4d4b9781a555",
      "tree": "61a98ed0c7dfeb5a078c60aa0857f16a7e780c3f",
      "parents": [
        "4136801aec27b56ae4d06b638b4e9956346b08c8"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Wed Mar 11 15:57:47 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 12:29:55 2009 +0200"
      },
      "message": "udf: use hardware sector size\n\nThis patch makes the UDF FS driver use the hardware sector size as the\ndefault logical block size, which is required by the UDF specifications.\nWhile the previous default of 2048 bytes was correct for optical disks,\nit was not for hard disks or USB storage devices, and made it impossible\nto use such a device with the default mount options.  (The Linux mkudffs\ntool uses a default block size of 2048 bytes even on devices with\nsmaller hardware sectors, so this bug is unlikely to be noticed unless\nUDF-formatted USB storage devices are exchanged with other OSs.)\n\nTo avoid regressions for people who use loopback optical disk images or\nwho used the (sometimes wrong) defaults of mkudffs, we also try with\na block size of 2048 bytes if no anchor was found with the hardware\nsector size.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "4136801aec27b56ae4d06b638b4e9956346b08c8",
      "tree": "3b343ad6a5833b1bdd8853e7b786ec6eab4848e0",
      "parents": [
        "59285c28d18b77437e6dc7c2abb9aaee10ec3a75"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Fri Mar 06 09:16:49 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 12:29:54 2009 +0200"
      },
      "message": "udf: fix novrs mount option\n\nThe novrs mount option was broken due to a missing break.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "59285c28d18b77437e6dc7c2abb9aaee10ec3a75",
      "tree": "70e567d2372045363f5062b59619f680f65172c3",
      "parents": [
        "557f5a1468394069da2bd6a63e23970ff12aa072"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Feb 04 19:46:11 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 12:29:53 2009 +0200"
      },
      "message": "udf: Fix oops when invalid character in filename occurs\n\nFunctions udf_CS0toNLS() and udf_NLStoCS0() didn\u0027t count with the fact that\nNLS can return negative length when invalid character is given to it for\nconversion. Thus interesting things could happen (such as overwriting random\nmemory with the rest of filename). Add appropriate checks.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "557f5a1468394069da2bd6a63e23970ff12aa072",
      "tree": "caf29680dca8604269b9b09f0a5f30dc42b49e80",
      "parents": [
        "f90981fed974759b5057c5a04299fe03d9dbf1d2"
      ],
      "author": {
        "name": "Coly Li",
        "email": "coly.li@suse.de",
        "time": "Tue Jan 20 01:36:55 2009 +0800"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 12:29:53 2009 +0200"
      },
      "message": "udf: return f_fsid for statfs(2)\n\nThis patch makes udf return f_fsid info for statfs(2).\n\nSigned-off-by: Coly Li \u003ccoly.li@suse.de\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "f90981fed974759b5057c5a04299fe03d9dbf1d2",
      "tree": "7a794ae61ed947c4459259279c2b014f484a644e",
      "parents": [
        "87bc730c07a0884d14d6af5c9d49f4669c0a0589"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 03 17:31:39 2008 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 12:29:52 2009 +0200"
      },
      "message": "udf: Add checks to not underflow sector_t\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "87bc730c07a0884d14d6af5c9d49f4669c0a0589",
      "tree": "aae3f3b6286526e16ee9614923d227612affe51e",
      "parents": [
        "e650b94addfbf072952df762e6f1c6c9e26c4f9c"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Tue Dec 02 13:40:11 2008 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 12:29:52 2009 +0200"
      },
      "message": "udf: fix default mode and dmode options handling\n\nOn x86 (and several other archs) mode_t is defined as \"unsigned short\"\nand comparing unsigned shorts to negative ints is broken (because short\nis promoted to int and then compared). Fix it.\n\nReported-and-tested-by: Laurent Riffard \u003claurent.riffard@free.fr\u003e\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "e650b94addfbf072952df762e6f1c6c9e26c4f9c",
      "tree": "180ad47627389433202541891d76d91ab041930c",
      "parents": [
        "30930554f23511645ad9cfb89792219bf398b654"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Dec 01 13:06:10 2008 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 12:29:51 2009 +0200"
      },
      "message": "udf: fix sparse warnings:\n\nFix sparse warnings:\n\n  fs/udf/balloc.c:843:3: warning: returning void-valued expression\n  fs/udf/balloc.c:847:3: warning: returning void-valued expression\n  fs/udf/balloc.c:851:3: warning: returning void-valued expression\n  fs/udf/balloc.c:855:3: warning: returning void-valued expression\n\nReported-by: Hannes Eder \u003channes@hanneseder.net\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "30930554f23511645ad9cfb89792219bf398b654",
      "tree": "24a7b9a5527ba92f808d46d5b598f66eac9351ad",
      "parents": [
        "7ac9bcd5da59dd96eb1153d3fc04c3471fa5c09d"
      ],
      "author": {
        "name": "roel kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Wed Oct 29 17:23:54 2008 -0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 12:29:50 2009 +0200"
      },
      "message": "udf: unsigned last[i] cannot be less than 0\n\nunsigned last[i] cannot be less than 0\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "7ac9bcd5da59dd96eb1153d3fc04c3471fa5c09d",
      "tree": "e9c5470783e9ec098fb7a056d89872c9e225f5c3",
      "parents": [
        "530f1a5e3e93a038a457faf716975ed19f82831d"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Sun Nov 16 20:52:19 2008 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 12:29:50 2009 +0200"
      },
      "message": "udf: implement mode and dmode mounting options\n\n\"dmode\" allows overriding permissions of directories and\n\"mode\" allows overriding permissions of files.\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "530f1a5e3e93a038a457faf716975ed19f82831d",
      "tree": "59dbd8517dd925067891d61b26589ad759c56278",
      "parents": [
        "ba9aadd80c24775e55a93ebe0c2491b4d2899257"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Sun Nov 16 19:02:45 2008 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 12:29:49 2009 +0200"
      },
      "message": "udf: reduce stack usage of udf_get_filename\n\nAllocate strings with kmalloc.\n\nCheckstack output:\nBefore: udf_get_filename:          600\nAfter:  udf_get_filename:          136\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "ba9aadd80c24775e55a93ebe0c2491b4d2899257",
      "tree": "29b8f456c6322f9a0d375bfa0a368ef4e18b0cb8",
      "parents": [
        "97e961fdbf32488b7386c9f1effa2bee97d47929"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Sun Nov 16 19:01:44 2008 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 12:29:48 2009 +0200"
      },
      "message": "udf: reduce stack usage of udf_load_pvoldesc\n\nAllocate strings with kmalloc.\n\nCheckstack output:\nBefore: udf_process_sequence:      712\nAfter:  udf_process_sequence:      200\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "97e961fdbf32488b7386c9f1effa2bee97d47929",
      "tree": "fa006f5e803e532c9781d4f5f6e34cf9d8382814",
      "parents": [
        "5ca4e4be841e389d7d17833fef7be2359f290163"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Oct 15 12:29:03 2008 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 12:29:47 2009 +0200"
      },
      "message": "Fix the udf code not to pass structs on stack where possible.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "5ca4e4be841e389d7d17833fef7be2359f290163",
      "tree": "9c059a3b7599260d096fae395d640e79bdc46f30",
      "parents": [
        "833bb3046b6cb320e775ea2160ddca87d53260d5"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Oct 15 12:28:03 2008 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 12:29:47 2009 +0200"
      },
      "message": "Remove struct typedefs from fs/udf/ecma_167.h et al.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "bacfb7c2e5d10f40f7adb23aeeffc824b839eaa8",
      "tree": "83f5f87bec2ed05d651765ac82085d4add52b7dc",
      "parents": [
        "5f5fa796c6b0158b50a2d5d2f80a926466ea87b3"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 26 17:20:46 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Mar 26 02:18:36 2009 +0100"
      },
      "message": "udf: Use lowercase names of quota functions\n\nUse lowercase names of quota functions instead of old uppercase ones.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "ddfaccd995b2d1bb1df4461ee9403ba9fdcbee04",
      "tree": "4ee652018dc571d32337c94a511eb14da68a1888",
      "parents": [
        "3ef7784e47975e31148c25b6fa795949fdc16d9c"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jan 22 10:35:21 2009 +0300"
      },
      "committer": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jan 22 13:15:55 2009 +0300"
      },
      "message": "fs/Kconfig: move iso9660, udf out\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    },
    {
      "commit": "ec98ce480ada787f2cfbd696980ff3564415505b",
      "tree": "1a4d644b38f9f1e4b4e086fde0b195df4a92cf84",
      "parents": [
        "3496f92beb9aa99ef21fccc154a36c7698e9c538",
        "feaf3848a813a106f163013af6fcf6c4bfec92d9"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 04 17:16:36 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 04 17:16:36 2008 +1100"
      },
      "message": "Merge branch \u0027master\u0027 into next\n\nConflicts:\n\tfs/nfsd/nfs4recover.c\n\nManually fixed above to use new creds API functions, e.g.\nnfs4_save_creds().\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "52b19ac993f1aeadbce15b55302be9a35346e235",
      "tree": "90695f8fdaa97d3a30b1e5f82016fb1cce3da16b",
      "parents": [
        "ed313489badef16d700f5a3be50e8fd8f8294bc8"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Sep 23 18:24:08 2008 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Nov 27 17:38:28 2008 +0100"
      },
      "message": "udf: Fix BUG_ON() in destroy_inode()\n\nudf_clear_inode() can leave behind buffers on mapping\u0027s i_private list (when\nwe truncated preallocation). Call invalidate_inode_buffers() so that the list\nis properly cleaned-up before we return from udf_clear_inode(). This is ugly\nand suggest that we should cleanup preallocation earlier than in clear_inode()\nbut currently there\u0027s no such call available since drop_inode() is called under\ninode lock and thus is unusable for disk operations.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "7706bb39adff18a48ff98f203ffcbb00878d8589",
      "tree": "4f2c75396a8d476b248c1f689975ab3ee23051cb",
      "parents": [
        "26bf1946e69abf9528beda7adb4a783c439a5f7b"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:39:03 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:39:03 2008 +1100"
      },
      "message": "CRED: Wrap task credential accesses in the UDF filesystem\n\nWrap access to task credentials so that they can be separated more easily from\nthe task_struct during the introduction of COW creds.\n\nChange most current-\u003e(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id().\n\nChange some task-\u003ee?[ug]id to task_e?[ug]id().  In some places it makes more\nsense to use RCU directly rather than a convenient wrapper; these will be\naddressed by later patches.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "9fbb76ce0fe96c07c44ba2aec3dc99f4b8d2b9c6",
      "tree": "78f50dcd672702aed515dbd0adabde839c2cb4c0",
      "parents": [
        "ad76cbc63b9db7c98da49af3182a783ca1c80a5d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Oct 12 00:15:17 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Oct 23 05:13:15 2008 -0400"
      },
      "message": "[PATCH] get rid of on-stack dentry in udf\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "440037287c5ebb07033ab927ca16bb68c291d309",
      "tree": "c4be3843ea87a777c2647f471895917005d8068f",
      "parents": [
        "4ea3ada2955e4519befa98ff55dd62d6dfbd1705"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Aug 11 15:49:04 2008 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Oct 23 05:13:01 2008 -0400"
      },
      "message": "[PATCH] switch all filesystems over to d_obtain_alias\n\nSwitch all users of d_alloc_anon to d_obtain_alias.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a447c0932445f92ce6f4c1bd020f62c5097a7842",
      "tree": "bacf05bc7f9764515cdd6f7dc5e2254776b4f160",
      "parents": [
        "54cebc68c81eacac41a21bdfe99dc889d3882c60"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Oct 13 10:46:57 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 10:10:37 2008 -0700"
      },
      "message": "vfs: Use const for kernel parser table\n\nThis is a much better version of a previous patch to make the parser\ntables constant. Rather than changing the typedef, we put the \"const\" in\nall the various places where its required, allowing the __initconst\nexception for nfsroot which was the cause of the previous trouble.\n\nThis was posted for review some time ago and I believe its been in -mm\nsince then.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Alexander Viro \u003caviro@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5c89468c12899b84886cb47eec93f0c88e0f896a",
      "tree": "2a862d7ad5ac16d2911d0f34a66a096ef72f6211",
      "parents": [
        "97e1cfb08616987878f91a46cefdd7fc5fa3dba1"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Sep 08 19:44:17 2008 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 08 20:31:04 2008 +0200"
      },
      "message": "udf: add llseek method\n\nUDF currently doesn\u0027t set a llseek method for regular files, which\nmeans it will fall back to default_llseek.  This means no one can seek\nbeyond 2 Gigabytes on udf, and that there\u0027s not protection vs\nthe i_size updates from writers.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "97e1cfb08616987878f91a46cefdd7fc5fa3dba1",
      "tree": "58442dfca90b9184a09c2b1ab1d7252a4100e296",
      "parents": [
        "db0badc58e948b810c7a75cfcc48845e2949ee37"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 18 13:44:48 2008 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Aug 19 11:05:05 2008 +0200"
      },
      "message": "udf: Fix error paths in udf_new_inode()\n\nI case we failed to allocate memory for inode when creating it, we did not\nproperly free block already allocated for this inode. Move memory allocation\nbefore the block allocation which fixes this issue (thanks for the idea go to\nIngo Oeser \u003cioe-lkml@rameria.de\u003e). Also remove a few superfluous\ninitializations already done in udf_alloc_inode().\n\nReviewed-by: Ingo Oeser \u003cioe-lkml@rameria.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "db0badc58e948b810c7a75cfcc48845e2949ee37",
      "tree": "c6070b1d9ef4989bf1d73eecf9560c78980bab84",
      "parents": [
        "b635acec48bcaa9183fcbf4e3955616b0d4119b5"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 18 13:40:18 2008 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Aug 19 11:04:36 2008 +0200"
      },
      "message": "udf: Fix lock inversion between iprune_mutex and alloc_mutex (v2)\n\nA memory allocation inside alloc_mutex must not recurse back into the\nfilesystem itself because that leads to lock inversion between iprune_mutex and\nalloc_mutex (and thus to deadlocks - see traces below). alloc_mutex is actually\nneeded only to update allocation statistics in the superblock so we can drop it\nbefore we start allocating memory for the inode.\n\ntar           D ffff81015b9c8c90     0  6614   6612\n ffff8100d5a21a20 0000000000000086 0000000000000000 00000000ffff0000\n ffff81015b9c8c90 ffff81015b8f0cd0 ffff81015b9c8ee0 0000000000000000\n 0000000000000003 0000000000000000 0000000000000000 0000000000000000\nCall Trace:\n [\u003cffffffff803c1d8a\u003e] __mutex_lock_slowpath+0x64/0x9b\n [\u003cffffffff803c1bef\u003e] mutex_lock+0xa/0xb\n [\u003cffffffff8027f8c2\u003e] shrink_icache_memory+0x38/0x200\n [\u003cffffffff80257742\u003e] shrink_slab+0xe3/0x15b\n [\u003cffffffff802579db\u003e] try_to_free_pages+0x221/0x30d\n [\u003cffffffff8025657e\u003e] isolate_pages_global+0x0/0x31\n [\u003cffffffff8025324b\u003e] __alloc_pages_internal+0x252/0x3ab\n [\u003cffffffff8026b08b\u003e] cache_alloc_refill+0x22e/0x47b\n [\u003cffffffff8026ae37\u003e] kmem_cache_alloc+0x3b/0x61\n [\u003cffffffff8026b15b\u003e] cache_alloc_refill+0x2fe/0x47b\n [\u003cffffffff8026b34e\u003e] __kmalloc+0x76/0x9c\n [\u003cffffffffa00751f2\u003e] :udf:udf_new_inode+0x202/0x2e2\n [\u003cffffffffa007ae5e\u003e] :udf:udf_create+0x2f/0x16d\n [\u003cffffffffa0078f27\u003e] :udf:udf_lookup+0xa6/0xad\n...\nkswapd0       D ffff81015b9d9270     0   125      2\n ffff81015b903c28 0000000000000046 ffffffff8028cbb0 00000000fffffffb\n ffff81015b9d9270 ffff81015b8f0cd0 ffff81015b9d94c0 000000000271b490\n ffffe2000271b458 ffffe2000271b420 ffffe20002728dc8 ffffe20002728d90\nCall Trace:\n [\u003cffffffff8028cbb0\u003e] __set_page_dirty+0xeb/0xf5\n [\u003cffffffff8025403a\u003e] get_dirty_limits+0x1d/0x22f\n [\u003cffffffff803c1d8a\u003e] __mutex_lock_slowpath+0x64/0x9b\n [\u003cffffffff803c1bef\u003e] mutex_lock+0xa/0xb\n [\u003cffffffffa0073f58\u003e] :udf:udf_bitmap_free_blocks+0x47/0x1eb\n [\u003cffffffffa007df31\u003e] :udf:udf_discard_prealloc+0xc6/0x172\n [\u003cffffffffa007875a\u003e] :udf:udf_clear_inode+0x1e/0x48\n [\u003cffffffff8027f121\u003e] clear_inode+0x6d/0xc4\n [\u003cffffffff8027f7f2\u003e] dispose_list+0x56/0xee\n [\u003cffffffff8027fa5a\u003e] shrink_icache_memory+0x1d0/0x200\n [\u003cffffffff80257742\u003e] shrink_slab+0xe3/0x15b\n [\u003cffffffff80257e93\u003e] kswapd+0x346/0x447\n...\n\nReported-by: Tibor Tajti \u003ctibor.tajti@gmail.com\u003e\nReviewed-by: Ingo Oeser \u003cioe-lkml@rameria.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "51cc50685a4275c6a02653670af9f108a64e01cf",
      "tree": "819d47bd2b0c8a9d1835d863853804b0a0242b97",
      "parents": [
        "d91958815d214ea365b98cbff6215383897edcb6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jul 25 19:45:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:07 2008 -0700"
      },
      "message": "SL*B: drop kmem cache argument from constructor\n\nKmem cache passed to constructor is only needed for constructors that are\nthemselves multiplexeres.  Nobody uses this \"feature\", nor does anybody uses\npassed kmem cache in non-trivial way, so pass only pointer to object.\n\nNon-trivial places are:\n\tarch/powerpc/mm/init_64.c\n\tarch/powerpc/mm/hugetlbpage.c\n\nThis is flag day, yes.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Jon Tollefson \u003ckniht@linux.vnet.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\n[akpm@linux-foundation.org: fix arch/powerpc/mm/hugetlbpage.c]\n[akpm@linux-foundation.org: fix mm/slab.c]\n[akpm@linux-foundation.org: fix ubifs]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e8183c2452041326c95258ecc7865b6fcd91c730",
      "tree": "c5a3e26a11f0b886c27d3af3ac2dd63976b2ff81",
      "parents": [
        "e4f3ec063421bdbcb93330e72aa3eeedb6a0d85a"
      ],
      "author": {
        "name": "Tomas Janousek",
        "email": "tomi@nomi.cz",
        "time": "Mon Jun 23 15:12:35 2008 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Jun 24 11:38:03 2008 +0200"
      },
      "message": "udf: Fix regression in UDF anchor block detection\n\nIn some cases it could happen that some block passed test in\nudf_check_anchor_block() even though udf_read_tagged() refused to read it later\n(e.g. because checksum was not correct).  This patch makes\nudf_check_anchor_block() use udf_read_tagged() so that the checking is\nstricter.\n\nThis fixes the regression (certain disks unmountable) caused by commit\n423cf6dc04eb79d441bfda2b127bc4b57134b41d.\n\nSigned-off-by: Tomas Janousek \u003ctomi@nomi.cz\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "e4f3ec063421bdbcb93330e72aa3eeedb6a0d85a",
      "tree": "e95c977c558fcd486029fc882bf58fdf2eb4ced3",
      "parents": [
        "066519068ad2fbe98c7f45552b1f592903a9c8c8"
      ],
      "author": {
        "name": "Paul Collins",
        "email": "paul@burly.ondioline.org",
        "time": "Sat Jun 14 14:14:59 2008 +1200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jun 16 14:24:36 2008 +0200"
      },
      "message": "udf: restore UDFFS_DEBUG to being undefined by default\n\nCommit 706047a79725b585cf272fdefc234b31b6545c72, \"udf: Fix compilation\nwarnings when UDF debug is on\" inadvertently (I assume) enabled\ndebugging messages by default for UDF.  This patch disables them again.\n\nSigned-off-by: Paul Collins \u003cpaul@ondioline.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "0f1bce41fed02e45f31c2409f29e69e1fedebcdc",
      "tree": "21cde215291e59ccc5e10fadd74fbfc6206832ae",
      "parents": [
        "da1ba891f22835db9a2c349315c3763e9f4e4e67",
        "9afadc4b1fd25337003832c9a4668f9bd42cdda9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 08 10:48:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 08 10:48:03 2008 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6:\n  udf: Fix memory corruption when fs mounted with noadinicb option\n  udf: Make udf exportable\n  udf: fs/udf/partition.c:udf_get_pblock() mustn\u0027t be inline\n"
    },
    {
      "commit": "9afadc4b1fd25337003832c9a4668f9bd42cdda9",
      "tree": "45f0ce3a176c3562ff308189ced71ebb6f0a1110",
      "parents": [
        "221e583a735fc5d879d83c2a76b8ee5afcbdf146"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@ghost.suse.cz",
        "time": "Tue May 06 18:26:17 2008 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed May 07 09:49:52 2008 +0200"
      },
      "message": "udf: Fix memory corruption when fs mounted with noadinicb option\n\nWhen UDF filesystem is mounted with noadinicb mount option, it\nhappens that we extend an empty directory with a block. A code in\nudf_add_entry() didn\u0027t count with this possibility and used\nuninitialized data leading to memory and filesystem corruption.\nAdd a check whether file already has some extents before operating\non them.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "221e583a735fc5d879d83c2a76b8ee5afcbdf146",
      "tree": "332eaa88f4f814389262e68b17dea0b0e3b0820c",
      "parents": [
        "22ba0317c81ba263172baaefd2cb38de78c4598f"
      ],
      "author": {
        "name": "Rasmus Rohde",
        "email": "rohde@duff.dk",
        "time": "Wed Apr 30 17:22:06 2008 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed May 07 09:48:23 2008 +0200"
      },
      "message": "udf: Make udf exportable\n\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Rasmus Rohde \u003crohde@duff.dk\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "8e24eea728068bbeb6a3c500b848f883a20bf225",
      "tree": "93e79da649723e2766237505b22725fec395f139",
      "parents": [
        "530b6412786d7f83592c1a8e2445541ed73fca76"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Apr 30 00:55:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:54 2008 -0700"
      },
      "message": "fs: replace remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@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": "22ba0317c81ba263172baaefd2cb38de78c4598f",
      "tree": "f65a6bc29a50d705d89f669e0662202cd3b6b72b",
      "parents": [
        "064922a805ec7aadfafdd27aa6b4908d737c3c1d"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Apr 28 18:38:49 2008 +0300"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Apr 28 18:44:26 2008 +0200"
      },
      "message": "udf: fs/udf/partition.c:udf_get_pblock() mustn\u0027t be inline\n\nThis patch fixes the following build error with UML and gcc 4.3:\n\n\u003c--  snip  --\u003e\n\n...\n  CC      fs/udf/partition.o\n/home/bunk/linux/kernel-2.6/git/linux-2.6/fs/udf/partition.c: In function ‘udf_get_pblock_virt15’:\n/home/bunk/linux/kernel-2.6/git/linux-2.6/fs/udf/partition.c:32: sorry, unimplemented: inlining failed in call to ‘udf_get_pblock’: function body not available\n/home/bunk/linux/kernel-2.6/git/linux-2.6/fs/udf/partition.c:102: sorry, unimplemented: called from here\nmake[3]: *** [fs/udf/partition.o] Error 1\n\n\u003c--  snip  --\u003e\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "78e917d59c30c3d5a4cda7f47e0f40f1c98f9b02",
      "tree": "43efd776befcc6164b31c6fa817449830932d7c1",
      "parents": [
        "36a53ddf859b0a9aa56e2e72978997bf68eec37a"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Mon Apr 28 02:16:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:46 2008 -0700"
      },
      "message": "udf: fix sparse warning in namei.c\n\nLet\u0027s use bsize instead.\nfs/udf/namei.c:960:12: warning: symbol \u0027elen\u0027 shadows an earlier one\nfs/udf/namei.c:937:15: originally declared here\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\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": "f845fced913b1437659bb5baf187698547697afe",
      "tree": "e23244018eeb8a57229ef0f12f69521a50881e14",
      "parents": [
        "706047a79725b585cf272fdefc234b31b6545c72"
      ],
      "author": {
        "name": "Bob Copeland",
        "email": "me@bobcopeland.com",
        "time": "Thu Apr 17 09:47:48 2008 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 17 14:29:56 2008 +0200"
      },
      "message": "udf: use crc_itu_t from lib instead of udf_crc\n\nAs pointed out by Sergey Vlasov, UDF implements its own version of\nthe CRC ITU-T V.41.  Convert it to use the one in the library.\n\nSigned-off-by: Bob Copeland \u003cme@bobcopeland.com\u003e\nCc: Sergey Vlasov \u003cvsu@altlinux.ru\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "706047a79725b585cf272fdefc234b31b6545c72",
      "tree": "24d3055bfc3d87c052f6cd1efd100834a23b82fe",
      "parents": [
        "47c9358a015199ed37c66235a2238271a7c8041f"
      ],
      "author": {
        "name": "Sebastian Manciulea",
        "email": "manciuleas@yahoo.com",
        "time": "Mon Apr 14 17:13:01 2008 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 17 14:29:48 2008 +0200"
      },
      "message": "udf: Fix compilation warnings when UDF debug is on\n\nFix two compilation warnings (and actual bugs in message formatting)\nwhen UDF debugging is turned on.\n\nSigned-off-by: Sebastian Manciulea \u003cmanciuleas@yahoo.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "47c9358a015199ed37c66235a2238271a7c8041f",
      "tree": "265659628f44c00a65a0deaee6edc137aed6cab1",
      "parents": [
        "bfb257a5981af805a9394f00f75d3d9f7b611cc0"
      ],
      "author": {
        "name": "Sebastian Manciulea",
        "email": "manciuleas@yahoo.com",
        "time": "Mon Apr 14 17:06:36 2008 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 17 14:29:43 2008 +0200"
      },
      "message": "udf: Fix bug in VAT mapping code\n\nFix mapping of blocks using VAT when it is stored in an inode.\nUDF_I(inode)-\u003ei_data already points to the beginning of VAT header so there\u0027s\nno need to add udf_ext0_offset(inode).\n\nSigned-off-by: Sebastian Manciulea \u003cmanciuleas@yahoo.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "bfb257a5981af805a9394f00f75d3d9f7b611cc0",
      "tree": "2f91577f4c2a706ece3553372c737daf05885375",
      "parents": [
        "f4bcbbd92ebda971f7c2cd1132b399808ed6cf9b"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Apr 08 20:37:21 2008 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 17 14:29:36 2008 +0200"
      },
      "message": "udf: Add read-only support for 2.50 UDF media\n\nThis patch implements parsing of metadata partitions and reading of Metadata\nFile thus allowing to read UDF 2.50 media. Error resilience is implemented\nthrough accessing the Metadata Mirror File in case the data the Metadata File\ncannot be read. The patch is based on the original patch by Sebastian Manciulea\n\u003cmanciuleas@yahoo.com\u003e and Mircea Fedoreanu \u003cmirceaf_spl@yahoo.com\u003e.\n\nSigned-off-by: Sebastian Manciulea \u003cmanciuleas@yahoo.com\u003e\nSigned-off-by: Mircea Fedoreanu \u003cmirceaf_spl@yahoo.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "f4bcbbd92ebda971f7c2cd1132b399808ed6cf9b",
      "tree": "0c68fff93557d4fbcec3ad0eab0382b3084ba60c",
      "parents": [
        "96200be3077c5ede16a90b33aca815b444e66043"
      ],
      "author": {
        "name": "Sebastian Manciulea",
        "email": "manciuleas@yahoo.com",
        "time": "Tue Apr 08 14:02:11 2008 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 17 14:28:33 2008 +0200"
      },
      "message": "udf: Fix handling of multisession media\n\nAccording to OSTA UDF specification, only anchor blocks and primary volume\ndescriptors are placed on media relative to the last session. All other block\nnumbers are absolute (in the partition or the whole media). This seems to be\nconfirmed by multisession media created by other systems.\n\nSigned-off-by: Sebastian Manciulea \u003cmanciuleas@yahoo.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "96200be3077c5ede16a90b33aca815b444e66043",
      "tree": "c1ee3889fca31d55e973ab2859b19bbbee3a7d22",
      "parents": [
        "fa5e08156335d0687c85b4e724db9448fb166601"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Apr 08 13:29:20 2008 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 17 14:28:14 2008 +0200"
      },
      "message": "udf: Mount filesystem read-only if it has pseudooverwrite partition\n\nAs we don\u0027t properly support writing to pseudooverwrite partition (we should\nadd entries to VAT and relocate blocks instead of just writing them), mount\nfilesystems with such partition as read-only.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "fa5e08156335d0687c85b4e724db9448fb166601",
      "tree": "196b9d20b70129d892ceb3cf43ffb611b0067075",
      "parents": [
        "742e1795e2d9dc99657742e5bbbb7907596bf6c3"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Apr 08 02:08:53 2008 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 17 14:25:35 2008 +0200"
      },
      "message": "udf: Handle VAT packed inside inode properly\n\nWe didn\u0027t handle VAT packed inside the inode - we tried to call udf_block_map()\non such file which lead to strange results at best. Add proper handling of\npacked VAT as we do it with other packed files.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "742e1795e2d9dc99657742e5bbbb7907596bf6c3",
      "tree": "20320a77efa4291883e958c7c8fc4477d952b0ac",
      "parents": [
        "c82a127505d39fa81c886eceed6fdf8c1ff4a06b"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Apr 08 01:17:52 2008 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 17 14:23:41 2008 +0200"
      },
      "message": "udf: Allow loading of VAT inode\n\nUDF media with VAT could have never worked because udf_fill_inode() didn\u0027t\nknow about case FILE_TYPE_VAT20. Fix this.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "c82a127505d39fa81c886eceed6fdf8c1ff4a06b",
      "tree": "a96766d515ff22f1ba2d4af004c4c853ec29162c",
      "parents": [
        "4f7874c868eaedd0e64b2f6c800bc852bdc7f38b"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Apr 08 01:16:32 2008 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 17 14:23:39 2008 +0200"
      },
      "message": "udf: Fix detection of VAT version\n\nWe incorrectly (way to strictly) checked version of VAT on loading and thus\nrefuse to mount correct media.  There are just two format versions - below 2.0\nand above 2.0 and we understand both. So update the version check accordingly.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "4f7874c868eaedd0e64b2f6c800bc852bdc7f38b",
      "tree": "b663f87a4740cae9fdbeb09f9ee1a129ee4e618a",
      "parents": [
        "5fb28aa25ab0b71af2e441d68e63ad257e610a04"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Apr 07 23:16:38 2008 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 17 14:23:17 2008 +0200"
      },
      "message": "udf: Silence warning about accesses beyond end of device\n\nSome of the computed positions of anchor block could be beyond the end of\ndevice. Skip reading such blocks.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    }
  ],
  "next": "5fb28aa25ab0b71af2e441d68e63ad257e610a04"
}
