This discussion is archived
3 Replies Latest reply: May 14, 2010 9:25 AM by 807559 RSS

fsat syscall

807559 Newbie
Currently Being Moderated
does anybody know some documentation about 'fsat' syscall? What does the syscall do?

neither google nor docs.sun.com helps ...
  • 1. Re: fsat syscall
    807559 Newbie
    Currently Being Moderated
    This excerpt is taken from the source code file in which it appears.

    43 /*
    44 * This file contains the emulation functions for all of the
    45 * obsolete system call traps that existed in Solaris 10 but
    46 * that have been deleted in the current version of Solaris.
    47 */

    I doubt there is much else to discover, unless a knowledgeable kernel engineer chimes in, or you want to dig through PSARC archives...

    Regards,

    Michael
  • 2. Re: fsat syscall
    807559 Newbie
    Currently Being Moderated
    From:

    http://cvs.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/lib/brand/solaris10/s10_brand/common/s10_deleted.c#419

    418 /*
    419 * This is the fsat() system call trap in s10.
    420 * It has been removed in the current system.
    421 */
    422 int
    423 s10_fsat(sysret_t *rval,
    424 int code, uintptr_t arg1, uintptr_t arg2,
    425 uintptr_t arg3, uintptr_t arg4, uintptr_t arg5)
    426 {
    427      switch (code) {
    428      case 0:          /* openat */
    429           return (s10_openat(rval, (int)arg1,
    430           (const char *)arg2, (int)arg3, (mode_t)arg4));
    431      case 1:          /* openat64 */
    432 #if defined(_LP64)
    433           return (EINVAL);
    434 #else
    435           return (s10_openat64(rval, (int)arg1,
    436           (const char *)arg2, (int)arg3, (mode_t)arg4));
    437 #endif
    438      case 2:          /* fstatat64 */
    439 #if defined(_LP64)
    440           return (EINVAL);
    441 #else
    442           return (s10_fstatat64(rval, (int)arg1,
    443           (const char *)arg2, (struct stat64 *)arg3, (int)arg4));
    444 #endif
    445      case 3:          /* fstatat */
    446           return (s10_fstatat(rval, (int)arg1,
    447           (const char *)arg2, (struct stat *)arg3, (int)arg4));
    448      case 4:          /* fchownat */
    449           return (s10_fchownat(rval, (int)arg1, (char *)arg2,
    450           (uid_t)arg3, (gid_t)arg4, (int)arg5));
    451      case 5:          /* unlinkat */
    452           return (s10_unlinkat(rval, (int)arg1, (char *)arg2,
    453           (int)arg3));
    454      case 6:          /* futimesat */
    455           return (s10_futimesat(rval, (int)arg1,
    456           (const char *)arg2, (const struct timeval *)arg3));
    457      case 7:          /* renameat */
    458           return (s10_renameat(rval, (int)arg1, (char *)arg2,
    459           (int)arg3, (char *)arg4));
    460      case 8:          /* faccessat */
    461           return (s10_faccessat(rval, (int)arg1, (char *)arg2,
    462           (int)arg3, (int)arg4));
    463      case 9:          /* openattrdirat */
    464           return (s10_openat(rval, (int)arg1,
    465           (const char *)arg2, FXATTRDIROPEN, 0));
    466      }
    467      return (EINVAL);
    468 }
    469

    and here:

    http://cvs.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/os/sysent.c#510

    508      /* 74 */ SYSENT_CI("rctlsys",          rctlsys,     6),
    509      /* 75 */ SYSENT_2CI("sidsys",          sidsys,          4),
    510      /* 76 */ SYSENT_LOADABLE(),               /* (was fsat) */
    511      /* 77 */ SYSENT_CI("lwp_park",          syslwp_park,     3),
    512      /* 78 */ SYSENT_CL("sendfilev",          sendfilev,     5),

    From the above, we can guess that fsat() was obsoleted, but essentially it is a merging of a lot of other raw file system call primitives lumped together.
  • 3. Re: fsat syscall
    807559 Newbie
    Currently Being Moderated
    On a related matter, I came across a PSARC caselog for removing obsolete system call traps. You can read what discussion is available here:

    http://arc.opensolaris.org/caselog/PSARC/2009/657/

    Regards,

    Michael