Using fstatfs on a ZFS disk
Willem Jan Withagen
wjw at digiware.nl
Mon Feb 19 15:50:34 UTC 2018
On 19-2-2018 16:00, Bob Bishop wrote:
> Hi,
>
>> On 19 Feb 2018, at 14:48, Willem Jan Withagen <wjw at digiware.nl> 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 <sys/param.h>
#include <sys/mount.h>
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 at freebsd.org mailing list
>> https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
>> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"
>>
>
> --
> Bob Bishop
> rb at gid.co.uk
>
>
>
>
More information about the freebsd-hackers
mailing list