diff --git a/snapraid.1 b/snapraid.1 index 7a1bf64e..4e9f21bc 100644 --- a/snapraid.1 +++ b/snapraid.1 @@ -768,8 +768,27 @@ Then proceed with the following steps. You need some space to recover, even better if you already have an additional disk, but in case, also an external USB or remote one is enough. .PP -Change the SnapRAID configuration and change the \(a"disk\(a" directory -of the failed disk to point to the new empty space. +Change the SnapRAID configuration file and make the \(a"disk\(a" option +of the failed disk to point to a place where you have enough empty space +to recover the files. +.PP +For example, if you have that disk \(a"d1\(a" failed, you can change: +.PP +.RS 4 +disk d1 /mnt/disk1/ +.PD 0 +.PP +.PD +.RE +.PP +to: +.PP +.RS 4 +disk d1 /mnt/new_spare_disk/ +.PD 0 +.PP +.PD +.RE .SS STEP 2 \(hy> Fix Run the fix command, storing the log in an external file with: .PP @@ -782,8 +801,8 @@ snapraid fix 2>fix.log .PP This command will take a long time. .PP -Take care that you need also few gigabytes free to store the fix.log file, so run it -from a disk with some free space. +Take care that you need also few gigabytes free to store the fix.log file. +Run it from a disk with some free space. .PP Now you have recovered all the recoverable. If some file is partially or totally unrecoverable, it will be renamed adding the \(a".unrecoverable\(a" extension. diff --git a/snapraid.d b/snapraid.d index 37f2988f..252375e1 100644 --- a/snapraid.d +++ b/snapraid.d @@ -526,8 +526,17 @@ Recovering You need some space to recover, even better if you already have an additional disk, but in case, also an external USB or remote one is enough. - Change the SnapRAID configuration and change the "disk" directory - of the failed disk to point to the new empty space. + Change the SnapRAID configuration file and make the "disk" option + of the failed disk to point to a place where you have enough empty space + to recover the files. + + For example, if you have that disk "d1" failed, you can change: + + :disk d1 /mnt/disk1/ + + to: + + :disk d1 /mnt/new_spare_disk/ STEP 2 -> Fix Run the fix command, storing the log in an external file with: @@ -536,8 +545,8 @@ Recovering This command will take a long time. - Take care that you need also few gigabytes free to store the fix.log file, so run it - from a disk with some free space. + Take care that you need also few gigabytes free to store the fix.log file. + Run it from a disk with some free space. Now you have recovered all the recoverable. If some file is partially or totally unrecoverable, it will be renamed adding the ".unrecoverable" extension. diff --git a/snapraid.txt b/snapraid.txt index 91831202..38ddf108 100644 --- a/snapraid.txt +++ b/snapraid.txt @@ -580,8 +580,17 @@ Then proceed with the following steps. You need some space to recover, even better if you already have an additional disk, but in case, also an external USB or remote one is enough. -Change the SnapRAID configuration and change the "disk" directory -of the failed disk to point to the new empty space. +Change the SnapRAID configuration file and make the "disk" option +of the failed disk to point to a place where you have enough empty space +to recover the files. + +For example, if you have that disk "d1" failed, you can change: + + disk d1 /mnt/disk1/ + +to: + + disk d1 /mnt/new_spare_disk/ ---- 9.0.2 STEP 2 -> Fix ---- Run the fix command, storing the log in an external file with: @@ -590,8 +599,8 @@ Run the fix command, storing the log in an external file with: This command will take a long time. -Take care that you need also few gigabytes free to store the fix.log file, so run it -from a disk with some free space. +Take care that you need also few gigabytes free to store the fix.log file. +Run it from a disk with some free space. Now you have recovered all the recoverable. If some file is partially or totally unrecoverable, it will be renamed adding the ".unrecoverable" extension. diff --git a/util.c b/util.c index d2129140..bcb85fdd 100644 --- a/util.c +++ b/util.c @@ -255,6 +255,7 @@ int sgetline(STREAM* f, char* str, int size) /* if there is enough data in memory */ if (sptrlookup(f, size)) { + /* optimized version with all the data in memory */ unsigned char* pos = sptrget(f); while (1) {