/* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2013 Nexenta Systems, Inc. All rights reserved. */ /* * Dispatch function for SMB2_SET_INFO * * [MS-FSCC 2.5] If a file system does not implement ... * an Information Classs, NT_STATUS_INVALID_PARAMETER... */ #include #include #include uint32_t smb2_setfs_control(smb_request_t *, smb_setinfo_t *); uint32_t smb2_setfs_obj_id(smb_request_t *, smb_setinfo_t *); uint32_t smb2_setinfo_fs(smb_request_t *sr, smb_setinfo_t *si, int InfoClass) { uint32_t status; switch (InfoClass) { /* pg 153 */ case FileFsControlInformation: /* 6 */ status = smb2_setfs_control(sr, si); break; case FileFsObjectIdInformation: /* 8 */ status = smb2_setfs_obj_id(sr, si); break; default: status = NT_STATUS_INVALID_INFO_CLASS; break; } return (status); } /* * FileFsControlInformation */ uint32_t smb2_setfs_control(smb_request_t *sr, smb_setinfo_t *si) { _NOTE(ARGUNUSED(si)) smb_tree_t *tree = sr->tid_tree; if (!STYPE_ISDSK(tree->t_res_type)) return (NT_STATUS_INVALID_PARAMETER); return (0); } /* * FileFsObjectIdInformation */ /* ARGSUSED */ uint32_t smb2_setfs_obj_id(smb_request_t *sr, smb_setinfo_t *si) { /* * Return an error per. [MS-FSCC 2.5.7] * which means we can't change object IDs. */ return (NT_STATUS_INVALID_PARAMETER); }