JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Sun QFS and Sun Storage Archive Manager 5.3 Reference Manual     Sun QFS and Sun Storage Archive Manager 5.3 Information Library
search filter icon
search icon

Document Information

Preface

1.  User Commands (Man Pages Section 1)

2.  Maintenance Commands (Man Pages Section 1M)

3.  Library Functions (Man Pages Section 3)

intro_libsam(3)

intro_libsamrpc(3)

qfs_listio(3)

sam_advise(3)

sam_archive(3)

sam_audit(3)

sam_cancelstage(3)

sam_chmed(3)

sam_clear_request(3)

sam_closecat(3)

sam_damage(3)

sam_devstat(3)

sam_devstr(3)

sam_errno(3)

sam_exarchive(3)

sam_export(3)

sam_getcatalog(3)

sam_getfsdata(3)

sam_getfsdisks(3)

sam_import(3)

sam_load(3)

sam_lstat(3)

sam_mig_create_file(3)

sam_mig_mount_media(3)

sam_mig_rearchive(3)

sam_mig_release_device(3)

sam_mig_stage_end(3)

sam_mig_stage_error(3)

sam_mig_stage_file(3)

sam_mig_stage_write(3)

sam_move(3)

sam_odlabel(3)

sam_opencat(3)

sam_readrminfo(3)

sam_rearch(3)

sam_release(3)

sam_request(3)

sam_restore_copy(3)

sam_restore_file(3)

sam_segment(3)

sam_segment_stat(3)

sam_segment_vsn_stat(3)

sam_set_fs_contig(3)

sam_set_fs_thresh(3)

sam_set_state(3)

sam_setfa(3)

sam_settings(3)

sam_ssum(3)

sam_stage(3)

sam_stat(3)

sam_tplabel(3)

sam_unarchive(3)

sam_undamage(3)

sam_unload(3)

sam_unrearch(3)

sam_vsn_stat(3)

usam_mig_cancel_stage_req(3)

usam_mig_initialize(3)

usam_mig_stage_file_req(3)

4.  Library Functions (Man Pages Section 3X)

5.  File Formats (Man Pages Section 4)

6.  Standards, Environment, and Macros (Man Pages Section 5)

7.  Device and Network Interfaces (Man Pages Section 7)

sam_setfa(3)

NAME
     sam_setfa - Sets attributes on a file or directory

SYNOPSIS
     cc [ flag  ... ] file    ...  -L/opt/SUNWsamfs/lib  -lsam  [library ... ]

     #include "/opt/SUNWsamfs/include/lib.h"

     int sam_setfa(const char *path, const char *ops);

DESCRIPTION
     sam_setfa() sets attributes on a file or directory  using  a
     SAM-QFS  system  call.  path is the file on which to set the
     attributes.  ops is the character  string  of  options,  for
     example:  "ds1".  Individual options are described below.

OPTIONS
     A n  Specifies the number of bytes to be allocated ahead  of
          a write to the file.  The n must be an integer and must
          be greater than or equal to one kilobyte and less  than
          4  terabytes.   The n is rounded down to units of kilo-
          bytes.  This option is only valid for a  regular  file.
          This  option  should  be  used when writing large files
          where more sequential  allocation  is  desired.   Note,
          when  the  file  is  closed the blocks are reset to the
          size of the file.

     B    Specifies  the  direct  I/O  attribute  be  permanently
          cleared  for this file.  This means data is transferred
          indirectly between the user's buffer and  disk  through
          the  system's page cache.  The default I/O mode is buf-
          fered (uses the page cache).  The directio attribute is
          persistent,  remaining  until  specifically  cleared or
          reset.  See directio(3C) for Solaris 2.6 and above  for
          more details.

     d    Return the file attributes on the file to the  default,
          i.e.  the  stripe  is reset to the mount default.  When
          this option is specified, the attributes are  reset  to
          the  default.   If  it  is used, it should be the first
          character in the string.

     D    Specifies the direct I/O attribute be  permanently  set
          for this file.  This means data is transferred directly
          between the user's buffer  and  disk.   This  attribute
          should  only  be set for large block aligned sequential
          I/O.  The default I/O mode is buffered (uses  the  page
          cache).   Direct  I/O  will  not be used if the file is
          currently memory mapped.   The  directio  attribute  is
          persistent,  remaining  until  specifically  cleared or
          reset.  See directio(3C) for Solaris 2.6 and above  for
                     more details.

     g n  Specifies the number of the  striped  group  where  the
          file is to be preallocated.  n is a number 0 .. 127.  n
          must be a striped_group defined in the file system.

     l n  Specifies the number of bytes to be preallocated to the
          file.   The n must be an integer.  This option can only
          be applied to a regular file.  If an I/O event attempts
          to  extend  a  file preallocated with the L option, the
          caller receives an ENXIO error.  The l option allocates
          using  extent  allocation.   This means striping is not
          supported and the file is allocated on 1 disk device or
          1  striped  group.   The  L  and l options are mutually
          exclusive.  If the file has existing disk blocks,  this
          option is changed to the L option.

     L n  Specifies the number of bytes to be preallocated to the
          file.   The  n must be an integer.  This option is only
          valid for a regular file.  The L option allocates using
          standard allocation.  This means striping is supported.
          This also means the file can be extended.  The L and  l
          options are mutually exclusive.

     q    Specifies that this file will be linked to  the  pseudo
          character  device  driver,  samaio,  for the purpose of
          issuing asynchronous I/O.  Note, this option also  sets
          Direct  I/O and qwrite.  Setting this option may result
          in greater performance.

     s n  Specifies the number of allocation units  to  be  allo-
          cated  before  changing  to  the next unit.  If n is 1,
          this means the file will stripe across all units with 1
          disk  allocation  unit (DAU) allocated per unit.  If  n
          is 0, this means the file will be allocated on one unit
          until  that  unit  has no space.  The default stripe is
          specified at mount.  (see mount_samfs(1M)).  Note, EIN-
          VAL  is  returned  if  the  user  sets  stripe  > 0 and
          mismatched  stripe  groups  exist.   Mismatched  stripe
          groups  means  all  striped groups do not have the same
          number  of  partitions.   Striping  across   mismatched
          stripe groups is not allowed.

RETURN VALUES
     Upon successful completion a value of 0 is returned.  Other-
     wise, a value of -1 is returned and errno is set to indicate
     the error.

ERRORS
     sam_setfa() fails if one or more of the following are true:

     EINVAL              An invalid option was specified, or  the

                         file  is  neither  a  regular file nor a
                         directory.

     EPERM               Not the owner or superuser.

     EFAULT              path  or  ops  points  to   an   illegal
                         address.

     EINTR               A   signal   was   caught   during   the
                         sam_setfa() function.

     ELOOP               Too many symbolic links were encountered
                         in translating path.

     EMULTIHOP           Components of path  require  hopping  to
                         multiple  remote  machines  and the file
                         system does not allow it.

     ENAMETOOLONG        The length of the path argument  exceeds
                         {PATH_MAX}, or the length of a path com-
                         ponent    exceeds    {NAME_MAX}    while
                         {_POSIX_NO_TRUNC} is in effect.

     ENOENT              The named file does not exist or is  the
                         null pathname.

     ENOLINK             path points to a remote machine and  the
                         link   to  that  machine  is  no  longer
                         active.

     ENOTDIR             A component of the path prefix is not  a
                         directory.

SEE ALSO
     setfa(1), ssum(1).

     mount_samfs(1M).

     sam_advise(3), sam_ssum(3).

     directio(3C).