Bug 789206

Summary: ntfs-3g is unable to read NTFS of current Windows and corrupts filesystem
Product: [openSUSE] openSUSE 12.1 Reporter: Ulrich Windl <Ulrich.Windl>
Component: BasesystemAssignee: Fan Jun Kong <fjkong>
Status: VERIFIED WONTFIX QA Contact: E-mail List <qa-bugs>
Severity: Critical    
Priority: P5 - None    
Version: Final   
Target Milestone: ---   
Hardware: i686   
OS: openSUSE 12.1   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Ulrich Windl 2012-11-12 07:54:26 UTC
User-Agent:       Mozilla/5.0 (X11; Linux i686; rv:16.0) Gecko/20100101 Firefox/16.0

I bought a Western Digital "MyPassport" external USB disk that is preformatted with NTFS for Windows, and it contains some software on the drive. After having connected the drive to Linux, Windows reports the filesystem is corrupted, and after repair in Windows 7, some of the folders on the disk vanished.

Reproducible: Always

Steps to Reproduce:
1. Connect a WD "MyPassport" disk with preformatted NTFS to openSUSE 12.1

Actual Results:  
ntfs-3g cannot read the NTFS format, and the disk's format is corrupted

Expected Results:  
Unsupported formats shouldn't be mounted read/write. No corruption should occur.

Mounting NTFS read/write was a bad idea. Messages:
Nov  9 20:09:33 aax264 ntfs-3g[3846]: Trying to read non-allocated mft records (50 > 48): Illegal seek
Nov  9 20:09:33 aax264 ntfs-3g[3846]: last message repeated 18 times
Nov  9 20:09:33 aax264 ntfs-3g[3846]: Trying to read non-allocated mft records (88 > 48): Illegal seek
Nov  9 20:09:33 aax264 ntfs-3g[3846]: Trying to read non-allocated mft records (50 > 48): Illegal seek
Nov  9 20:09:33 aax264 ntfs-3g[3846]: Trying to read non-allocated mft records (88 > 48): Illegal seek
Nov  9 20:09:33 aax264 ntfs-3g[3846]: ntfs_mst_post_read_fixup: magic: 0x00000000  size: 4096  usa_ofs: 0  usa_count: 65535: Invalid argument
Nov  9 20:09:33 aax264 ntfs-3g[3846]: Index buffer (VCN 0x0) of directory inode 41 has a size (24) differing from the directory specified size (4096).
Nov  9 20:29:54 aax264 ntfs-3g[3846]: Trying to read non-allocated mft records (50 > 48): Illegal seek
Nov  9 20:29:54 aax264 ntfs-3g[3846]: Trying to read non-allocated mft records (88 > 48): Illegal seek
Nov  9 20:29:54 aax264 ntfs-3g[3846]: Trying to read non-allocated mft records (90 > 48): Illegal seek
Nov  9 20:29:54 aax264 ntfs-3g[3846]: Trying to read non-allocated mft records (137 > 48): Illegal seek
Nov  9 20:29:54 aax264 ntfs-3g[3846]: Trying to read non-allocated mft records (146 > 48): Illegal seek
Nov  9 20:30:04 aax264 ntfs-3g[3846]: ntfs_mst_post_read_fixup: magic: 0x00000000  size: 4096  usa_ofs: 0  usa_count: 65535: Invalid argument
Nov  9 20:30:04 aax264 ntfs-3g[3846]: Index buffer (VCN 0x0) of directory inode 41 has a size (24) differing from the directory specified size (4096).
Nov  9 20:30:15 aax264 ntfs-3g[3846]: ntfs_mst_post_read_fixup: magic: 0x00000000  size: 4096  usa_ofs: 0  usa_count: 65535: Invalid argument
Nov  9 20:30:15 aax264 ntfs-3g[3846]: Index buffer (VCN 0x0) of directory inode 41 has a size (24) differing from the directory specified size (4096).
Nov  9 20:30:32 aax264 ntfs-3g[3846]: Trying to read non-allocated mft records (50 > 48): Illegal seek
Nov  9 20:30:32 aax264 ntfs-3g[3846]: Trying to read non-allocated mft records (50 > 48): Illegal seek
Nov  9 20:30:46 aax264 ntfs-3g[3846]: Trying to read non-allocated mft records (90 > 48): Illegal seek
Nov  9 20:30:47 aax264 ntfs-3g[3846]: Trying to read non-allocated mft records (90 > 48): Illegal seek
Nov  9 20:30:57 aax264 ntfs-3g[3846]: Tryinssssssg to read non-allocated mft records (137 > 48): Illegal seek

Kernel was: 3.1.10-1.16-desktop3.1.10-1.16-desktop
Comment 1 Fan Jun Kong 2012-11-16 08:48:39 UTC
Could you please try it on openSUSE12.1?

FYI I tried  a flash disk on 12.1 it works for me .

steps:

1 formt the flash disk with NTFS, put some test files into it. reject it.
2 insert it to openSUSE12.1, open and creat some test files. reject it.
3 put it back to windows, no error
Comment 2 Ulrich Windl 2012-11-16 10:08:40 UTC
(In reply to comment #1)
> Could you please try it on openSUSE12.1?

I don't understand: the "product" is opensuse 12.1!

> 
> FYI I tried  a flash disk on 12.1 it works for me .

I did not say that every NTFS filesystem fails; I said this specific one failed.

> 
> steps:
> 
> 1 formt the flash disk with NTFS, put some test files into it. reject it.
> 2 insert it to openSUSE12.1, open and creat some test files. reject it.
> 3 put it back to windows, no error

I only feel worried, because "MediaMarkt" here was selling the drive for rather cheap (and WD is not uncommon for external drives). So possibly many users will have the same problem.

Personally I solved the problem by reformatting the disk with Windows/XP and not using it with Linux so far.
Comment 3 Fan Jun Kong 2012-11-18 16:16:02 UTC
sorry, I made a mistake: it should be 12.2


So this bug only can be reproduced on your kind of disk?
Comment 4 Fan Jun Kong 2012-11-25 16:53:34 UTC
 close it . plz reopen if needed.
Comment 5 Ulrich Windl 2012-11-26 08:14:29 UTC
I was not sure: Maybe the format is special; maybe it's due to the disk having 4kB physical sectors. Sure is the format couldn't be read while the filesystem was mounted read/write.