| /* | 
 |  *   fs/cifs/export.c | 
 |  * | 
 |  *   Copyright (C) International Business Machines  Corp., 2007 | 
 |  *   Author(s): Steve French (sfrench@us.ibm.com) | 
 |  * | 
 |  *   Common Internet FileSystem (CIFS) client | 
 |  * | 
 |  *   Operations related to support for exporting files via NFSD | 
 |  * | 
 |  *   This library is free software; you can redistribute it and/or modify | 
 |  *   it under the terms of the GNU Lesser General Public License as published | 
 |  *   by the Free Software Foundation; either version 2.1 of the License, or | 
 |  *   (at your option) any later version. | 
 |  * | 
 |  *   This library is distributed in the hope that it will be useful, | 
 |  *   but WITHOUT ANY WARRANTY; without even the implied warranty of | 
 |  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See | 
 |  *   the GNU Lesser General Public License for more details. | 
 |  * | 
 |  *   You should have received a copy of the GNU Lesser General Public License | 
 |  *   along with this library; if not, write to the Free Software | 
 |  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 
 |  */ | 
 |  | 
 |  /* | 
 |   * See Documentation/filesystems/Exporting | 
 |   * and examples in fs/exportfs | 
 |   * | 
 |   * Since cifs is a network file system, an "fsid" must be included for | 
 |   * any nfs exports file entries which refer to cifs paths.  In addition | 
 |   * the cifs mount must be mounted with the "serverino" option (ie use stable | 
 |   * server inode numbers instead of locally generated temporary ones). | 
 |   * Although cifs inodes do not use generation numbers (have generation number | 
 |   * of zero) - the inode number alone should be good enough for simple cases | 
 |   * in which users want to export cifs shares with NFS. The decode and encode | 
 |   * could be improved by using a new routine which expects 64 bit inode numbers | 
 |   * instead of the default 32 bit routines in fs/exportfs | 
 |   * | 
 |   */ | 
 |  | 
 | #include <linux/fs.h> | 
 | #include <linux/exportfs.h> | 
 | #include "cifsglob.h" | 
 | #include "cifs_debug.h" | 
 | #include "cifsfs.h" | 
 |  | 
 | #ifdef CONFIG_CIFS_EXPERIMENTAL | 
 | static struct dentry *cifs_get_parent(struct dentry *dentry) | 
 | { | 
 | 	/* BB need to add code here eventually to enable export via NFSD */ | 
 | 	cFYI(1, ("get parent for %p", dentry)); | 
 | 	return ERR_PTR(-EACCES); | 
 | } | 
 |  | 
 | const struct export_operations cifs_export_ops = { | 
 | 	.get_parent = cifs_get_parent, | 
 | /*	Following five export operations are unneeded so far and can default: | 
 | 	.get_dentry = | 
 | 	.get_name = | 
 | 	.find_exported_dentry = | 
 | 	.decode_fh = | 
 | 	.encode_fs =  */ | 
 | }; | 
 |  | 
 | #endif /* EXPERIMENTAL */ | 
 |  |