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,
    'special'   => 'real:/home/foo/test',
    'noatime'   => 1
);

DESCRIPTION

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

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. The following attribute in the %data hash is required, however:

special

A URI-like specifier indicating the absolute path of a portion of the real filesystem, starting with the 'real:' prefix.

Optional values in %data are as follows:

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

Exceptions will be thrown for the following:

Invalid special path

The format of the $data{'special'} argument does not match the aforementioned specification.

Not a directory

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