return -1;
}
-static int skel_mknod(vfs_handle_struct *handle,
- const struct smb_filename *smb_fname,
- mode_t mode,
- SMB_DEV_T dev)
-{
- errno = ENOSYS;
- return -1;
-}
-
static int skel_mknodat(vfs_handle_struct *handle,
files_struct *dirfsp,
const struct smb_filename *smb_fname,
.symlink_fn = skel_symlink,
.readlink_fn = skel_vfs_readlink,
.linkat_fn = skel_linkat,
- .mknod_fn = skel_mknod,
.mknodat_fn = skel_mknodat,
.realpath_fn = skel_realpath,
.chflags_fn = skel_chflags,
flags);
}
-static int skel_mknod(vfs_handle_struct *handle,
- const struct smb_filename *smb_fname,
- mode_t mode,
- SMB_DEV_T dev)
-{
- return SMB_VFS_NEXT_MKNOD(handle, smb_fname, mode, dev);
-}
-
static int skel_mknodat(vfs_handle_struct *handle,
files_struct *dirfsp,
const struct smb_filename *smb_fname,
.symlink_fn = skel_symlink,
.readlink_fn = skel_vfs_readlink,
.linkat_fn = skel_linkat,
- .mknod_fn = skel_mknod,
.mknodat_fn = skel_mknodat,
.realpath_fn = skel_realpath,
.chflags_fn = skel_chflags,
SMBPROFILE_STATS_BASIC(syscall_readlink) \
SMBPROFILE_STATS_BASIC(syscall_symlink) \
SMBPROFILE_STATS_BASIC(syscall_linkat) \
- SMBPROFILE_STATS_BASIC(syscall_mknod) \
SMBPROFILE_STATS_BASIC(syscall_mknodat) \
SMBPROFILE_STATS_BASIC(syscall_realpath) \
SMBPROFILE_STATS_BASIC(syscall_get_quota) \
/* Version 42 - Make "lease" a const* in create_file_fn */
/* Version 42 - Move SMB_VFS_RENAME -> SMB_VFS_RENAMEAT */
/* Version 42 - Move SMB_VFS_LINK -> SMB_VFS_LINKAT. */
-/* Version 42 - Add SMB_VFS_MKDNODAT. */
+/* Version 42 - Move SMB_VFS_MKNOD -> SMB_VFS_MKDNODAT. */
#define SMB_VFS_INTERFACE_VERSION 42
struct files_struct *dstfsp,
const struct smb_filename *new_smb_fname,
int flags);
- int (*mknod_fn)(struct vfs_handle_struct *handle,
- const struct smb_filename *smb_fname,
- mode_t mode,
- SMB_DEV_T dev);
int (*mknodat_fn)(struct vfs_handle_struct *handle,
struct files_struct *dirfsp,
const struct smb_filename *smb_fname,
struct files_struct *dstfsp,
const struct smb_filename *new_smb_fname,
int flags);
-int smb_vfs_call_mknod(struct vfs_handle_struct *handle,
- const struct smb_filename *smb_fname,
- mode_t mode,
- SMB_DEV_T dev);
int smb_vfs_call_mknodat(struct vfs_handle_struct *handle,
struct files_struct *dirfsp,
const struct smb_filename *smb_fname,
struct files_struct *dstfsp,
const struct smb_filename *new_smb_fname,
int flags);
-int vfs_not_implemented_mknod(vfs_handle_struct *handle,
- const struct smb_filename *smb_fname,
- mode_t mode,
- SMB_DEV_T dev);
int vfs_not_implemented_mknodat(vfs_handle_struct *handle,
struct files_struct *dirfsp,
const struct smb_filename *smb_fname,
#define SMB_VFS_NEXT_LINKAT(handle, srcfsp, oldpath, dstfsp, newpath, flags) \
smb_vfs_call_linkat((handle)->next, (srcfsp), (oldpath), (dstfsp), (newpath), (flags))
-#define SMB_VFS_MKNOD(conn, smb_fname, mode, dev) \
- smb_vfs_call_mknod((conn)->vfs_handles, (smb_fname), (mode), (dev))
-#define SMB_VFS_NEXT_MKNOD(handle, smb_fname, mode, dev) \
- smb_vfs_call_mknod((handle)->next, (smb_fname), (mode), (dev))
-
#define SMB_VFS_MKNODAT(conn, dirfsp, smb_fname, mode, dev) \
smb_vfs_call_mknodat((conn)->vfs_handles, (dirfsp), (smb_fname), (mode), (dev))
#define SMB_VFS_NEXT_MKNODAT(handle, dirfsp, smb_fname, mode, dev) \
return result;
}
-static int vfswrap_mknod(vfs_handle_struct *handle,
- const struct smb_filename *smb_fname,
- mode_t mode,
- SMB_DEV_T dev)
-{
- int result;
-
- START_PROFILE(syscall_mknod);
- result = sys_mknod(smb_fname->base_name, mode, dev);
- END_PROFILE(syscall_mknod);
- return result;
-}
-
static int vfswrap_mknodat(vfs_handle_struct *handle,
files_struct *dirfsp,
const struct smb_filename *smb_fname,
.symlink_fn = vfswrap_symlink,
.readlink_fn = vfswrap_readlink,
.linkat_fn = vfswrap_linkat,
- .mknod_fn = vfswrap_mknod,
.mknodat_fn = vfswrap_mknodat,
.realpath_fn = vfswrap_realpath,
.chflags_fn = vfswrap_chflags,
return -1;
}
-int vfs_not_implemented_mknod(vfs_handle_struct *handle,
- const struct smb_filename *smb_fname,
- mode_t mode,
- SMB_DEV_T dev)
-{
- errno = ENOSYS;
- return -1;
-}
-
int vfs_not_implemented_mknodat(vfs_handle_struct *handle,
files_struct *dirfsp,
const struct smb_filename *smb_fname,
.symlink_fn = vfs_not_implemented_symlink,
.readlink_fn = vfs_not_implemented_vfs_readlink,
.linkat_fn = vfs_not_implemented_linkat,
- .mknod_fn = vfs_not_implemented_mknod,
.mknodat_fn = vfs_not_implemented_mknodat,
.realpath_fn = vfs_not_implemented_realpath,
.chflags_fn = vfs_not_implemented_chflags,
flags);
}
-int smb_vfs_call_mknod(struct vfs_handle_struct *handle,
- const struct smb_filename *smb_fname,
- mode_t mode,
- SMB_DEV_T dev)
-{
- VFS_FIND(mknod);
- return handle->fns->mknod_fn(handle, smb_fname, mode, dev);
-}
-
int smb_vfs_call_mknodat(struct vfs_handle_struct *handle,
struct files_struct *dirfsp,
const struct smb_filename *smb_fname,