linux/fs/cifs/export.c
<<
>>
Prefs
   1/*
   2 *   fs/cifs/export.c
   3 *
   4 *   Copyright (C) International Business Machines  Corp., 2007
   5 *   Author(s): Steve French (sfrench@us.ibm.com)
   6 *
   7 *   Common Internet FileSystem (CIFS) client
   8 *
   9 *   Operations related to support for exporting files via NFSD
  10 *
  11 *   This library is free software; you can redistribute it and/or modify
  12 *   it under the terms of the GNU Lesser General Public License as published
  13 *   by the Free Software Foundation; either version 2.1 of the License, or
  14 *   (at your option) any later version.
  15 *
  16 *   This library is distributed in the hope that it will be useful,
  17 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
  18 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
  19 *   the GNU Lesser General Public License for more details.
  20 *
  21 *   You should have received a copy of the GNU Lesser General Public License
  22 *   along with this library; if not, write to the Free Software
  23 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  24 */
  25
  26 /*
  27  * See Documentation/filesystems/nfs/Exporting
  28  * and examples in fs/exportfs
  29  *
  30  * Since cifs is a network file system, an "fsid" must be included for
  31  * any nfs exports file entries which refer to cifs paths.  In addition
  32  * the cifs mount must be mounted with the "serverino" option (ie use stable
  33  * server inode numbers instead of locally generated temporary ones).
  34  * Although cifs inodes do not use generation numbers (have generation number
  35  * of zero) - the inode number alone should be good enough for simple cases
  36  * in which users want to export cifs shares with NFS. The decode and encode
  37  * could be improved by using a new routine which expects 64 bit inode numbers
  38  * instead of the default 32 bit routines in fs/exportfs
  39  *
  40  */
  41
  42#include <linux/fs.h>
  43#include <linux/exportfs.h>
  44#include "cifsglob.h"
  45#include "cifs_debug.h"
  46#include "cifsfs.h"
  47
  48#ifdef CONFIG_CIFS_NFSD_EXPORT
  49static struct dentry *cifs_get_parent(struct dentry *dentry)
  50{
  51        /* BB need to add code here eventually to enable export via NFSD */
  52        cifs_dbg(FYI, "get parent for %p\n", dentry);
  53        return ERR_PTR(-EACCES);
  54}
  55
  56const struct export_operations cifs_export_ops = {
  57        .get_parent = cifs_get_parent,
  58/*      Following five export operations are unneeded so far and can default:
  59        .get_dentry =
  60        .get_name =
  61        .find_exported_dentry =
  62        .decode_fh =
  63        .encode_fs =  */
  64};
  65
  66#endif /* CONFIG_CIFS_NFSD_EXPORT */
  67
  68