diff options
author | Jeremy Allison <jra@samba.org> | 1999-01-06 02:18:57 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 1999-01-06 02:18:57 +0000 |
commit | e8344156bb9d161235d40755635f5bbdd3916ef1 (patch) | |
tree | 89578403f90f20004ba183dd2d59241ab6560ff2 /source/include | |
parent | 5a71a6c96f1b2208a302b974f8274fae1e98b546 (diff) | |
download | samba-e8344156bb9d161235d40755635f5bbdd3916ef1.tar.gz samba-e8344156bb9d161235d40755635f5bbdd3916ef1.tar.xz samba-e8344156bb9d161235d40755635f5bbdd3916ef1.zip |
Converted the code in smbd/dir.c to use bitmaps instead of a static
array for directory handles. This tidied up the code a *lot*.
Plus it means I've fixed the bug in PR#10058, which was due to an
NT app that wanted to simultaneously open >256 directory handles.
Jeremy.
Diffstat (limited to 'source/include')
-rw-r--r-- | source/include/local.h | 5 | ||||
-rw-r--r-- | source/include/proto.h | 13 |
2 files changed, 14 insertions, 4 deletions
diff --git a/source/include/local.h b/source/include/local.h index 3261da1cdc3..6aef7f0b8dd 100644 --- a/source/include/local.h +++ b/source/include/local.h @@ -34,6 +34,11 @@ file handle per directory, but large numbers do use more memory */ #define MAX_OPEN_DIRECTORIES 64 +/* max number of directory handles */ +/* As this now uses the bitmap code this can be + quite large. */ +#define MAX_DIRECTORY_HANDLES 2048 + /* define what facility to use for syslog */ #ifndef SYSLOG_FACILITY #define SYSLOG_FACILITY LOG_DAEMON diff --git a/source/include/proto.h b/source/include/proto.h index 1f4f522ac77..72baf1c77ec 100644 --- a/source/include/proto.h +++ b/source/include/proto.h @@ -2412,10 +2412,6 @@ int reply_negprot(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); -/*The following definitions come from smbd/noquotas.c */ - -BOOL disk_quotas(char *path,SMB_BIG_UINT *bsize,SMB_BIG_UINT *dfree,SMB_BIG_UINT *dsize); - /*The following definitions come from smbd/nttrans.c */ void fail_next_srvsvc_open(void); @@ -2510,6 +2506,15 @@ void construct_reply_common(char *inbuf,char *outbuf); int chain_reply(char *inbuf,char *outbuf,int size,int bufsize); void smbd_process(void); +/*The following definitions come from smbd/quotas.c */ + +BOOL disk_quotas(char *path, SMB_BIG_UINT *bsize, SMB_BIG_UINT *dfree, SMB_BIG_UINT *dsize); +BOOL disk_quotas(char *path, SMB_BIG_UINT *bsize, SMB_BIG_UINT *dfree, SMB_BIG_UINT *dsize); +BOOL disk_quotas(char *path, SMB_BIG_UINT *bsize, SMB_BIG_UINT *dfree, SMB_BIG_UINT *dsize); +BOOL disk_quotas(char *path, SMB_BIG_UINT *bsize, SMB_BIG_UINT *dfree, SMB_BIG_UINT *dsize); +BOOL disk_quotas(char *path, SMB_BIG_UINT *bsize, SMB_BIG_UINT *dfree, SMB_BIG_UINT *dsize); +BOOL disk_quotas(char *path, SMB_BIG_UINT *bsize, SMB_BIG_UINT *dfree, SMB_BIG_UINT *dsize); + /*The following definitions come from smbd/reply.c */ int reply_special(char *inbuf,char *outbuf); |