2007-02-27 08:16:30 +03:00
/*
* fs / cifs / export . c
*
* Copyright ( C ) International Business Machines Corp . , 2007
* Author ( s ) : Steve French ( sfrench @ us . ibm . com )
*
* Common Internet FileSystem ( CIFS ) client
2007-07-10 05:16:18 +04:00
*
2007-02-27 08:16:30 +03:00
* 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
*/
2007-07-13 04:33:32 +04:00
2007-07-10 05:16:18 +04:00
/*
2009-10-27 21:41:35 +03:00
* See Documentation / filesystems / nfs / Exporting
2007-02-27 08:16:30 +03:00
* and examples in fs / exportfs
2007-07-11 22:30:34 +04:00
*
* 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
*
2007-02-27 08:16:30 +03:00
*/
# include <linux/fs.h>
2007-07-19 04:32:25 +04:00
# include <linux/exportfs.h>
2007-07-11 22:30:34 +04:00
# include "cifsglob.h"
# include "cifs_debug.h"
2007-10-12 08:11:59 +04:00
# include "cifsfs.h"
2007-07-11 22:30:34 +04:00
2011-10-12 16:14:04 +04:00
# ifdef CONFIG_CIFS_NFSD_EXPORT
2007-02-27 08:16:30 +03:00
static struct dentry * cifs_get_parent ( struct dentry * dentry )
{
2007-07-10 05:16:18 +04:00
/* BB need to add code here eventually to enable export via NFSD */
2010-04-21 07:50:45 +04:00
cFYI ( 1 , " get parent for %p " , dentry ) ;
2007-07-10 05:16:18 +04:00
return ERR_PTR ( - EACCES ) ;
2007-02-27 08:16:30 +03:00
}
2007-07-13 04:33:32 +04:00
2007-10-22 03:42:17 +04:00
const struct export_operations cifs_export_ops = {
2007-07-10 05:16:18 +04:00
. 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 = */
} ;
2007-07-13 04:33:32 +04:00
2011-10-12 16:14:04 +04:00
# endif /* CONFIG_CIFS_NFSD_EXPORT */
2007-07-13 04:33:32 +04:00