| 
									
										
										
										
											2007-02-27 05:16:30 +00: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 01:16:18 +00:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2007-02-27 05:16:30 +00: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 00:33:32 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-07-10 01:16:18 +00:00
										 |  |  |  /*
 | 
					
						
							| 
									
										
										
										
											2009-10-27 14:41:35 -04:00
										 |  |  |   * See Documentation/filesystems/nfs/Exporting | 
					
						
							| 
									
										
										
										
											2007-02-27 05:16:30 +00:00
										 |  |  |   * and examples in fs/exportfs | 
					
						
							| 
									
										
										
										
											2007-07-11 18:30:34 +00: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 05:16:30 +00:00
										 |  |  |   */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <linux/fs.h>
 | 
					
						
							| 
									
										
										
										
											2007-07-19 00:32:25 +00:00
										 |  |  | #include <linux/exportfs.h>
 | 
					
						
							| 
									
										
										
										
											2007-07-11 18:30:34 +00:00
										 |  |  | #include "cifsglob.h"
 | 
					
						
							|  |  |  | #include "cifs_debug.h"
 | 
					
						
							| 
									
										
										
										
											2007-10-12 04:11:59 +00:00
										 |  |  | #include "cifsfs.h"
 | 
					
						
							| 
									
										
										
										
											2007-07-11 18:30:34 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-10-12 14:14:04 +02:00
										 |  |  | #ifdef CONFIG_CIFS_NFSD_EXPORT
 | 
					
						
							| 
									
										
										
										
											2007-02-27 05:16:30 +00:00
										 |  |  | static struct dentry *cifs_get_parent(struct dentry *dentry) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2007-07-10 01:16:18 +00:00
										 |  |  | 	/* BB need to add code here eventually to enable export via NFSD */ | 
					
						
							| 
									
										
										
										
											2013-05-04 22:12:25 -05:00
										 |  |  | 	cifs_dbg(FYI, "get parent for %p\n", dentry); | 
					
						
							| 
									
										
										
										
											2007-07-10 01:16:18 +00:00
										 |  |  | 	return ERR_PTR(-EACCES); | 
					
						
							| 
									
										
										
										
											2007-02-27 05:16:30 +00:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2007-07-13 00:33:32 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-10-21 16:42:17 -07:00
										 |  |  | const struct export_operations cifs_export_ops = { | 
					
						
							| 
									
										
										
										
											2007-07-10 01:16:18 +00: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 00:33:32 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-10-12 14:14:04 +02:00
										 |  |  | #endif /* CONFIG_CIFS_NFSD_EXPORT */
 | 
					
						
							| 
									
										
										
										
											2007-07-13 00:33:32 +00:00
										 |  |  | 
 |