tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Patch: openat() family of system calls



This patch provides the necessary infrastructure for the openat() family of
system calls, and implements openat() and fstatat() which are used by the
ZFS userspace commands. It looks like these are on the way to becoming a
standard and are already present in Linux, Solaris and FreeBSD.

        http://www.netbsd.org/~ad/cleanout/openat.diff

The code to extract and reference the root directory for the lookup is
placed in namei(). This is because mixing vnode and file descriptor
references is tricky and can lead to code paths that deadlock. namei() is
a reasonably safe place to put it.

Notes:

- Some of the flag processing like AT_SYMLINK_NOFOLLOW should probably be
  moved to a common function.

- Not all flags apply to all operations and not all are handled by the
  patch.

- The patch is against an older version of -current and may not apply
  cleanly.

Comments?

Thanks,
Andrew


Home | Main Index | Thread Index | Old Index