CVS update: samba4/source/ntvfs

Stefan Metzmacher metze at metzemix.de
Tue Nov 25 07:27:18 GMT 2003


Jelmer Vernooij wrote:
> Date:	Tue Nov 25 03:15:26 2003
> Author:	jelmer
> 
> Update of /home/cvs/samba4/source/ntvfs
> In directory dp.samba.org:/tmp/cvs-serv11841/ntvfs
> 
> Modified Files:
> 	ntvfs_base.c 
> Log Message:
> 
> CVS: ----------------------------------------------------------------------
> CVS: Enter Log.  Lines beginning with `CVS:' are removed automatically
> CVS: 
> CVS: Committing in .
> CVS: 
> CVS: Modified Files:
> CVS: 	Makefile.in configure.in include/includes.h include/ntvfs.h 
> CVS: 	include/smb.h lib/iconv.c lib/module.c ntvfs/ntvfs_base.c 
> CVS: 	ntvfs/cifs/vfs_cifs.c ntvfs/ipc/vfs_ipc.c 
> CVS: 	ntvfs/posix/vfs_posix.c ntvfs/print/vfs_print.c 
> CVS: 	ntvfs/reference/vfs_ref.c ntvfs/simple/vfs_simple.c 
> CVS: 	passdb/pdb_interface.c 
> CVS: Added Files:
> CVS: 	include/module.h 
> CVS: ----------------------------------------------------------------------
> Update to the modules system. Fixed:
>  - get rid of smb_probe_module
>  - merge older updates from 3.0
>  - introduced register_subsystem() and register_backend() functions
>  - adapt ntvfs and charset to use new register functions
>  - made smb_load_modules() work recursively (e.g. 'preload modules = /usr/lib/samba')
>  - got rid of some old remains
> 
> Things that still need work:
>  - Did I break tankFS? I don't think so, but I can't test it here :-(
>  - Add 'postload modules = ' (for modules that need to be loaded after fork() in smbd, if applicable)
>  - Convert RPC, auth, passdb, etc to use new register_{subsystem,backend}() functions
>  - Accept wildcards in 'preload modules' option, instead of loading recursively

Patch looks good!:-)

but one thing I'd like to see is

  /* the ntvfs operations structure - contains function pointers to
     the backend implementations of each operation */
  struct ntvfs_ops {
+	int version;
	const char *name;
	enum ntvfs_type type;
	
  	/* initial setup */


here some comments I have a long time in my 4_0-question tree:-)

--- ntvfs/ntvfs_base.c  25 Nov 2003 03:15:26 -0000      1.2
+++ ntvfs/ntvfs_base.c  25 Nov 2003 07:25:34 -0000
@@ -42,6 +42,7 @@
  */
  static NTSTATUS ntvfs_register(void *_ops)
  {
+/* METZE: check for NTVFS_INTERFACE_VERSION as int version (first param) would be good
         struct ntvfs_ops *ops = _ops;

         if (ntvfs_backend_byname(ops->name, ops->type) != NULL) {
@@ -90,6 +91,8 @@
  */
  int ntvfs_interface_version(struct ntvfs_critical_sizes *sizes)
  {
+/* METZE: this segfaults :-( I would preferr int version as first param
+          and fill the struct only if the versions match*/
         sizes->sizeof_ntvfs_ops = sizeof(struct ntvfs_ops);
         sizes->sizeof_SMB_OFF_T = sizeof(SMB_OFF_T);
         sizes->sizeof_tcon_context = sizeof(struct tcon_context);

-- 

metze

-------------------------------------------
Stefan (metze) Metzmacher <metze at metzemix.de>




More information about the samba-technical mailing list