Allow mounting volumes with non-clean logfile with force mount option.
Volume left dirty upon umount. So, this is equal to running ntfsfix and then mounting with force option.edge.strict_endians
parent
bf3a7442eb
commit
e5690b57d4
|
@ -1219,14 +1219,20 @@ ntfs_volume *ntfs_device_mount(struct ntfs_device *dev, ntfs_mount_flags flags)
|
|||
* But do not do that if this is a FORENSIC mount.
|
||||
*/
|
||||
if (!(flags & NTFS_MNT_RDONLY)) {
|
||||
if (ntfs_volume_check_logfile(vol) < 0)
|
||||
goto error_exit;
|
||||
if (ntfs_volume_check_hiberfile(vol) < 0)
|
||||
goto error_exit;
|
||||
if (ntfs_volume_check_logfile(vol) < 0) {
|
||||
if (errno != EOPNOTSUPP || !(flags & NTFS_MNT_FORCE))
|
||||
goto error_exit;
|
||||
ntfs_log_warning("WARNING: $LogFile is not clean, "
|
||||
"forced to continue.\n");
|
||||
NVolSetWasDirty(vol); /* Leave volume dirty since we
|
||||
empted logfile. */
|
||||
}
|
||||
if (!NVolForensicMount(vol)) {
|
||||
if (ntfs_logfile_reset(vol) < 0)
|
||||
goto error_exit;
|
||||
if (!NVolWasDirty(vol)) {
|
||||
if (!(vol->flags & VOLUME_IS_DIRTY)) {
|
||||
vol->flags |= VOLUME_IS_DIRTY;
|
||||
if (ntfs_volume_write_flags(vol, vol->flags) <
|
||||
0)
|
||||
|
@ -1234,7 +1240,6 @@ ntfs_volume *ntfs_device_mount(struct ntfs_device *dev, ntfs_mount_flags flags)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
return vol;
|
||||
io_error_exit:
|
||||
errno = EIO;
|
||||
|
|
|
@ -104,8 +104,7 @@ static const char *unclean_journal_msg =
|
|||
" C) Use 'Eject' from Windows Explorer to safely remove the device.\n"
|
||||
" D) If you ran chkdsk previously then boot Windows again which will\n"
|
||||
" automatically initialize the journal.\n"
|
||||
" E) Run 'ntfsfix' on Linux which will reset the NTFS journal.\n"
|
||||
" Then submit force option (WARNING: This solution it not recommended).\n"
|
||||
" E) Submit 'force' option (WARNING: This solution it not recommended).\n"
|
||||
" F) ntfsmount: Mount the volume read-only by using the 'ro' mount option.\n";
|
||||
|
||||
static const char *opened_volume_msg =
|
||||
|
|
Loading…
Reference in New Issue