)]}'
{
  "commit": "39b3f6d6e915aa29ad6f90d1517d9217f903c8dc",
  "tree": "5297a26715e78ef2f0a22424357076982c98a0fb",
  "parents": [
    "6c5c934153513dc72e2d6464f39e8ef1f27c0a3e"
  ],
  "author": {
    "name": "Eric Sandeen",
    "email": "esandeen@redhat.com",
    "time": "Fri Sep 29 01:59:41 2006 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@g5.osdl.org",
    "time": "Fri Sep 29 09:18:09 2006 -0700"
  },
  "message": "[PATCH] mount udf UDF_PART_FLAG_READ_ONLY partitions with MS_RDONLY\n\nThere\u0027s a bug where a UDF_PART_FLAG_READ_ONLY udf partition gets mounted\nread-write, then subsequent problems happen; files seem to be able to be\nremoved, but file creation results in EIO or worse, oops.\n\nEIO is coming from udf_new_block(), which returns EIO if the right flags\naren\u0027t set; only UDF_PART_FLAG_READ_ONLY is set in this case.  We probably\ns hould not have gotten this far...\n\nAttached patch seems to fix it - and includes a printk to alert the user\nthat their \"rw\" mount request has been converted to \"ro.\"\n\nHere\u0027s the testcase I used:\n\n[root@magnesium ~]# mkisofs -R -J -udf -o testiso /tmp/\n...\nTotal translation table size: 0\nTotal rockridge attributes bytes: 342923\nTotal directory bytes: 382312\nPath table size(bytes): 104\nMax brk space used 103000\n105059 extents written (205 MB)\n\n[root@magnesium ~]# mount -o loop testiso /mnt/test/\n[root@magnesium ~]# ls /mnt/test/fsfile\n/mnt/test/fsfile\n[root@magnesium ~]# rm /mnt/test/fsfile\n[root@magnesium ~]# ls /mnt/test/fsfile\nls: /mnt/test/fsfile: No such file or directory\n[root@magnesium ~]# touch /mnt/test/fsfile\ntouch: cannot touch `/mnt/test/fsfile\u0027: Input/output error\n[root@magnesium tmp]# grep udf /proc/mounts\n/dev/loop1 /mnt/test udf rw 0 0\n\nForce readonly mounts of UDF partitions marked as read-only.\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5dd356cbbda607de674b825d40ecf0c72fce490b",
      "old_mode": 33188,
      "old_path": "fs/udf/super.c",
      "new_id": "1d3b5d2070e5474cbf2b212b457166487e32fbde",
      "new_mode": 33188,
      "new_path": "fs/udf/super.c"
    }
  ]
}
