vboxfs_vnode.c revision 35473cad6d5d5b57348c66f0cfdd7d51d6071ee7
1N/A * available from http://www.virtualbox.org. This file is free software;
1N/A * "vboxfs_prov.h" and the module implementing them is shipped as part of the
1N/A#if !defined(VBOX_VFS_SOLARIS_10U6)
1N/A#include "vboxfs_prov.h"
1N/A#include "vboxfs_vnode.h"
1N/A#include "vboxfs_vfs.h"
1N/Achar *sffs_buffer;
1N/Asfnode_compare(const void *a, const void *b)
1N/A if (x->sf_is_stale) {
sfnode_destroy(n);
n->sf_path);
sfnode_t *n;
int old_len;
char *new_path;
char *tail;
if (n != NULL)
KM_SLEEP);
n->sf_path);
n->sf_path);
static sfnode_t *
int error;
int type;
char *fullpath;
return (dir);
return (NULL);
return (node);
mode_t m;
error =
if (error != 0)
else if (S_ISDIR(m))
else if (S_ISREG(m))
if (error) {
return (NULL);
return (node);
mode_t m;
int shift = 0;
int error;
if (error != 0) {
if (mode == 0) {
error = 0;
return (error);
int *eofp,
int flags)
int dummy_eof;
int error = 0;
int namelen;
char **names;
return (EINVAL);
return (ENOTDIR);
*eofp = 0;
if (error != 0)
goto done;
goto done;
if (error != 0)
done:
return (error);
#if defined(VBOX_VFS_SOLARIS_10U6)
int cmd,
int cmd,
int flags,
uint64_t x;
int error;
if (error != 0)
goto done;
if (error != 0)
goto done;
error =
if (error != 0)
goto done;
error =
if (error != 0)
goto done;
error =
if (error != 0)
goto done;
done:
return (error);
int ioflag,
int error = 0;
return (EISDIR);
return (EINVAL);
return (EINVAL);
if (total == 0)
return (EINVAL);
error = 0;
return (error);
int ioflag,
int error = 0;
return (EISDIR);
return (EINVAL);
return (EINVAL);
if (error != 0) {
return (error);
return (EINVAL);
p, RCA_UNSAFE_SIGINFO);
return (EFBIG);
return (EFBIG);
if (total == 0) {
if (error != 0)
if (error == 0)
error = 0;
return (error);
int error;
return (error);
int flags,
int *direntflags,
int error;
return (ENOTDIR);
if (error) {
return (error);
char *name,
int mode,
int flag,
int error;
return (EISDIR);
return (EINVAL);
else if (error != 0)
return (error);
return (EEXIST);
return (EISDIR);
if (error != 0) {
return (error);
if (error) {
return (error);
return (EEXIST);
return (EINVAL);
char *nm,
int flags,
int error;
if (error == 0) {
return (EEXIST);
return (error);
if (error) {
return (error);
return (EACCES);
char *nm,
int flags)
int error;
return (EINVAL);
return (EEXIST);
if (error)
return (error);
return (ENOTDIR);
return (EBUSY);
return (EBUSY);
if (error)
goto done;
goto done;
done:
return (error);
char *name,
int flags)
int error;
if (error)
return (error);
if (error)
goto done;
goto done;
done:
return (error);
char *old_nm,
char *new_nm,
int flags)
char *newpath;
int error;
return (EINVAL);
if (error)
goto done;
goto done;
if (error == 0)
done:
return (error);
int flag,
int count,
return (EINVAL);
return (ENOTSUP);
#if defined(VBOX_VFS_SOLARIS_10U6)
sffs_vnode_init(void)
int err;
if (err)
return (err);
sffs_vnode_fini(void)
if (sffs_ops)
done:
sfnode_t *n;
sfnode_print(n);
sfnode_print(n);