54 lines · c
1// SPDX-License-Identifier: LGPL-2.12/*3 *4 * Copyright (C) International Business Machines Corp., 20075 * Author(s): Steve French (sfrench@us.ibm.com)6 *7 * Common Internet FileSystem (CIFS) client8 *9 * Operations related to support for exporting files via NFSD10 *11 */12 13 /*14 * See Documentation/filesystems/nfs/exporting.rst15 * and examples in fs/exportfs16 *17 * Since cifs is a network file system, an "fsid" must be included for18 * any nfs exports file entries which refer to cifs paths. In addition19 * the cifs mount must be mounted with the "serverino" option (ie use stable20 * server inode numbers instead of locally generated temporary ones).21 * Although cifs inodes do not use generation numbers (have generation number22 * of zero) - the inode number alone should be good enough for simple cases23 * in which users want to export cifs shares with NFS. The decode and encode24 * could be improved by using a new routine which expects 64 bit inode numbers25 * instead of the default 32 bit routines in fs/exportfs26 *27 */28 29#include <linux/fs.h>30#include <linux/exportfs.h>31#include "cifsglob.h"32#include "cifs_debug.h"33#include "cifsfs.h"34 35#ifdef CONFIG_CIFS_NFSD_EXPORT36static struct dentry *cifs_get_parent(struct dentry *dentry)37{38 /* BB need to add code here eventually to enable export via NFSD */39 cifs_dbg(FYI, "get parent for %p\n", dentry);40 return ERR_PTR(-EACCES);41}42 43const struct export_operations cifs_export_ops = {44 .encode_fh = generic_encode_ino32_fh,45 .get_parent = cifs_get_parent,46/*47 * Following export operations are mandatory for NFS export support:48 * .fh_to_dentry =49 */50};51 52#endif /* CONFIG_CIFS_NFSD_EXPORT */53 54