Help and Support
Ask a question, report a problem, request a feature...
<<  Back To Forum

Tixati file move: SPARSE and no metadata copy

by notaLamer on 2021/10/07 10:12:47 PM    
Information captured with Procmon and Windows 7.
Moving transfer files from LocFrom to LocTo using Tixati:

// replaced TABS with 3 Spaces. Forum software removed the tab character :(
11:20:50,5227038   tix.exe   QueryOpen   C:\LocTo\Filename.ext   NAME NOT FOUND   
11:20:50,5229896   tix.exe   CreateFile   C:\LocTo\Filename.ext   SUCCESS   Desired Access: Generic Write, Read Attributes, Disposition: Create, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: N, ShareMode: Read, AllocationSize: 0, OpenResult: Created
11:20:50,5231183   tix.exe   FileSystemControl   C:\LocTo\Filename.ext   SUCCESS   Control: FSCTL_SET_SPARSE
--> 1. WHY SPARSE?
11:20:50,5232300   tix.exe   QueryStandardInformationFile   C:\LocTo\Filename.ext   SUCCESS   AllocationSize: 0, EndOfFile: 0, NumberOfLinks: 1, DeletePending: False, Directory: False
--> 2. WHY ALLOC SIZE, EOF = 0?
11:20:50,5233151   tix.exe   QueryBasicInformationFile   C:\LocTo\Filename.ext   SUCCESS   CreationTime: 10/07/2021 11:20:50, LastAccessTime: 10/07/2021 11:20:50, LastWriteTime: 10/07/2021 11:20:50, ChangeTime: 10/07/2021 11:20:50, FileAttributes: ASF
11:20:50,5233529   tix.exe   QueryInformationVolume   C:\LocTo\Filename.ext   BUFFER OVERFLOW   VolumeCreationTime: <stripped>
11:20:50,5233903   tix.exe   QueryAllInformationFile   C:\LocTo\Filename.ext   BUFFER OVERFLOW   CreationTime: 10/07/2021 11:20:50, LastAccessTime: 10/07/2021 11:20:50, LastWriteTime: 10/07/2021 11:20:50, ChangeTime: 10/07/2021 11:20:50, FileAttributes: ASF, AllocationSize: 0, EndOfFile: 0, NumberOfLinks: 1, DeletePending: False, Directory: False, IndexNumber: <stripped>, EaSize: 0, Access: Generic Write, Read Attributes, Position: 0, Mode: Synchronous IO Non-Alert, AlignmentRequirement: Word
11:20:50,5235896   tix.exe   CreateFile   C:\LocTo\Filename.ext   SUCCESS   Desired Access: Read Attributes, Synchronize, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: n/a, ShareMode: Read, Write, AllocationSize: n/a, OpenResult: Opened
11:20:50,5236548   tix.exe   CloseFile   C:\LocTo\Filename.ext   SUCCESS   
11:20:50,5238048   tix.exe   CreateFile   C:\LocTo\Filename.ext   SUCCESS   Desired Access: Read Attributes, Synchronize, Disposition: Open, Options: Synchronous IO Non-Alert, Attributes: n/a, ShareMode: Read, Write, AllocationSize: n/a, OpenResult: Opened
11:20:50,5238541   tix.exe   CloseFile   C:\LocTo\Filename.ext   SUCCESS   
11:20:50,5239851   tix.exe   CreateFile   C:\LocTo\Filename.ext   SUCCESS   Desired Access: Read Attributes, Synchronize, Disposition: Open, Options: Synchronous IO Alert, Attributes: n/a, ShareMode: Read, Write, AllocationSize: n/a, OpenResult: Opened
11:20:50,5240608   tix.exe   DeviceIoControl   C:\LocTo\Filename.ext   INVALID PARAMETER   Control: IOCTL_MOUNTDEV_QUERY_DEVICE_NAME
11:20:50,5240948   tix.exe   CloseFile   C:\LocTo\Filename.ext   SUCCESS   
11:20:50,5242377   tix.exe   CreateFile   C:\LocTo\Filename.ext   NAME INVALID   Desired Access: Read Attributes, Synchronize, Disposition: Open, Options: Synchronous IO Non-Alert, Open Reparse Point, Attributes: N, ShareMode: Read, Write, AllocationSize: n/a
11:20:50,5243375   tix.exe   CreateFile   C:\LocTo\   IS DIRECTORY   Desired Access: Read Attributes, Synchronize, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: n/a, ShareMode: Read, Write, AllocationSize: n/a
--> 3. Recursive ascend follows

1 and 2: My Tixati is set to use FAST ALLOCATE for files, why is it setting SPARSE with 0x0 EOF? Sounds like this will cause zero preallocation and fragmentation later?
3. Following with a file handle on the parent directory, Tixati does a recursive ascension and separate Open/Close handles on folders to query:

1) FSCTL_GET_REPARSE_POINT
2) IOCTL_MOUNTDEV_QUERY_DEVICE_NAME
3) FSCTL_GET_REPARSE_POINT

In this order for each parent folder excluding disk root. There's 'GetFileAttributesExW' if you wanted to query file information without a handle (including IS DIRECTORY).

Finally, Tixati does not carry over the file times. None of them. Although bittorrent doesn't transfer them either, I believe local file times should be preserved at all times.

Thank you!




This web site is powered by Super Simple Server