Since my current code is already pretty stable, I am now releasing the patches
that I had to apply to the original sources (relevant to OpenSolaris).
The current "linux.patch" file weights at about 63KB, this would
reduce it to
roughly 50% its size (the rest is mostly just commenting code for
unimplemented features or some minor Linux-specific changes).
So, here are the patches:
-----------------------------------------------------------------------
http://www.wizy.org/files/zfs-patches/01-printf-casts.patch
gcc warns about printf() argument type mismatches. I had 2 choices - either
use a -W.. flag to disable warnings or typecast the arguments. I opted for
typecasting the arguments. I think its safer since I can''t guarantee
that
there aren''t size mismatches between some Linux and Solaris types (what
would
happen if there was a "%llu" format string and it was provided a
32-bit
variable?).
-----------------------------------------------------------------------
http://www.wizy.org/files/zfs-patches/02-no-trigraph.patch
Remove 1 trigraph. Standard C99 has trigraphs and AFAIK there''s no way
to
disable it in gcc when the -std=c99 flag is given. -Wno-trigraphs only
disables the warning, if I''m not mistaken.
-----------------------------------------------------------------------
http://www.wizy.org/files/zfs-patches/03-char-ambiguity.patch
gcc complained about signed/unsigned char ambiguity.
-----------------------------------------------------------------------
http://www.wizy.org/files/zfs-patches/04-unused-code.patch
Unused/dead code.
-----------------------------------------------------------------------
http://www.wizy.org/files/zfs-patches/05-boolean-argument.patch
Better pointer convertion (removes gcc warning/error).
-----------------------------------------------------------------------
http://www.wizy.org/files/zfs-patches/06-zpool-no-memory.patch
The no_memory() function in zpool was conflicting with the no_memory()
function in libzfs (currently I''m still statically compiling it).
-----------------------------------------------------------------------
http://www.wizy.org/files/zfs-patches/07-ztest-child.patch
POSIX waitpid() doesn''t have the WEXITED flag.
-----------------------------------------------------------------------
http://www.wizy.org/files/zfs-patches/08-int-pointers.patch
Integer/pointer NULL mismatches...
-----------------------------------------------------------------------
http://www.wizy.org/files/zfs-patches/09-missing-enums.patch
You should have a good look at this one. I think this gcc warning is very
helpful, so if some enums aren''t really necessary, please add the
"default:
break" case.
-----------------------------------------------------------------------
http://www.wizy.org/files/zfs-patches/10-macro-expansion.patch
The first hunk was giving a warning in gcc. The second one was giving an
error.
-----------------------------------------------------------------------
http://www.wizy.org/files/zfs-patches/11-arc-userland-bug.patch
This solves bug #6453172.
-----------------------------------------------------------------------
http://www.wizy.org/files/zfs-patches/12-catch-timer-overflow.patch
An assert that was helpful in debugging timer overflows.
-----------------------------------------------------------------------
http://www.wizy.org/files/zfs-patches/13-check-error.patch
Checks for errors in mutexes/condvars.
-----------------------------------------------------------------------
http://www.wizy.org/files/zfs-patches/14-brace-syntax.patch
Use the correct C99 syntax for nested structs.
That''s it :)