NAME

Filesys::POSIX::Real - Portal to actual underlying filesystem

SYNOPSIS

use Filesys::POSIX;
use Filesys::POSIX::Real;

my $fs = Filesys::POSIX->new(Filesys::POSIX::Real->new,
    'path'    => '/home/foo/test',
    'noatime' => 1
);

DESCRIPTION

This module implements the filesystem device type which provides a portal to the actual system's underlying filesystem.

MOUNT OPTIONS

The following value is mandatory:

path

The path, in the real filesystem, upon which the new filesystem to be mounted will be based.

The following value is not mandatory:

sticky

When set to a value evaluating to true, any updates to certain attributes of any inode brought to life by this module are not committed to disk. When this flag is used, the following calls only affect the inode in memory, but not on disk:

$fs->chmod
$fs->chown

Furthermore, only the following attributes are synced from disk onto their corresponding memory inodes:

size
atime
mtime
ctime

CREATING A NEW FILESYSTEM

Filesys::POSIX::Real->new

Create a new, uninitialized filesystem.

INITIALIAZATION

$fs->init(%data)

Initializes the new filesystem. A reference to the %data argument is saved in the filesystem object.

Exceptions will be thrown for the following:

  • EINVAL (Invalid argument)

    No value was specified for $data{'path'}.

  • ENOTDIR (Not a directory)

    The path specified in $data{'path'} on the real filesystem does not correspond to an actual directory.

AUTHOR

Written by Xan Tronix <xan@cpan.org>

CONTRIBUTORS

Rikus Goodell <rikus.goodell@cpanel.net>
Brian Carlson <brian.carlson@cpanel.net>

COPYRIGHT

Copyright (c) 2014, cPanel, Inc. Distributed under the terms of the Perl Artistic license.