From owner-svn-src-all@freebsd.org Fri Oct 14 12:59:52 2016 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 536A1C115AE; Fri, 14 Oct 2016 12:59:52 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from vps1.elischer.org (vps1.elischer.org [204.109.63.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "vps1.elischer.org", Issuer "CA Cert Signing Authority" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id EF729EEE; Fri, 14 Oct 2016 12:59:51 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from julian-mbp3.pixel8networks.com (50-196-156-133-static.hfc.comcastbusiness.net [50.196.156.133]) (authenticated bits=0) by vps1.elischer.org (8.15.2/8.15.2) with ESMTPSA id u9ECxnVd096664 (version=TLSv1.2 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Fri, 14 Oct 2016 05:59:50 -0700 (PDT) (envelope-from julian@freebsd.org) Subject: Re: svn commit: r307317 - in head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs: . sys To: Alexander Motin , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201610141201.u9EC1X2O073182@repo.freebsd.org> From: Julian Elischer Message-ID: Date: Fri, 14 Oct 2016 05:59:44 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: <201610141201.u9EC1X2O073182@repo.freebsd.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Oct 2016 12:59:52 -0000 On 14/10/2016 5:01 AM, Alexander Motin wrote: > Author: mav > Date: Fri Oct 14 12:01:33 2016 > New Revision: 307317 > URL: https://svnweb.freebsd.org/changeset/base/307317 > > Log: > MFV r307313: > 5120 zfs should allow large block/gzip/raidz boot pool (loader project) > > Reviewed by: George Wilson > Reviewed by: Yuri Pankov > Reviewed by: Andrew Stormont > Reviewed by: Matthew Ahrens > Approved by: Robert Mustacchi > Author: Toomas Soome > > openzfs/openzfs@c8811bd3e2427dddbac6c05a59cfe117d8fea370 > > FreeBSD still does not support booting from gzip-compressed datasets, > so keep one chunk of this commit out. might it not have been a bit better to have just put #if 0 around the bits so that we could still see them? also may help with future merges > > Modified: > head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c > head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h > head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c > head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c > Directory Properties: > head/sys/cddl/contrib/opensolaris/ (props changed) > > Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c > ============================================================================== > --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c Fri Oct 14 11:57:08 2016 (r307316) > +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c Fri Oct 14 12:01:33 2016 (r307317) > @@ -27,6 +27,7 @@ > * Copyright (c) 2014 Spectra Logic Corporation, All rights reserved. > * Copyright 2013 Saso Kiselkov. All rights reserved. > * Copyright (c) 2014 Integros [integros.com] > + * Copyright 2016 Toomas Soome > */ > > /* > @@ -539,12 +540,6 @@ spa_prop_validate(spa_t *spa, nvlist_t * > &propval)) == 0 && > !BOOTFS_COMPRESS_VALID(propval)) { > error = SET_ERROR(ENOTSUP); > - } else if ((error = > - dsl_prop_get_int_ds(dmu_objset_ds(os), > - zfs_prop_to_name(ZFS_PROP_RECORDSIZE), > - &propval)) == 0 && > - propval > SPA_OLD_MAXBLOCKSIZE) { > - error = SET_ERROR(ENOTSUP); > } else { > objnum = dmu_objset_id(os); > } > > Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h > ============================================================================== > --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h Fri Oct 14 11:57:08 2016 (r307316) > +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h Fri Oct 14 12:01:33 2016 (r307317) > @@ -24,6 +24,7 @@ > * Copyright 2011 Nexenta Systems, Inc. All rights reserved. > * Copyright (c) 2012, 2016 by Delphix. All rights reserved. > * Copyright (c) 2013 by Saso Kiselkov. All rights reserved. > + * Copyright 2016 Toomas Soome > */ > > #ifndef _ZIO_H > > Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c > ============================================================================== > --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c Fri Oct 14 11:57:08 2016 (r307316) > +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c Fri Oct 14 12:01:33 2016 (r307317) > @@ -25,6 +25,7 @@ > * Copyright 2015 Nexenta Systems, Inc. All rights reserved. > * Copyright 2013 Martin Matuska . All rights reserved. > * Copyright (c) 2014 Integros [integros.com] > + * Copyright 2016 Toomas Soome > */ > > #include > @@ -3474,16 +3475,10 @@ vdev_set_state(vdev_t *vd, boolean_t iso > > /* > * Check the vdev configuration to ensure that it's capable of supporting > - * a root pool. > + * a root pool. We do not support partial configuration. > + * In addition, only a single top-level vdev is allowed. > * > - * On Solaris, we do not support RAID-Z or partial configuration. In > - * addition, only a single top-level vdev is allowed and none of the > - * leaves can be wholedisks. > - * > - * For FreeBSD, we can boot from any configuration. There is a > - * limitation that the boot filesystem must be either uncompressed or > - * compresses with lzjb compression but I'm not sure how to enforce > - * that here. > + * FreeBSD does not have above limitations. > */ > boolean_t > vdev_is_bootable(vdev_t *vd) > @@ -3495,8 +3490,7 @@ vdev_is_bootable(vdev_t *vd) > if (strcmp(vdev_type, VDEV_TYPE_ROOT) == 0 && > vd->vdev_children > 1) { > return (B_FALSE); > - } else if (strcmp(vdev_type, VDEV_TYPE_RAIDZ) == 0 || > - strcmp(vdev_type, VDEV_TYPE_MISSING) == 0) { > + } else if (strcmp(vdev_type, VDEV_TYPE_MISSING) == 0) { > return (B_FALSE); > } > } > > Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c > ============================================================================== > --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Fri Oct 14 11:57:08 2016 (r307316) > +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Fri Oct 14 12:01:33 2016 (r307317) > @@ -31,6 +31,7 @@ > * Copyright (c) 2013 by Saso Kiselkov. All rights reserved. > * Copyright (c) 2013 Steven Hartland. All rights reserved. > * Copyright (c) 2014 Integros [integros.com] > + * Copyright 2016 Toomas Soome > */ > > /* > @@ -3945,16 +3946,6 @@ zfs_check_settable(const char *dsname, n > spa_t *spa; > > /* > - * If this is a bootable dataset then > - * the we don't allow large (>128K) blocks, > - * because GRUB doesn't support them. > - */ > - if (zfs_is_bootfs(dsname) && > - intval > SPA_OLD_MAXBLOCKSIZE) { > - return (SET_ERROR(ERANGE)); > - } > - > - /* > * We don't allow setting the property above 1MB, > * unless the tunable has been changed. > */ > >