From owner-freebsd-hackers@freebsd.org Mon Feb 19 15:50:34 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1899EF0A310 for ; Mon, 19 Feb 2018 15:50:34 +0000 (UTC) (envelope-from wjw@digiware.nl) Received: from smtp.digiware.nl (smtp.digiware.nl [176.74.240.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AB4227B704 for ; Mon, 19 Feb 2018 15:50:33 +0000 (UTC) (envelope-from wjw@digiware.nl) Received: from router.digiware.nl (localhost.digiware.nl [127.0.0.1]) by smtp.digiware.nl (Postfix) with ESMTP id 36B302E6F6; Mon, 19 Feb 2018 16:50:31 +0100 (CET) X-Virus-Scanned: amavisd-new at digiware.com Received: from smtp.digiware.nl ([127.0.0.1]) by router.digiware.nl (router.digiware.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lfwIhCSa77Y1; Mon, 19 Feb 2018 16:50:30 +0100 (CET) Received: from [192.168.10.67] (opteron [192.168.10.67]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.digiware.nl (Postfix) with ESMTPSA id 8C6892E6F4; Mon, 19 Feb 2018 16:50:30 +0100 (CET) Subject: Re: Using fstatfs on a ZFS disk To: Bob Bishop Cc: FreeBSD Hackers References: <1C4DBFA3-5E79-4503-840C-0C548741363B@gid.co.uk> From: Willem Jan Withagen Message-ID: Date: Mon, 19 Feb 2018 16:50:29 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: <1C4DBFA3-5E79-4503-840C-0C548741363B@gid.co.uk> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: nl Content-Transfer-Encoding: 8bit X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Feb 2018 15:50:34 -0000 On 19-2-2018 16:00, Bob Bishop wrote: > Hi, > >> On 19 Feb 2018, at 14:48, Willem Jan Withagen wrote: >> >> Hi, >> >> I'm trying to find the values of the returned f_type for ZFS >> in the fstatfs call when a file is on ZFS.... >> >> But I have not yet found the definitions of the ENUMS that >> would fill that value... Let alone the value for ZFS. > > I chased this particular wild goose myself recently. It’s FS_... in /usr/include/sys/disklabel,h that you want. Hi Bob, I grepped on MAGIC and FS, but the combo did not deliver anything useful. So this is already more that I found. I did get: /usr/include/ufs/ffs/fs.h:#define FS_UFS1_MAGIC 0x011954 /* UFS1 fast filesystem magic number */ /usr/include/ufs/ffs/fs.h:#define FS_UFS2_MAGIC 0x19540119 /* UFS2 fast filesystem magic number */ /usr/include/ufs/ffs/fs.h:#define FS_BAD_MAGIC 0x19960408 /* UFS incomplete newfs magic number */ So I was looking for something like: FS_ZFS_MAGIC disklabel.h contains: #ifdef FSTYPENAMES static const char *fstypenames[] = { And further search: /usr/include/sys/disk/bsd.h:#define FS_ZFS 27 /* Sun's ZFS */ Running: #include "stdio.h" #include #include int main() { struct statfs fstr; char * str; str = "/tmp"; statfs(str, &fstr); printf("%s, ftype: 0x%x.\n", str, fstr.f_type); } results in: /tmp, ftype: 0xde. Now 0xde != 27, so the question is, where is this 0xde specified. And more important is this f_type constant over all FreeBSD ZFS filesystems? --WjW > >> struct statfs { >> uint32_t f_version; /* structure version number */ >> uint32_t f_type; /* type of filesystem */ >> uint64_t f_flags; /* copy of mount exported flags */ >> ...... >> } >> >> Any hints where to look would be welcomed. >> >> Thanx, >> --WjW >> _______________________________________________ >> freebsd-hackers@freebsd.org mailing list >> https://lists.freebsd.org/mailman/listinfo/freebsd-hackers >> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org" >> > > -- > Bob Bishop > rb@gid.co.uk > > > >