NAME

FreeBSD::FsStat - Get mounted filesystems in FreeBSD

VERSION

version 0.107

SYNOPSIS

my $mounts = FreeBSD::FsStat::getfsstat;

DESCRIPTION

Query a FreeBSD system for the list of mounted filesystems.

METHODS

get_filesystems

Returns a list of FreeBSD::FileSystem objects, corresponding to the filesystems of the host.

getfsstat

Returns an arrayref of hashrefs. Each hashref represents a filesystem and its keys are the attributes of that filesystem. For the list of keys, have a look at the statfs(2) man page. For convenience, here is the relevant struct as of this writing:

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 */
uint64_t f_bsize;               /* filesystem fragment size */
uint64_t f_iosize;              /* optimal transfer block size */
uint64_t f_blocks;              /* total data blocks in filesystem */
uint64_t f_bfree;               /* free blocks in filesystem */
int64_t  f_bavail;              /* free blocks avail to non-superuser */
uint64_t f_files;               /* total file nodes in filesystem */
int64_t  f_ffree;               /* free nodes avail to non-superuser */
uint64_t f_syncwrites;          /* count of sync writes since mount */
uint64_t f_asyncwrites;         /* count of async writes since mount */
uint64_t f_syncreads;           /* count of sync reads since mount */
uint64_t f_asyncreads;          /* count of async reads since mount */
uint64_t f_spare[10];           /* unused spare */
uint32_t f_namemax;             /* maximum filename length */
uid_t     f_owner;              /* user that mounted the filesystem */
fsid_t    f_fsid;               /* filesystem id */
char      f_charspare[80];          /* spare string space */
char      f_fstypename[MFSNAMELEN]; /* filesystem type name */
char      f_mntfromname[MNAMELEN];  /* mounted filesystem */
char      f_mntonname[MNAMELEN];    /* directory on which mounted */
};

Note, the f_fsid doesn't seem to work at present.

AUTHOR

Athanasios Douitsis <aduitsis@cpan.org>

SUPPORT

Please open a ticket at https://github.com/aduitsis/perl-FreeBSD-FsStat.

COPYRIGHT & LICENSE

Copyright 2016 Athanasios Douitsis, all rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.