aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs/export.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/cifs/export.c')
-rw-r--r--fs/cifs/export.c49
1 files changed, 31 insertions, 18 deletions
diff --git a/fs/cifs/export.c b/fs/cifs/export.c
index 96df1d51fd..893fd0aebf 100644
--- a/fs/cifs/export.c
+++ b/fs/cifs/export.c
@@ -5,7 +5,7 @@
5 * Author(s): Steve French (sfrench@us.ibm.com) 5 * Author(s): Steve French (sfrench@us.ibm.com)
6 * 6 *
7 * Common Internet FileSystem (CIFS) client 7 * Common Internet FileSystem (CIFS) client
8 * 8 *
9 * Operations related to support for exporting files via NFSD 9 * Operations related to support for exporting files via NFSD
10 * 10 *
11 * This library is free software; you can redistribute it and/or modify 11 * This library is free software; you can redistribute it and/or modify
@@ -22,32 +22,45 @@
22 * along with this library; if not, write to the Free Software 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 23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 */ 24 */
25 25
26 /* 26 /*
27 * See Documentation/filesystems/Exporting 27 * See Documentation/filesystems/Exporting
28 * and examples in fs/exportfs 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 *
29 */ 40 */
30 41
31#include <linux/fs.h> 42#include <linux/fs.h>
32#include <linux/exportfs.h> 43#include <linux/exportfs.h>
33 44#include "cifsglob.h"
45#include "cifs_debug.h"
46
34#ifdef CONFIG_CIFS_EXPERIMENTAL 47#ifdef CONFIG_CIFS_EXPERIMENTAL
35
36static struct dentry *cifs_get_parent(struct dentry *dentry) 48static struct dentry *cifs_get_parent(struct dentry *dentry)
37{ 49{
38 /* BB need to add code here eventually to enable export via NFSD */ 50 /* BB need to add code here eventually to enable export via NFSD */
39 return ERR_PTR(-EACCES); 51 cFYI(1, ("get parent for %p", dentry));
52 return ERR_PTR(-EACCES);
40} 53}
41 54
42struct export_operations cifs_export_ops = { 55struct export_operations cifs_export_ops = {
43 .get_parent = cifs_get_parent, 56 .get_parent = cifs_get_parent,
44/* Following five export operations are unneeded so far and can default */ 57/* Following five export operations are unneeded so far and can default:
45/* .get_dentry = 58 .get_dentry =
46 .get_name = 59 .get_name =
47 .find_exported_dentry = 60 .find_exported_dentry =
48 .decode_fh = 61 .decode_fh =
49 .encode_fs = */ 62 .encode_fs = */
50 }; 63};
51 64
52#endif /* EXPERIMENTAL */ 65#endif /* EXPERIMENTAL */
53 66