From owner-freebsd-fs@FreeBSD.ORG Sat Sep 22 17:03:30 2012 Return-Path: Delivered-To: freebsd-fs@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E3E4F1065673 for ; Sat, 22 Sep 2012 17:03:30 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from citadel.icyb.net.ua (citadel.icyb.net.ua [212.40.38.140]) by mx1.freebsd.org (Postfix) with ESMTP id 205738FC08 for ; Sat, 22 Sep 2012 17:03:29 +0000 (UTC) Received: from porto.starpoint.kiev.ua (porto-e.starpoint.kiev.ua [212.40.38.100]) by citadel.icyb.net.ua (8.8.8p3/ICyb-2.3exp) with ESMTP id UAA07530 for ; Sat, 22 Sep 2012 20:03:28 +0300 (EEST) (envelope-from avg@FreeBSD.org) Received: from localhost ([127.0.0.1]) by porto.starpoint.kiev.ua with esmtp (Exim 4.34 (FreeBSD)) id 1TFT72-000NUP-7o for freebsd-fs@FreeBSD.ORG; Sat, 22 Sep 2012 20:03:28 +0300 Message-ID: <505DEF5F.8060401@FreeBSD.org> Date: Sat, 22 Sep 2012 20:03:27 +0300 From: Andriy Gapon User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:15.0) Gecko/20120913 Thunderbird/15.0.1 MIME-Version: 1.0 To: freebsd-fs@FreeBSD.org X-Enigmail-Version: 1.4.3 Content-Type: text/plain; charset=X-VIET-VPS Content-Transfer-Encoding: 7bit Cc: Subject: zfsboot and zfsloader: normalization of filesystem names X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Sep 2012 17:03:31 -0000 Currently zfsboot uses the following format to specify a ZFS filesystem name in a full file path: poolname:filesystem/name:/path/to/file ZFS loader uses this format: zfs:poolname/filesystemname:/path/to/file The following patchset: http://people.freebsd.org/~avg/zfs-boot-naming.diff unifies the naming. zfsboot format will be: poolname/filesystemname:/path/to/file Note that it is still different from zfsloader - "zfs:" prefix is missing. This is because unlike the loader zfsboot supports only ZFS filesystem, so the prefix is redundant. But I can still add support for it if there is a popular request. Also, current code treats lone pool name as a pool's boot data set name. That is, whatever is specified in bootfs property. If the property is unset, then the root dataset is the boot dataset. I want to change this to always mean the root dataset. boot dataset is selected by default anyways and its name is expanded to the actual name when it is printed. Also, lsdev -v for a zfs pool will print bootfs property. The same goes for zfsboot's "status" command. A final note. All this stuff really needs to be documented. Currently the documentation on boot blocks seems to totally miss on ZFS boot. -- Andriy Gapon