1. 14 Dec, 2009 3 commits
    • Jan Kara's avatar
      udf: Avoid IO in udf_clear_inode · 2c948b3f
      Jan Kara authored
      It is not very good to do IO in udf_clear_inode. First, VFS does not really
      expect inode to become dirty there and thus we have to write it ourselves,
      second, memory reclaim gets blocked waiting for IO when it does not really
      expect it, third, the IO pattern (e.g. on umount) resulting from writes in
      udf_clear_inode is bad and it slows down writing a lot.
      
      The reason why UDF needed to do IO in udf_clear_inode is that UDF standard
      mandates extent length to exactly match inode size. But when we allocate
      extents to a file or directory, we don't really know what exactly the final
      file size will be and thus temporarily set it to block boundary and later
      truncate it to exact length in udf_clear_inode. Now, this is changed to
      truncate to final file size in udf_release_file for regular files. For
      directories and symlinks, we do the truncation at the moment when learn
      what the final file size will be.
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      2c948b3f
    • Jan Kara's avatar
      udf: Try harder when looking for VAT inode · e971b0b9
      Jan Kara authored
      Some disks do not contain VAT inode in the last recorded block as required
      by the standard but a few blocks earlier (or the number of recorded blocks
      is wrong). So look for the VAT inode a bit before the end of the media.
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      e971b0b9
    • Jan Kara's avatar
      udf: Fix compilation with UDFFS_DEBUG enabled · 1fefd086
      Jan Kara authored
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      1fefd086
  2. 12 Dec, 2009 37 commits