mirror of
https://git.code.sf.net/p/ntfs-3g/ntfs-3g.git
synced 2024-11-23 18:14:24 +08:00
Support resizing into the middle of a $MFT $DATA extent
This commit is contained in:
parent
34c676fad3
commit
7943e71620
@ -10,7 +10,9 @@ xx/xx/xxxx - 1.12.0-WIP
|
||||
record attributes at AT_DATA of $BadClus and $Bitmap. In practice,
|
||||
there aren't non-resident attributes after them so this bug,
|
||||
introduced in 1.11.0, shouldn't have ever caused data loss. (Szaka)
|
||||
- ntfsresize: support relocation of $MFT with $ATTRIBUTE_LIST. (Szaka)
|
||||
- ntfsresize: support relocation of $MFT with $ATTRIBUTE_LIST. (Szaka)
|
||||
- ntfsresize: support resizing into the middle of a $MFT $DATA
|
||||
extent. (Szaka)
|
||||
|
||||
20/07/2005 - 1.11.1 - Fix several ntfsmount bugs.
|
||||
|
||||
|
@ -73,7 +73,6 @@ Thanks,
|
||||
**************
|
||||
|
||||
High priority
|
||||
- support splitting up $MFT runs
|
||||
- move ntfs consistency check to libntfs (for ntfsck, ntfsclone, etc)
|
||||
- use different exit codes (e.g. corrupt volume detected, unsupported case,
|
||||
bad sectors, etc)
|
||||
|
@ -183,9 +183,9 @@ to approve your post.
|
||||
.PP
|
||||
There are a few very rarely met restrictions at present: filesystems having
|
||||
unknown bad sectors, relocation
|
||||
of the first MFT extent and resizing in the middle of some metadata
|
||||
in some cases aren't supported yet. These cases are detected and
|
||||
resizing is refused, restricted to a safe size or the closest safe
|
||||
of the first MFT extent and resizing into the middle of a $MFTMirr extent
|
||||
aren't supported yet. These cases are detected and
|
||||
resizing is restricted to a safe size or the closest safe
|
||||
size is displayed.
|
||||
.PP
|
||||
.B Ntfsresize
|
||||
|
@ -759,16 +759,10 @@ static void collect_relocation_info(ntfs_resize_t *resize, runlist *rl)
|
||||
start = new_vol_size;
|
||||
len = lcn_length - (new_vol_size - lcn);
|
||||
|
||||
if (!opt.info && (inode == FILE_MFT || inode == FILE_MFTMirr)) {
|
||||
s64 last_lcn;
|
||||
|
||||
err_printf("$MFT%s can't be split up yet. Please try "
|
||||
"a different size.\n", inode ? "Mirr" : "");
|
||||
last_lcn = lcn + lcn_length - 1;
|
||||
if (!(inode == FILE_MFT && rl->vcn == 0) &&
|
||||
lcn - 1 >= resize->inuse)
|
||||
__print_advise(resize->vol, lcn - 1);
|
||||
print_advise(resize->vol, last_lcn);
|
||||
if (!opt.info && (inode == FILE_MFTMirr)) {
|
||||
err_printf("$MFTMirr can't be split up yet. Please try "
|
||||
"a different size.\n");
|
||||
print_advise(resize->vol, lcn + lcn_length - 1);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user