Print this page
%B

*** 22,31 **** --- 22,32 ---- * Use is subject to license terms. */ /* * Copyright (c) 2012 by Delphix. All rights reserved. + * Copyright (c) 2013 by Saso Kiselkov. All rights reserved. */ /* * The zfs plug-in routines for GRUB are: *
*** 72,82 **** { {"inherit", 0}, /* ZIO_COMPRESS_INHERIT */ {"on", lzjb_decompress}, /* ZIO_COMPRESS_ON */ {"off", 0}, /* ZIO_COMPRESS_OFF */ {"lzjb", lzjb_decompress}, /* ZIO_COMPRESS_LZJB */ ! {"empty", 0} /* ZIO_COMPRESS_EMPTY */ }; static int zio_read_data(blkptr_t *bp, void *buf, char *stack); /* --- 73,94 ---- { {"inherit", 0}, /* ZIO_COMPRESS_INHERIT */ {"on", lzjb_decompress}, /* ZIO_COMPRESS_ON */ {"off", 0}, /* ZIO_COMPRESS_OFF */ {"lzjb", lzjb_decompress}, /* ZIO_COMPRESS_LZJB */ ! {"empty", 0}, /* ZIO_COMPRESS_EMPTY */ ! {"gzip-1", 0}, /* ZIO_COMPRESS_GZIP_1 */ ! {"gzip-2", 0}, /* ZIO_COMPRESS_GZIP_2 */ ! {"gzip-3", 0}, /* ZIO_COMPRESS_GZIP_3 */ ! {"gzip-4", 0}, /* ZIO_COMPRESS_GZIP_4 */ ! {"gzip-5", 0}, /* ZIO_COMPRESS_GZIP_5 */ ! {"gzip-6", 0}, /* ZIO_COMPRESS_GZIP_6 */ ! {"gzip-7", 0}, /* ZIO_COMPRESS_GZIP_7 */ ! {"gzip-8", 0}, /* ZIO_COMPRESS_GZIP_8 */ ! {"gzip-9", 0}, /* ZIO_COMPRESS_GZIP_9 */ ! {"zle", 0}, /* ZIO_COMPRESS_ZLE */ ! {"lz4", lz4_decompress} /* ZIO_COMPRESS_LZ4 */ }; static int zio_read_data(blkptr_t *bp, void *buf, char *stack); /*
*** 410,421 **** if (zio_checksum_verify(bp, buf, psize) != 0) { grub_printf("checksum verification failed\n"); return (ERR_FSYS_CORRUPT); } ! if (comp != ZIO_COMPRESS_OFF) ! decomp_table[comp].decomp_func(buf, retbuf, psize, lsize); return (0); } /* --- 422,438 ---- if (zio_checksum_verify(bp, buf, psize) != 0) { grub_printf("checksum verification failed\n"); return (ERR_FSYS_CORRUPT); } ! if (comp != ZIO_COMPRESS_OFF) { ! if (decomp_table[comp].decomp_func(buf, retbuf, psize, ! lsize) != 0) { ! grub_printf("zio_read decompression failed\n"); ! return (ERR_FSYS_CORRUPT); ! } ! } return (0); } /*
*** 943,952 **** --- 960,970 ---- * List of pool features that the grub implementation of ZFS supports for * read. Note that features that are only required for write do not need * to be listed here since grub opens pools in read-only mode. */ static const char *spa_feature_names[] = { + "org.illumos:lz4_compress", NULL }; /* * Checks whether the MOS features that are active are supported by this