From 033185e2a1b2892fe8dc74a18a38e5e13e08cb22 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Thu, 23 Jul 2009 20:28:58 -0400 Subject: Make the smbd VFS typesafe --- source3/modules/vfs_zfsacl.c | 37 ++++++++++--------------------------- 1 file changed, 10 insertions(+), 27 deletions(-) (limited to 'source3/modules/vfs_zfsacl.c') diff --git a/source3/modules/vfs_zfsacl.c b/source3/modules/vfs_zfsacl.c index a92d5dae26..312160c026 100644 --- a/source3/modules/vfs_zfsacl.c +++ b/source3/modules/vfs_zfsacl.c @@ -280,37 +280,20 @@ int zfsacl_fail__sys_acl_delete_def_file(vfs_handle_struct *handle, /* VFS operations structure */ -static vfs_op_tuple zfsacl_ops[] = { - /* invalidate conflicting VFS methods */ - {SMB_VFS_OP(zfsacl_fail__sys_acl_get_file), - SMB_VFS_OP_SYS_ACL_GET_FILE, - SMB_VFS_LAYER_OPAQUE}, - {SMB_VFS_OP(zfsacl_fail__sys_acl_get_fd), - SMB_VFS_OP_SYS_ACL_GET_FD, - SMB_VFS_LAYER_OPAQUE}, - {SMB_VFS_OP(zfsacl_fail__sys_acl_set_file), - SMB_VFS_OP_SYS_ACL_SET_FILE, - SMB_VFS_LAYER_OPAQUE}, - {SMB_VFS_OP(zfsacl_fail__sys_acl_set_fd), - SMB_VFS_OP_SYS_ACL_SET_FD, - SMB_VFS_LAYER_OPAQUE}, - {SMB_VFS_OP(zfsacl_fail__sys_acl_delete_def_file), - SMB_VFS_OP_SYS_ACL_DELETE_DEF_FILE, - SMB_VFS_LAYER_OPAQUE}, - - /* actual methods */ - {SMB_VFS_OP(zfsacl_fget_nt_acl), SMB_VFS_OP_FGET_NT_ACL, - SMB_VFS_LAYER_OPAQUE}, - {SMB_VFS_OP(zfsacl_get_nt_acl), SMB_VFS_OP_GET_NT_ACL, - SMB_VFS_LAYER_OPAQUE}, - {SMB_VFS_OP(zfsacl_fset_nt_acl), SMB_VFS_OP_FSET_NT_ACL, - SMB_VFS_LAYER_OPAQUE}, - {SMB_VFS_OP(NULL), SMB_VFS_OP_NOOP, SMB_VFS_LAYER_NOOP} +static struct vfs_fn_pointers zfsacl_fns = { + .sys_acl_get_file = zfsacl_fail__sys_acl_get_file, + .sys_acl_get_fd = zfsacl_fail__sys_acl_get_fd, + .sys_acl_set_file = zfsacl_fail__sys_acl_set_file, + .sys_acl_set_fd = zfsacl_fail__sys_acl_set_fd, + .sys_acl_delete_def_file = zfsacl_fail__sys_acl_delete_def_file, + .fget_nt_acl = zfsacl_fget_nt_acl, + .get_nt_acl = zfsacl_get_nt_acl, + .fset_nt_acl = zfsacl_fset_nt_acl, }; NTSTATUS vfs_zfsacl_init(void); NTSTATUS vfs_zfsacl_init(void) { return smb_register_vfs(SMB_VFS_INTERFACE_VERSION, "zfsacl", - zfsacl_ops); + &zfsacl_fns); } -- cgit