Cannot copy files with archive a to file with archive bit ah

Post your bug reports here
brahman
Posts: 180
Joined: Thu Jan 11, 2007 6:18 pm

Cannot copy files with archive a to file with archive bit ah

Post by brahman »

Hi Igor,

SI 1644 cannot copy files with archive bit "a" to a destination file with archive bit "ah".

Also SI does not copy sparse files, it copies the entire file in its full length, which can cause some real surprises (like suddenly having 10GB disk space taken, because your virtual machine's 10 GB win drive has changed from sparse to real).

Could you please fix this?

Thanks.

Kind Regards,

Brahman

grigsoft
Site Admin
Posts: 1673
Joined: Tue Sep 23, 2003 7:37 pm
Contact:

Post by grigsoft »

ah attributes will be fixed, sparse files support may require some time. Thank you for suggestions, as usual!

brahman
Posts: 180
Joined: Thu Jan 11, 2007 6:18 pm

Post by brahman »

Thanks Igor!

The ah problems manifests itself specifically with TC's descript.ion files.

Hint: The only copy program I could find that can do sparse files is cygwin's cp.exe with "--sparse=always -p" parameters. But otherwise it is not very good...

Regards,

B.

grigsoft
Site Admin
Posts: 1673
Joined: Tue Sep 23, 2003 7:37 pm
Contact:

Post by grigsoft »

I have not yet checked docs, but I'm in fact was thinking that copying sparse file could be impossible. But if you say somebody is doing this, maybe I will be able to.

brahman
Posts: 180
Joined: Thu Jan 11, 2007 6:18 pm

Post by brahman »

Hi Igor,

confirming that ah attribute problem is fixed in build 1645.

Thank you.

Brahman

brahman
Posts: 180
Joined: Thu Jan 11, 2007 6:18 pm

Post by brahman »

Hi Igor,

here you can find the source code of a NATIVE (NOT cygwin!) version of cp.exe, which can copy sparse files:

http://unxutils.sourceforge.net/

Regards,

Brahman

grigsoft
Site Admin
Posts: 1673
Joined: Tue Sep 23, 2003 7:37 pm
Contact:

Post by grigsoft »

Thanks, that's not necessary - I have not tries it yet, but process is clearly documented, so I don't expect any problems here.

brahman
Posts: 180
Joined: Thu Jan 11, 2007 6:18 pm

Post by brahman »

Hi Igor,

great, it really looks like you are on the ball! :D

While you are already working on this, maybe you could also look into enabling the duplication of an existing hard linked file structure on the target.

The same utility mentioned above (cp) can do it and rsynch also does a great job with hard links.

Right now I need to run

"rsync.exe -aHtiv source target "

to duplicate my hard link structure after synching with SI. :(

Since I use hard links extensively, it would be a very nice timesaver to have that ability too. :P

Have a great Monday!


Regards,

Brahman

grigsoft
Site Admin
Posts: 1673
Joined: Tue Sep 23, 2003 7:37 pm
Contact:

Post by grigsoft »

Well, creating new hard link is not a problem. What is a problem - there is no way to tell if this file is just a hard link. So if you know it is - you can copy it. But for software there is no way to distinguish between hard link and plain file. The only thing that I can think of is some kind of dictionary that user can fill, telling that this specific file(or masked files in folder) is a hardlink and should be copied as hardlink.

brahman
Posts: 180
Joined: Thu Jan 11, 2007 6:18 pm

Post by brahman »

If that were true, then the two apps I mentioned (CP and rsync, but especially rsync) could not do what they do, namely duplicating an existing hard link structure from source to target without being specifically pointed to the hard file or told they are copying hard links and without any additional user interaction.

Here is a screenshot of a completed rsync copy operation using my special "SynchroTestBed" where I combined difficult copy/synching situations to see which synching program is capable of doing what.

Image
Image

On the top is my source, the bottom part is the target after the copy operation with rsync (command line on bottom) is finished. I color coded with TC several file types (like sparse, hard, and soft links) and where you see a "2" in the "HrdLnks" columns, it is a hard linked file. In this picture you can see that that rsync successfully copied the hard linked files AS HARD LINKS even when I gave them different names (the hard link counterparts are in the compressed subfolder)! So when TC can show that a file is a hard link and rsync can duplicate them, then there is a way to tell.

Also LinkShell Extension is another native Win32 tool that can duplicate hard link structures from source to target (scroll far down to section "Smart Copy").

I am sure if they can do it, you can do it too, because you are at least as good as those guys. :D

So I am crossing my fingers and hope you will find a way to implement it ...


Kind Regards,

Brahman

grigsoft
Site Admin
Posts: 1673
Joined: Tue Sep 23, 2003 7:37 pm
Contact:

Post by grigsoft »

OK, thanks, maybe I have missed something. I will check this again.

grigsoft
Site Admin
Posts: 1673
Joined: Tue Sep 23, 2003 7:37 pm
Contact:

Post by grigsoft »

Brahman,
How did you get that Hardlinks column in TC?

grigsoft
Site Admin
Posts: 1673
Joined: Tue Sep 23, 2003 7:37 pm
Contact:

Post by grigsoft »

Also, brahman, which files are shown as linked for your copied hardlinks ( LinkShell Extension can show links list)? I mean if you copy hardlink with 2 links, it should have 3 links afterwards.

brahman
Posts: 180
Joined: Thu Jan 11, 2007 6:18 pm

Post by brahman »

To show information about links and junctions in TC:
http://flint-inc.ru/eng/info/nlinfo.html

To easily work with links in TC:
http://flint-inc.ru/eng/info/ntfslinks.html

The developer is a Russian (of course :)).

Re. copying HLs:

Yes, I thought about that too. When experimenting I figured that rsync, which I use to copy the hls, duplicates the existing hard link structure exactly as it appears to the target, but NOT LINKING the two copies.

If it were to copy hls AS hls, you would have all files hard linked back to each other (even though not hled now, i.e. suddenly in column 1 HL would become everywhere on both sides 2 HLs) - this is what the ntfslinks utility above does.

So it works like duplicating a drive to another drive even if you do the operation within the same drive (respecting NTFS 3.01 restrictions).

Regards,

Brahman

brahman
Posts: 180
Joined: Thu Jan 11, 2007 6:18 pm

Post by brahman »

Here you can download my TC config file to replicate that column setup:
http://www.box.net/shared/nlbay0g0ny

And here you can download my Synchronization Testbed (mount it with Drive Snapshot - the trial version allows mounting even after trial ends - and you can copy out of it to your hearts content :)):
http://www.box.net/shared/bpgsbbj1aq

Kind Regards,

Brahman

Post Reply