• Anton Altaparmakov's avatar
    NTFS: 2.1.13 - Enable overwriting of resident files and housekeeping of system files. · 32e5fcaa
    Anton Altaparmakov authored
    - Mark the volume dirty when (re)mounting read-write and mark it clean
      when unmounting or remounting read-only.  If any volume errors are
      found, the volume is left marked dirty to force chkdsk to run.
    - Add code to set the NT4 compatibility flag when (re)mounting
      read-write for newer NTFS versions but leave it commented out for now
      since we do not make any modifications that are NTFS 1.2 specific yet
      and since setting this flag breaks Captive-NTFS which is not nice.
      This code must be enabled once we start writing NTFS 1.2 specific
      changes otherwise Windows NTFS driver might crash / cause corruption.
    - Fix a silly bug that caused a deadlock in ntfs_mft_writepage().
      For inode 0, i.e. $MFT itself, we cannot use ilookup5() from
      there because the inode is already locked by the kernel
      (fs/fs-writeback.c::__sync_single_inode()) and ilookup5() waits
      until the inode is unlocked before returning it and it never gets
      unlocked because ntfs_mft_writepage() never returns.  )-:
      Fortunately, we have inode 0 pinned in icache for the duration
      of the mount so we can access it directly.
    Signed-off-by: default avatarAnton Altaparmakov <aia21@cantab.net>
    32e5fcaa
mft.c 36.3 KB