diff options
author | Alexander Bokovoy <ab@samba.org> | 2003-05-11 23:34:18 +0000 |
---|---|---|
committer | Alexander Bokovoy <ab@samba.org> | 2003-05-11 23:34:18 +0000 |
commit | e7c8c15888454043c73967635deb4d3419a489e9 (patch) | |
tree | f876b48b107b0f1c3b05445f1198d4858a46aa24 /source3/smbd/service.c | |
parent | 03589cf994e91a06a44e528d5864f2c85bcf8bef (diff) | |
download | samba-e7c8c15888454043c73967635deb4d3419a489e9.tar.gz samba-e7c8c15888454043c73967635deb4d3419a489e9.tar.bz2 samba-e7c8c15888454043c73967635deb4d3419a489e9.zip |
Fix VFS layer:
1. Finally work with cascaded modules with private data storage per module
2. Convert VFS API to macro calls to simplify cascading
3. Add quota support to VFS layer (prepare to NT quota support)
Patch by Stefan (metze) Metzemacher, with review of Jelmer and me
Tested in past few weeks. Documentation to new VFS API for third-party developers to follow
(This used to be commit 91984ef5caa2d13c5d52e1f535bd3bbbae1ec978)
Diffstat (limited to 'source3/smbd/service.c')
-rw-r--r-- | source3/smbd/service.c | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/source3/smbd/service.c b/source3/smbd/service.c index cfb5e0e414..0e4c87c7fb 100644 --- a/source3/smbd/service.c +++ b/source3/smbd/service.c @@ -704,14 +704,12 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser, /* Invoke VFS make connection hook */ - if (conn->vfs_ops.connect) { - if (conn->vfs_ops.connect(conn, lp_servicename(snum), user) < 0) { - DEBUG(0,("make_connection: VFS make connection failed!\n")); - change_to_root_user(); - conn_free(conn); - *status = NT_STATUS_UNSUCCESSFUL; - return NULL; - } + if (VFS_CONNECT(conn, lp_servicename(snum), user) < 0) { + DEBUG(0,("make_connection: VFS make connection failed!\n")); + change_to_root_user(); + conn_free(conn); + *status = NT_STATUS_UNSUCCESSFUL; + return NULL; } /* we've finished with the user stuff - go back to root */ @@ -872,13 +870,8 @@ void close_cnum(connection_struct *conn, uint16 vuid) get_remote_machine_name(),conn->client_address, lp_servicename(SNUM(conn)))); - if (conn->vfs_ops.disconnect != NULL) { - - /* Call VFS disconnect hook */ - - conn->vfs_ops.disconnect(conn); - - } + /* Call VFS disconnect hook */ + VFS_DISCONNECT(conn); yield_connection(conn, lp_servicename(SNUM(conn))); |