Veritas™ File System Programmer's Reference Guide - Solaris

Last Published:
Product(s): InfoScale & Storage Foundation (7.2)
Platform: Solaris
  1. Veritas File System software developer's kit
    1.  
      About the software developer's kit
    2. File System software developer's kit features
      1.  
        API library interfaces
      2.  
        File Change Log
      3.  
        Multi-volume support
      4.  
        Veritas File System I/O
    3.  
      Software developer's kit packages
    4.  
      Required libraries and header files
    5. Compiling environment
      1.  
        Recompiling with a different compiler
  2. File Change Log
    1. About the File Change Log file
      1.  
        Recorded changes
      2. Using the File Change Log file
        1.  
          Space usage
        2.  
          Full system scan reductions
        3.  
          File history traces
      3.  
        File Change Log logging activation
      4. File Change Log file layout
        1.  
          File Change Log superblock
        2.  
          File Change Log record
    2. Record types
      1.  
        Special records
      2.  
        Typical record sequences
    3. File Change Log tunables
      1.  
        How tunables handle File Change Log growth size
    4. Application programming interface for File Change Log
      1.  
        Ease of use
      2.  
        Backward compatibility
      3. API functions
        1.  
          Functions for accessing File Change Log records
        2.  
          Functions for seeking offsets and time stamps in the File Change Log
        3. vxfs_fcl_open
          1.  
            Return value
        4. vxfs_fcl_close
          1.  
            Parameters
        5. vxfs_fcl_getinfo
          1.  
            Return values
        6. vxfs_fcl_read
          1.  
            Parameters
          2.  
            Input
          3.  
            Output
          4.  
            Return values
        7. vxfs_fcl_getcookie
          1.  
            Parameters
        8. vxfs_fcl_seek
          1.  
            Parameters
          2.  
            Return values
        9. vxfs_fcl_seektime
          1.  
            Parameters
          2.  
            Return values
        10. vxfs_fcl_sync
          1.  
            Parameters
      4. File Change Log record
        1.  
          Defines
        2.  
          fcl_iostats structure
        3.  
          fcl_acsinfo structure
        4.  
          Record structure fields
      5. Copying File Change Log records
        1.  
          Index maintenance application
        2. Computing a usage profile
          1.  
            Initial setup
          2.  
            Sample steps
          3.  
            Off host processing
      6. Veritas File System and File Change Log upgrade and downgrade
        1.  
          Converting File Change Log version 3 files to version 4
        2.  
          Downgrading Veritas File System versions
    5. Reverse path name lookup
      1.  
        Inodes
      2.  
        vxfs_inotopath_gen
  3. Multi-volume support
    1.  
      About multi-volume support
    2.  
      Uses for multi-volume support
    3. Volume application programming interfaces
      1.  
        Administering volume sets
      2.  
        Querying the volume set for a file system
      3.  
        Modifying a volume within a file system
      4.  
        Encapsulationg and de-encapsulating a volume
    4. Allocation policy application programming interfaces
      1.  
        Directing file allocations
      2.  
        Creating and assigning policies
      3.  
        Querying the defined policies
      4.  
        Enforcing a policy
    5.  
      Data structures
    6. Using policies and application programming interfaces
      1.  
        Defining and assigning allocation policies
      2.  
        Using volume application programming interfaces
  4. Named data streams
    1.  
      About named data streams
    2.  
      Uses for named data streams
    3.  
      Named data streams application programming interface
    4.  
      Listing named data streams
    5.  
      Namespace for named data streams
    6.  
      Behavior changes in other system calls
    7.  
      Querying named data streams
    8.  
      Application programming interface
    9.  
      Command reference
  5. Veritas File System I/O
    1.  
      About Veritas File System I/O
    2.  
      Freeze and thaw
    3. Caching advisories
      1.  
        Direct I/O
      2.  
        Concurrent I/O
      3.  
        Unbuffered I/O
      4.  
        Other advisories
    4. Extents
      1. Extent attributes
        1.  
          Attribute specifics
      2.  
        Reservation: preallocating space to a file
      3.  
        Fixed extent size
      4.  
        Application programming interface for extent attributes
      5. Allocation flags
        1.  
          Allocation flags with reservation
        2.  
          Reservation trimming
        3.  
          Non-persistent reservation
        4.  
          No write beyond reservation
        5.  
          Contiguous reservation
        6.  
          Include reservation in the file size
        7.  
          Reading the grown part of the file
      6.  
        Allocation flags with fixed extent size
      7.  
        How to use extent attribute APIs
      8.  
        Setting fixed extent size
  6. Thin Reclamation
    1.  
      About Thin Storage
    2.  
      About Thin Reclamation
    3. Thin Reclamation application programming interface
      1.  
        vxfs_ts_reclaim return values

Named data streams application programming interface

The following standard system calls can manipulate named data streams:

open()

Opens a named data stream

read()

Reads a named data stream

write()

Writes a named data stream

getdents()

Reads directory entries and puts in a file system independent format

mmap()

Maps pages of memory

readdir()

Reads a directory

VxFS named data stream functionality is available through the following application programming interface functions:

vxfs_nattr_open()

Works similarly to the open() system call, except that the path is interpreted as a named data stream to a file descriptor. If the vxfs_nattr_open() operation completes successfully, the return value is the file descriptor associated with the named data stream. The file descriptor can be used by other input/output functions to refer to that named data stream. If the path of the named data stream is set to ".", the file descriptor returned points to the named data stream directory vnode.

The following is the syntax for the vxfs_nattr_open() API:

int vxfs_nattr_open(int fd, char *path,
         int oflag, int cmode);

vxfs_nattr_link()

Creates a new directory entry for the existing named data stream and increments its link count by one. There is a pointer to an existing named data stream in the named data stream namespace and a pointer to the new directory entry created in the named data stream namespace. The calling function must have write permission to link the named data stream.

The following is the syntax for the vxfs_nattr_link() API:

int vxfs_nattr_link(int sfd, char *spath,
      char *tpath);

vxfs_nattr_unlink()

Removes the named data stream at a specified path. The calling function must have write permission to remove the directory entry for the named data stream.

The following is the syntax for the vxfs_nattr_unlink() API:

int vxfs_nattr_unlink(int fd, char *path);

vxfs_nattr_rename()

Changes a specified namespace entry at path1 to a second specified namespace at path2. The specified paths are resolved relative to a pointer to the named data stream directory vnodes.

The following is the syntax for the vxfs_nattr_rename() API:

int vxfs_nattr_rename(int sfd, char *old,
    char *tnew);

vxfs_nattr_utimes()

Sets the access and modification times of the named data stream.

The following is the syntax for the vxfs_nattr_utimes() API:

int vxfs_nattr_utimes(int sfd,
    const char *path,
    const struct timeval times[2]);

See the vxfs_nattr_open(3), vxfs_nattr_link(3), vxfs_nattr_unlink(3), vxfs_nattr_rename(3), and vxfs_nattr_utimes(3) manual pages.