Changes to version 4.0. Too many changes for a point release.

This commit is contained in:
Andrea Mazzoleni 2013-06-25 22:49:59 +02:00
parent fef9ea7ccd
commit 277fc57216
4 changed files with 36 additions and 32 deletions

View file

@ -1,7 +1,7 @@
SnapRAID HISTORY
================
3.2 2013/6
4.0 2013/6
==========
* Better selection of the RAID6 implementation for different CPUs.
* Added the new Spooky hash. It's faster in 64 bit architectures.

View file

@ -37,12 +37,14 @@ noinst_HEADERS = \
spooky2.c \
spooky2test.c \
tommyarray.h \
tommyarrayof.h \
tommychain.h \
tommyhash.h \
tommyhashdyn.h \
tommylist.h \
tommytypes.h \
tommyarray.c \
tommyarrayof.c \
tommyhash.c \
tommyhashdyn.c \
tommylist.c \

62
TODO
View file

@ -3,27 +3,27 @@ SnapRAID TODO
This is the list of TODO items for SnapRAID.
- v3.2
- v4.0
* Allow to specify the shared path to use to access remote symlink.
* In the content file, for each position in the parity store the last time
the hash/parity was checked for all the blocks with sync.
We can share the same time info for all the blocks at a given position.
It will allow to define a new "scrub" command, checking only aged blocks
and skipping recently synched ones.
The "scrub" command won't change data in the disks, but it will update the content
file.
The check command should be maintaned independent, and not saving the content file.
The format could be:
tim BLOCK TIME
tir FROM_BLOCK TO_BLOCK TIME
For missing block, we can use 0 as initialization value. TIME is the UNIX time.
- v4.x
* In the import list, uses also all the blocks in the array.
But we must cover the case of bad blocks. Likely we can just check the
hash after reading, and in case, skip it, and retry with another copy.
* Add a new "commit" command to move changes from the pool to the array.
It should:
- Move files copied into the pool (that are no links) to the array.
The files should be moved to the disk that contains most of the files
in the directory. If no space, try with the disk with less files
in the directory, and eventually the disk in the array with more free space.
- Detect renames, and apply them in the array.
The file will be renamed and moved to the new directory, if changed,
but kept in the same disk of the array.
- Detect deletes, and move file in the array to a "/trash/" directory
of the same disk. For safety no real deletion is done.
File with the same name will get an extra extension like ".1", ".2".
* If a content file is missing, sync should rewrite it, even if no change was done at the content.
* A new 'init' command to differentiate the first 'sync' operation.
@ -48,21 +48,6 @@ Different partitions have duplicate inode. The only way to support this is to
add also a kind of device_id, increasing the memory required.
But it should be only few bits for each file. So, it should be manageable.
- v4.x
* In the content file, for each position in the parity store the last time
the hash/parity was checked for all the blocks with sync.
We can share the same time info for all the blocks at a given position.
It will allow to define a new "scrub" command, checking only aged blocks
and skipping recently synched ones.
The "scrub" command won't change data in the disks, but it will update the content
file.
The check command should be maintaned independent, and not saving the content file.
The format could be:
tim BLOCK TIME
tir FROM_BLOCK TO_BLOCK TIME
For missing block, we can use 0 as initialization value. TIME is the UNIX time.
* Save the content file in compressed .gz format to save space.
* Rename sync->backup and fix->restore. It seems to me a naming expressing
@ -87,6 +72,23 @@ We can always open files in read-only mode, if a write is required, we close it,
rename it to with a .bak extension, and rewrite it up to the required size.
The same for symlink if a file with the same name exist or viceversa.
- v4.x pooling
* Allow to specify the shared path to use to access remote symlink.
* Add a new "commit" command to move changes from the pool to the array.
It should:
- Move files copied into the pool (that are no links) to the array.
The files should be moved to the disk that contains most of the files
in the directory. If no space, try with the disk with less files
in the directory, and eventually the disk in the array with more free space.
- Detect renames, and apply them in the array.
The file will be renamed and moved to the new directory, if changed,
but kept in the same disk of the array.
- Detect deletes, and move file in the array to a "/trash/" directory
of the same disk. For safety no real deletion is done.
File with the same name will get an extra extension like ".1", ".2".
- v5.x
* Triple parity also called RAID-TP. We can implement it in a compatible way

View file

@ -1,6 +1,6 @@
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ([2.65])
AC_INIT([snapraid], [3.2], [], [], [http://snapraid.sourceforge.net])
AC_INIT([snapraid], [4.0], [], [], [http://snapraid.sourceforge.net])
AM_INIT_AUTOMAKE([foreign no-dependencies -Wall])
AC_CONFIG_SRCDIR([snapraid.c])
AC_CONFIG_HEADER([config.h])