Vladimir 'phcoder' Serbinenko
95f2e86095
Support second redundancy strip on raidz(2,3).
...
* grub-core/fs/zfs/zfs.c (powx): New array.
(powx_inv): Likewise.
(poly): New const.
(xor_out): New function.
(gf_mul): Likewise.
(recovery): Likewise.
(read_device): Use second redundancy strip.
2011-11-04 13:36:08 +01:00
Vladimir 'phcoder' Serbinenko
cf5ba824ea
* grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
2011-11-03 07:29:35 +01:00
Vladimir 'phcoder' Serbinenko
177440046d
* grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
...
drive failure on both raidz and raidz2.
2011-11-02 23:28:25 +01:00
Vladimir 'phcoder' Serbinenko
aca5aefc7c
Fix RAIDZ(2) for >= 5 devices.
...
* grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
asize argument. All users updated.
2011-11-02 20:48:04 +01:00
Vladimir 'phcoder' Serbinenko
ce8ca56ed9
Fix RAIDZ(2).
...
* grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
(fill_vdev_info_real): Set ashift.
(read_device): Rewrite RAIDZ part based on reverse engineering.
2011-11-01 20:05:28 +01:00
Vladimir 'phcoder' Serbinenko
f8d82408d9
* grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
...
(zfs_unmount): Fix memory leak.
2011-10-27 20:55:09 +02:00
Vladimir 'phcoder' Serbinenko
1869edb5bc
ZFS multi-device and version 33 support.
...
* Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
* grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
(grub_zfs_data): Add multidev-ice-related fields.
(zio_checksum_verify): Zero-pad printed values. Print checksum name.
(dva_get_offset): Make dva const.
(zfs_fetch_nvlist): New function.
(fill_vdev_info_real): Likewise.
(fill_vdev_info): Likewise.
(check_pool_label): Likewise.
(scan_disk): Likewise.
(scan_devices): Likewise.
(read_device): Likewise.
(read_dva): Likewise.
(zio_read_gang): Use read_dva.
(zio_read_data): Likewise.
(zap_leaf_lookup): Add missing endian conversion.
(zap_verify): Add missing endian conversion. All users updated.
(fzap_lookup): Likewise.
(fzap_iterate): Likewise.
(dnode_get_path): Handle SA bonus.
(nvlist_find_value): Make input const. All users updated.
(unmount_device): New function.
(zfs_unmount): Use unmount_device.
(zfs_mount): Use scan_disk.
(zfs_mtime): New function.
(grub_zfs_open): Handle system attributes.
(fill_fs_info): Likewise.
(grub_zfs_dir): Likewise.
(grub_zfs_fs): Add mtime.
* grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
* include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
(SA_MTIME_OFFSET): Likewise.
(SA_SYMLINK_OFFSET): Likewise.
* include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
* util/grub-fstest.c (CMD_ZFSINFO): New enum value.
(fstest): Support zfsinfo.
(argp_parser): Likewise.
2011-10-27 02:49:50 +02:00
Vladimir 'phcoder' Serbinenko
8563e2a670
Small multidevice fix
2011-10-27 02:36:10 +02:00
Vladimir 'phcoder' Serbinenko
34c5965451
Support version 33 including symlinks
2011-10-27 02:04:04 +02:00
Vladimir 'phcoder' Serbinenko
11e50e923a
merge mainline into zfs
2011-10-26 19:26:24 +02:00
Vladimir 'phcoder' Serbinenko
5587329c91
ZFS fixes.
...
* grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
sharing the same block. Iterate over correct number of indices.
(dnode_get_path): Handle symlinks correctly.
2011-10-26 17:32:21 +02:00
Vladimir 'phcoder' Serbinenko
5bbd28b8ce
Fix 2G limit on ZFS.
...
* grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
types.
(uberblock_verify): Likewise.
(dmu_read): Likewise.
(grub_zfs_read): Likewise. Remove invalid cast.
2011-10-24 21:33:35 +02:00
Vladimir 'phcoder' Serbinenko
290766fb77
ZFS zlib support
...
* grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
(decomp_table): Add zlib entries.
(zio_read): USe 8 bits for compression function rather than 3.
* include/grub/zfs/zio.h (zio_compress): Add zlib values.
2011-06-24 00:31:29 +02:00
Vladimir 'phcoder' Serbinenko
e745cf0ca6
Implement automatic module license checking according to new GNU
...
guidelines.
* grub-core/kern/dl.c (grub_dl_check_license): New function.
(grub_dl_load_core): Use grub_dl_check_license.
* include/grub/dl.h (GRUB_MOD_SECTION): New macro.
(GRUB_MOD_LICENSE): Likewise.
(GRUB_MOD_DUAL_LICENSE): Likewise.
All modules updated.
2011-04-11 23:01:51 +02:00
Vladimir 'phcoder' Serbinenko
7d4e39d65a
* grub-core/bus/usb/usb.c (attach_hooks): Make static.
...
* grub-core/bus/usb/usbhub.c (hubs): Likewise.
* grub-core/commands/hashsum.c (aliases): Likewise.
* grub-core/commands/setpci.c (pci_registers): Likewise.
* grub-core/disk/usbms.c (attach_hook): Likewise.
* grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
(zio_checksum_table): Likewise.
* grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
* grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
* grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
* grub-core/lib/relocator.c (leftovers): Likewise.
(extra_blocks): Likewise.
* grub-core/loader/i386/bsd.c (relocator): Likewise.
* grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
(modules_last): Likewise.
* grub-core/loader/i386/xnu.c (table_aliases): Likewise.
(devices): Likewise.
* grub-core/loader/multiboot_mbi2.c (modules): Likewise.
(modules_last): Likewise.
* grub-core/normal/auth.c (users): Likewise.
* grub-core/normal/context.c (initial_menu): Likewise.
(current_menu): Likewise.
* grub-core/normal/crypto.c (crypto_specs): Likewise.
* grub-core/term/serial.c (grub_serial_ports): Likewise.
(grub_serial_terminfo_input_template): Likewise.
(grub_serial_terminfo_output_template): Likewise.
(grub_serial_terminfo_input): Likewise.
(grub_serial_terminfo_output): Likewise.
(registered): Likewise.
* grub-core/term/usb_keyboard.c (attach_hook): Likewise.
2011-03-23 12:05:13 +01:00
Szymon Janc
57d75699d6
2011-03-07 Szymon Janc <szymon@janc.net.pl>
...
* grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
Set-but-not-used variable removed.
2011-03-07 22:23:06 +01:00
Vladimir 'phcoder' Serbinenko
e7121b6932
* grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
...
avoid aliasing.
(fzap_lookup): Likewise.
(dnode_get): Likewise.
(make_mdn): Likewise.
(zfs_mount): Likewise.
(fzap_iterate): Use temporary pointer to avoid aliasing.
(grub_zfs_read): Likewise.
* grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
* grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
pointers to avoid aliasing.
(grub_cmd_xnu_kernel64): Likewise.
(grub_xnu_load_driver): Likewise.
2011-01-08 01:56:09 +01:00
Vladimir 'phcoder' Serbinenko
ea0df4e953
ZFS mtime support
2010-12-11 15:01:33 +01:00
Vladimir 'phcoder' Serbinenko
eb03b55271
fix ZFS label handling in non-single disk configs
2010-12-11 14:56:02 +01:00
Vladimir 'phcoder' Serbinenko
bfff320cdf
Apparently functioning raidz. Still mostly a guesswork so may break
2010-12-07 11:45:37 +01:00
Vladimir 'phcoder' Serbinenko
39db1a3f75
First attempt on RAIDZ. Right now works only with right phase of the moon.
2010-12-06 23:46:01 +01:00
Vladimir 'phcoder' Serbinenko
c3b87afcd4
Recognize vdev file
2010-12-06 20:28:02 +01:00
Vladimir 'phcoder' Serbinenko
925d998e6f
Fix a warining
2010-12-06 07:03:58 +01:00
Vladimir 'phcoder' Serbinenko
8ff84951c5
ZFS mirror support
2010-12-06 02:31:22 +01:00
Vladimir 'phcoder' Serbinenko
fdfde32aa4
striped zpool support
2010-12-05 21:17:24 +01:00
Vladimir 'phcoder' Serbinenko
e5c63d9d41
Fix handling of nvlist array
2010-12-05 18:13:32 +01:00
Vladimir 'phcoder' Serbinenko
069142f4c2
Support long symlinks
2010-12-05 16:08:26 +01:00
Vladimir 'phcoder' Serbinenko
47c3603cc8
Add missing endianness conversions in fzap code
2010-12-05 15:41:17 +01:00
Vladimir 'phcoder' Serbinenko
fe79a8ad9d
Fix fzap handling
2010-12-05 15:35:08 +01:00
Vladimir 'phcoder' Serbinenko
c5cf9f53a8
Fix short symlinks
2010-12-04 01:59:06 +01:00
Vladimir 'phcoder' Serbinenko
7a6e93788c
ZFS zlib compression support
2010-12-04 00:40:44 +01:00
Robert Millan
54207d4b6c
Update GPL for ZFS code to version 3, move copyright lines for Vladimir and me to FSF (covered by our assignments)
2010-12-01 22:55:26 +01:00
Robert Millan
bf78d5b251
2010-12-01 Robert Millan <rmh@gnu.org>
...
* grub-core/fs/zfs/zfs.c: New file.
* grub-core/fs/zfs/zfs_fletcher.c: Likewise.
* grub-core/fs/zfs/zfs_lzjb.c: Likewise.
* grub-core/fs/zfs/zfs_sha256.c: Likewise.
* grub-core/fs/zfs/zfsinfo.c: Likewise.
* include/grub/zfs/dmu.h: Likewise.
* include/grub/zfs/dmu_objset.h: Likewise.
* include/grub/zfs/dnode.h: Likewise.
* include/grub/zfs/dsl_dataset.h: Likewise.
* include/grub/zfs/dsl_dir.h: Likewise.
* include/grub/zfs/sa_impl.h: Likewise.
* include/grub/zfs/spa.h: Likewise.
* include/grub/zfs/uberblock_impl.h: Likewise.
* include/grub/zfs/vdev_impl.h: Likewise.
* include/grub/zfs/zap_impl.h: Likewise.
* include/grub/zfs/zap_leaf.h: Likewise.
* include/grub/zfs/zfs.h: Likewise.
* include/grub/zfs/zfs_acl.h: Likewise.
* include/grub/zfs/zfs_znode.h: Likewise.
* include/grub/zfs/zil.h: Likewise.
* include/grub/zfs/zio.h: Likewise.
* include/grub/zfs/zio_checksum.h: Likewise.
* Makefile.util.def: Build ZFS into libgrubmods.
* grub-core/Makefile.core.def: Build zfs.mod.
2010-12-01 22:42:11 +01:00