Dam1an
Planner
Karma: +0/-0
Offline
Posts: 14
GMT+1
|
 |
« on: 2011 Jun 22, 01:09:10 pm » |
|
Here, simple gui written in c# for rsc32 v2.82 (should work with current version but I didn't test it) (required .NET2.0) It's not yet finished.
Download: see attachment
How to: Place rsc32.exe and rsc32_FFTW3.DLL at Windows folder (or system32 . You can change PATH variable too).
1) Run RSC32Gui. 2) click "choose folder" 3) choose option from dropdownlist 4) hit start
Example: Creating: 1) Run RSC32Gui. 2) click "choose folder" 3) choose first (-wt -tig -r -ya) option from dropdownlist, hit start, wait 4) choose third (-wrr65000-5% -sn5 -hr5 -ya) option from dropdownlist, hit start, wait. All done.
Checking: 1) Run RSC32Gui. 2) click "choose folder" 3) choose second (or fourth) option, hit start 4) go to "log" tab for details
Repairing: 1) Run RSC32Gui. 2) click "choose folder" 3) choose fifth option, hit start
Available options:
"-wt -tig -r -ya" creates hash (tiger, crc64, md5, sha1) tables "-rt" read table (file verification using hash) "-wrr65000-5% -sn5 -hr5 -ya" write recovery records. "-crr -ya" check with recovery records, ( file verification using hash recovery records) "-rrr -mf -ya" repair with recovery records
You can write custom commands.
To-do list: - new icon, - more settings - replace drop-down list - file associations - adapt for newest rsc32 version, - "-mu" switch and others
|
|
|
« Last Edit: 2011 Jun 22, 01:57:56 pm by Dam1an »
|
Logged
|
|
|
|
persicum
Moderator
Serious Business
   
Karma: +2/-1
Offline
Posts: 122
|
 |
« Reply #1 on: 2011 Jun 22, 09:49:35 pm » |
|
Thanx for GUI to RSC32! That's a miracle that GUI is possible without any efforts from me such as windows messages and so on... Maybe it would be helpful to common users who afraids command line.
>should work with current version but I didn't test it
It works fine with current 2.87 but this version has some new good features 1) BaseNames are supported. It means:
BaseName.FHash.RSC32 BaseName.s00_00..... BaseName.s01_00.....
2) Two different temporary folders are supported while repairing. But if second is not specified than only first folder is used.
The other thing I would ask you please take care about pathes. The recovery is now placed out of choosen folder rather than inside of choosen folder. It is also nessecary to specify a path to recovery files, to repaired files and so on. But choosen folder probably should not be saved in FHash.RSC32 as now. And so on... Please take care about pathes thoroughly.
|
|
|
|
|
Logged
|
|
|
|
persicum
Moderator
Serious Business
   
Karma: +2/-1
Offline
Posts: 122
|
 |
« Reply #2 on: 2011 Jun 22, 10:49:41 pm » |
|
BTW, please display EXIT_CODE and its meaning! I just deleted a file and run "-rt", but RSC32GUI said "SUCCESSFULL"
Please also add comments or tags for switches, so -rt should be sound like "Check File Hashes" or similar =)))
two more BUGS: 1) when recovery is not required -rrr hangs. 2) -wrk doesn't work with local ANSI because it changes some letters to another codepage/symbol while others remain untouched.
ALL BUGS are RSC32GUI specific, RSC32 has no these bugs by itself
|
|
|
|
« Last Edit: 2011 Jun 22, 11:08:54 pm by persicum »
|
Logged
|
|
|
|
persicum
Moderator
Serious Business
   
Karma: +2/-1
Offline
Posts: 122
|
 |
« Reply #3 on: 2011 Jun 23, 12:24:55 am » |
|
-wrk doesn't work with local ANSI because it changes some letters to another codepage/symbol while others remain untouched. JOB Started with command -rrr -mf -ya -cwh120-25 -wrk"C:\Documents and Settings\Влад\Рабочий стол\RSC32GUI\964387884" -lo"%userprofile%\RSC32GUI\964387884" 1>>"%userprofile%\RSC32GUI\964387884\stdout" 2>>"%userprofile%\RSC32GUI\964387884\stderr"
------------------------------------------------------------------------------------------------------------------------
Recovery Report Generated by RSC32.EXE v2.87:
Error! Cannot write to C:\Documents and Settings\Tлад\іабочий стол\RSC32GUI\964387884\RSC32_00C2731D.SWP
|
|
|
|
|
Logged
|
|
|
|
persicum
Moderator
Serious Business
   
Karma: +2/-1
Offline
Posts: 122
|
 |
« Reply #4 on: 2011 Jun 23, 01:44:59 am » |
|
yet another bug: -rrr hangs on 98%
This is because "Total corrupted:0" is not now displayed if equal to zero.
|
|
|
|
|
Logged
|
|
|
|
persicum
Moderator
Serious Business
   
Karma: +2/-1
Offline
Posts: 122
|
 |
« Reply #5 on: 2011 Jun 23, 02:05:30 am » |
|
One more wish: RSC32 has now its own time stamps so if you want you may remove your stamps such as "Elaps:Total:" from the log. But if you need them you may leave them of course.
|
|
|
|
|
Logged
|
|
|
|
Dam1an
Planner
Karma: +0/-0
Offline
Posts: 14
GMT+1
|
 |
« Reply #6 on: 2011 Jun 23, 04:35:20 am » |
|
I know about the most issues you mentioned (the ansi thing, hanging on 98%, etc) The build is from 4 January 2011 BTW, please display EXIT_CODE and its meaning! I just deleted a file and run "-rt", but RSC32GUI said "SUCCESSFULL" It always show successful if "stderr is empty", because this is debug info. This is why I wrote this: Checking: 1) Run RSC32Gui. 2) click "choose folder" 3) choose second (or fourth) option, hit start 4) go to "log" tab for details of course I'll change that in the future. Please also add comments or tags for switches, so -rt should be sound like "Check File Hashes" or similar =))) I wrote: - replace drop-down list So there will be buttons :D
|
|
|
|
« Last Edit: 2011 Jun 23, 05:09:57 am by Dam1an »
|
Logged
|
|
|
|
persicum
Moderator
Serious Business
   
Karma: +2/-1
Offline
Posts: 122
|
 |
« Reply #7 on: 2011 Jun 23, 05:42:18 am » |
|
OK. Well done. It seems you have finished 95% of total work. So it would be nice when you complete. Fortunately or unfortunately, RSC32 has absolutely no competitors now to protect 10G with 10000 or 100000 blocks fast enough, so people would be compelled to use both yours and mine =)))
|
|
|
|
|
Logged
|
|
|
|
Dam1an
Planner
Karma: +0/-0
Offline
Posts: 14
GMT+1
|
 |
« Reply #8 on: 2011 Jun 23, 05:56:14 am » |
|
I'm not sure about those 95% but I am hopeful ;-) This is because we don't have UML use case diagrams.
Now, this is trial and error method.
|
|
|
|
|
Logged
|
|
|
|
Dam1an
Planner
Karma: +0/-0
Offline
Posts: 14
GMT+1
|
 |
« Reply #9 on: 2011 Jun 24, 02:14:20 am » |
|
RSC32Gui Revision 18
Fixed: - "when recovery is not required -rrr hangs." and "-rrr hangs on 98%" - "Elaps:Total:" removed - and few others, not mentioned in this thread. (fixed stdout and log parser)
|
|
|
|
Logged
|
|
|
|
Dam1an
Planner
Karma: +0/-0
Offline
Posts: 14
GMT+1
|
 |
« Reply #10 on: 2011 Jun 24, 03:26:56 am » |
|
RSC32Gui Revision 22 Fixed: - "-wrk doesn't work with local ANSI" (Settings tab), now it should work, tested with ęóąśłżźćń - Log. Separated main switches and additional ones. for example: JOB Started with switches -wrr65000-5% -sn5 -hr5 -ya
additional switches -cwh120-25 -wrk"%rsc32gui_wrk%" -lo"%userprofile%\RSC32GUI\996032226" 1>>"%userprofile%\RSC32GUI\996032226\stdout" 2>>"%userprofile%\RSC32GUI\996032226\stderr" - added those: "Status: Success" - for -wt, -rt, -wrr, -crr, -rrr "Status: Success, Repairing is not required" - for -rrr "Status: Success, Recovery is possible" - for -crr "Status: Fail, Recovery is not possible" - for -crr and -rrr "Status: Fail, different HASH" - for -rt Download:see attachment
|
|
|
« Last Edit: 2011 Jun 24, 04:02:45 am by Dam1an »
|
Logged
|
|
|
|
persicum
Moderator
Serious Business
   
Karma: +2/-1
Offline
Posts: 122
|
 |
« Reply #11 on: 2011 Jun 24, 10:06:45 am » |
|
now it should work, tested with ęóąśłżźćń It seems really work, but please check for CAPITAL of these diacretic... "Elaps:Total:" removed Please add empty line before the very last "Total:" or remove it? Status: Fail, different HASH" - for -rt Please change to "Status: Bad, files are corrupted" BuG: "finding undamaged volumes" display for a while when -wrr
|
|
|
|
« Last Edit: 2011 Jun 24, 10:30:43 am by persicum »
|
Logged
|
|
|
|
Dam1an
Planner
Karma: +0/-0
Offline
Posts: 14
GMT+1
|
 |
« Reply #12 on: 2011 Jun 24, 11:01:26 am » |
|
It seems really work, but please check for CAPITAL of these diacretic... Works for me, tested with folder name "ĘÓĄŚ ŁŻŹĆŃ" and "ŚŁŻĆŃĘÓĄŹ". Please add empty line before the very last "Total:" or remove it? And the reason is? "finding undamaged volumes" display for a while when -wrr Fixed Please change to "Status: Bad, files are corrupted" Both are bad, I think. Maybe "Status: Fail, Hash check NOT passed" BTW: Next revision will be "Multi instance" compatible. I'm planning to make "wait until other jobs active" option. 
|
|
|
|
Logged
|
|
|
|
Dam1an
Planner
Karma: +0/-0
Offline
Posts: 14
GMT+1
|
 |
« Reply #13 on: 2011 Jun 24, 02:47:25 pm » |
|
Revision 28 - exception System.InvalidOperationException handled - prevent showing "finding undamaged volumes" while -wrr
|
|
|
|
Logged
|
|
|
|
persicum
Moderator
Serious Business
   
Karma: +2/-1
Offline
Posts: 122
|
 |
« Reply #14 on: 2011 Jun 24, 10:10:07 pm » |
|
Maybe "Status: Fail, Hash check NOT passed"
OK I'm planning to make "wait until other jobs active" option. Is it a queue?
|
|
|
|
|
Logged
|
|
|
|
persicum
Moderator
Serious Business
   
Karma: +2/-1
Offline
Posts: 122
|
 |
« Reply #15 on: 2011 Jun 24, 10:18:52 pm » |
|
What about "PAUSE" button between "START" and "BREAK"?
One more wish: What about reseting total progress bar as well as current progress bar to 0% when finished?
|
|
|
|
|
Logged
|
|
|
|
persicum
Moderator
Serious Business
   
Karma: +2/-1
Offline
Posts: 122
|
 |
« Reply #16 on: 2011 Jun 25, 01:41:35 am » |
|
And the reason is? And what the reason of TWO empty lines before "THE END"? =))) What about combining "Total:" and "THE END" into just one message and only ONE empty line before the combined line? Such as "\n Totally completed in XXXs" or what you prefer.
|
|
|
|
|
Logged
|
|
|
|
Dam1an
Planner
Karma: +0/-0
Offline
Posts: 14
GMT+1
|
 |
« Reply #17 on: 2011 Jun 25, 04:38:58 am » |
|
Oh, I got it. It's for aesthetics reasons. What about something like this: Totally completed in 123.5 s ################################################## #### J O B F I N I S H E D #### ################################################## Pause button. It's really that important? I can try. I'm planning to make "wait until other jobs active" option. Is it a queue? Yes. It will recognize other RSC32Gui instances and running jobs. Option will be called something like this (user can change the quantity of running jobs, default will be 1): Multi-Instance control: Suspend new job until 2 other job(s) or more are still running/active. (Or "Maximum running/active jobs: 2") If someone launch four RSC32Gui instances. Chose folder....., and click START button - on each of them. It will be something like this: After one minute: 1) RSC32GUI 3% 323 seconds remain... 2) RSC32GUI 2% 950 seconds remain... 3) RSC32GUI Status: WAITING 4) RSC32GUI Status: WAITING After few minutes: 1) RSC32GUI Status: Success 2) RSC32GUI 45% 550 seconds remain... 3) RSC32GUI 7% 250 seconds remain... 4) RSC32GUI Status: WAITING After dozen of minutes: 1) RSC32GUI Status: Success 2) RSC32GUI 90% 150 seconds remain... 3) RSC32GUI Status: Success, Repairing is not required 4) RSC32GUI 3% 523 seconds remain...
|
|
|
|
« Last Edit: 2011 Jun 25, 04:49:32 am by Dam1an »
|
Logged
|
|
|
|
persicum
Moderator
Serious Business
   
Karma: +2/-1
Offline
Posts: 122
|
 |
« Reply #18 on: 2011 Jun 25, 06:20:22 am » |
|
OK
|
|
|
|
|
Logged
|
|
|
|
Dam1an
Planner
Karma: +0/-0
Offline
Posts: 14
GMT+1
|
 |
« Reply #19 on: 2011 Jun 25, 06:47:00 am » |
|
I will use monospaced font inside Log tab, for better look.
|
|
|
|
|
Logged
|
|
|
|
persicum
Moderator
Serious Business
   
Karma: +2/-1
Offline
Posts: 122
|
 |
« Reply #20 on: 2011 Jun 25, 09:10:59 pm » |
|
When you implement paths please implement -sa switch. This looks for blocks additionaly in the path given by -sa[Path]. But be careful! -wr2"" and -sa"" with empty paths is not the same thing as absence of -wr2 and -sa
|
|
|
|
|
Logged
|
|
|
|
Dam1an
Planner
Karma: +0/-0
Offline
Posts: 14
GMT+1
|
 |
« Reply #21 on: 2011 Jun 26, 04:01:46 am » |
|
-wr2"" and -sa"" with empty paths is not the same thing as absence of -wr2 and -sa Could you provide more detail? Example? What's the purpose of "-poPath" switch in "----- Reed-Solomon Group -----"? I'm asking because we already have "-wrrNN-MMM-Path", "-crrPath" and "-rrrPath" Revision 31 (from yesterday)Added: "-wr2" - Option in the settings tab (Second working directory for swap files). Available options: "The same as first" (= "-wr2" absence) and custom path - Modified ending marker: "Totally completed in: "+ gettotal + "s\r\n" ################################################## #### J O B F I N I S H E D #### ##################################################
|
|
|
« Last Edit: 2011 Jun 26, 04:26:19 am by Dam1an »
|
Logged
|
|
|
|
persicum
Moderator
Serious Business
   
Karma: +2/-1
Offline
Posts: 122
|
 |
« Reply #22 on: 2011 Jun 26, 10:25:57 am » |
|
Could you provide more detail? Example? 1) absence of -wr2. That means no special second path for swapping. Only first path given as -wrk is used. 2) -wr2 or -wr2"". That means use current path as second path. May differ from first path. 3) -wr2e:\temp. That means use e:\temp as second path. May differ from first path. -wr2 is useful not only for three physical HDD, but also for two physical HDD. Good example: -wrkd:\temp -wr2c:\temp. This will swap from one physicall HDD to another all the time even without disk e: What's the purpose of "-poPath" switch path to repaired files. But always together with "RSC32_Repaired". Probably I will try to remove this some day but I really like it so i am not sure...
|
|
|
|
|
Logged
|
|
|
|
persicum
Moderator
Serious Business
   
Karma: +2/-1
Offline
Posts: 122
|
 |
« Reply #23 on: 2011 Jun 26, 11:10:52 am » |
|
Revision 31 (from yesterday) Added: "-wr2" - Option in the settings tab (Second working directory for swap files). Two temp paths work well, but a small bug: while first is inactive the second is still active (to change). Modified ending marker: Goog, but what about an empty line before "totally..." =))) for aestetical purpose =)))
|
|
|
|
|
Logged
|
|
|
|
Dam1an
Planner
Karma: +0/-0
Offline
Posts: 14
GMT+1
|
 |
« Reply #24 on: 2011 Jun 26, 02:54:28 pm » |
|
while first is inactive the second is still active You meant while job is active/running first option is grayed out but second second option isn't? Anyway, I fixed this. what about an empty line before ok, ok.
|
|
|
|
|
Logged
|
|
|
|
persicum
Moderator
Serious Business
   
Karma: +2/-1
Offline
Posts: 122
|
 |
« Reply #25 on: 2011 Jun 26, 10:38:51 pm » |
|
You meant while job is active/running first option is grayed out but second second option isn't? Anyway, I fixed this. Yeah working directory for swap files, etc Please change this to just "working directory for swap files", because RSC32 never uses any temporary data files or index files besides swap files
|
|
|
|
|
Logged
|
|
|
|
persicum
Moderator
Serious Business
   
Karma: +2/-1
Offline
Posts: 122
|
 |
« Reply #26 on: 2011 Jun 27, 08:41:58 am » |
|
Dam1anOne little problem. It is theoretically possible that a file to be damaged but all blocks are valid. So repairing is required but decoding is not required since all blocks are valid. The file just to be reassembled without swapping and decoding. Please take attention to treat this correctly. ------------------------------------------------------------------------------------------------------------------------
Recovery Report Generated by RSC32.EXE v2.87: Access Errors....: 0 Reading Errors...: 0 Size Errors......: 1 CRC Errors.......: 0
***** Info from RecoveryRecord ***** Encoding Method..............: RS32_DFT Number of Data Volumes.......: 62202 Number of Recovery Volumes...: 3110 Total Size...................: 771,304,800 Size of Volume...............: 12,400 Redundancy...................: 5%
Memory Required..............: 24,800 Number of Threads............: 2 SSE2 Support.................: Enabled MMX Support..................: Enabled Finding has been done successfully in 33s UserData Volumes Found.......: 62202 from 62202 (0 missing) Recovery Volumes Found.......: 0 from 3110 (0 extra) Recovery is POSSIBLE!
Decoding is not required
==================== test\test.avi Repaired
Repairing has been done successfully in 1m 14s Total Repaired: 1
Totally completed in: 74,6174528s ################################################## #### J O B F I N I S H E D #### ##################################################
|
|
|
|
|
Logged
|
|
|
|
Dam1an
Planner
Karma: +0/-0
Offline
Posts: 14
GMT+1
|
 |
« Reply #27 on: 2011 Jun 27, 10:01:21 am » |
|
So if I had file (DATA.DAT file) and I want achieve 'Size Error' and 'UserData Volumes missing: 0' I must do this: 1) create table and recovery volumes 2) append dummy data to DATA.DAT file ( copy /b "DATA.DAT" +"1MB_dummy.DAT" "DATAcorrupted.DAT" del "DATA.DAT" ren "DATAcorrupted.DAT" "DATA.DAT" ) 3) rsc32 -rrr
Is that correct?
|
|
|
|
|
Logged
|
|
|
|
Dam1an
Planner
Karma: +0/-0
Offline
Posts: 14
GMT+1
|
 |
« Reply #28 on: 2011 Jun 27, 11:07:05 am » |
|
Revision 32 "Decoding is not required" handled.
|
|
|
|
Logged
|
|
|
|
persicum
Moderator
Serious Business
   
Karma: +2/-1
Offline
Posts: 122
|
 |
« Reply #29 on: 2011 Jun 27, 11:37:21 am » |
|
Is that correct? Unfortunately, this is not correct because partial block cannot be found =(((. This will kill the very last block. Try following: copy /b "1MB_dummy.DAT"+"DATA.DAT" "DATAcorrupted.DAT"
|
|
|
|
|
Logged
|
|
|
|
Dam1an
Planner
Karma: +0/-0
Offline
Posts: 14
GMT+1
|
 |
« Reply #30 on: 2011 Jun 27, 11:43:08 am » |
|
Well, it didn't kill last block. I got "Decoding is not required".
|
|
|
|
|
Logged
|
|
|
|
persicum
Moderator
Serious Business
   
Karma: +2/-1
Offline
Posts: 122
|
 |
« Reply #31 on: 2011 Jun 27, 11:57:11 am » |
|
Revision 32 "Decoding is not required" handled. Thank you, it really works. But TotalProgressBar is not very accurate... Doesn't matter? I know it is difficult to predict the TotalProgressBar
|
|
|
|
|
Logged
|
|
|
|
|