diff options
author | Gerald Carter <jerry@samba.org> | 2003-01-28 02:14:33 +0000 |
---|---|---|
committer | Gerald Carter <jerry@samba.org> | 2003-01-28 02:14:33 +0000 |
commit | 99bb7dccb29f44d7edeb0fca3f8cfc01bda03281 (patch) | |
tree | befcec923858854b4458ef1490adcb925af72964 /source3/smbd | |
parent | 9c50a316f5680796ba84e016eca40c2efce26f4c (diff) | |
download | samba-99bb7dccb29f44d7edeb0fca3f8cfc01bda03281.tar.gz samba-99bb7dccb29f44d7edeb0fca3f8cfc01bda03281.tar.bz2 samba-99bb7dccb29f44d7edeb0fca3f8cfc01bda03281.zip |
performance patch from HP-UX folks (cant remember who)
(This used to be commit 9180e2d062ac18dc5e7e8d0737973dc9e806e412)
Diffstat (limited to 'source3/smbd')
-rw-r--r-- | source3/smbd/quotas.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/source3/smbd/quotas.c b/source3/smbd/quotas.c index 90fd4bbdac..9d3bfe2d64 100644 --- a/source3/smbd/quotas.c +++ b/source3/smbd/quotas.c @@ -886,10 +886,21 @@ BOOL disk_quotas(const char *path, SMB_BIG_UINT *bsize, SMB_BIG_UINT *dfree, SMB #if !defined(__FreeBSD__) && !defined(AIX) && !defined(__OpenBSD__) char dev_disk[256]; SMB_STRUCT_STAT S; + /* find the block device file */ - if ((sys_stat(path, &S)<0) || - (devnm(S_IFBLK, S.st_dev, dev_disk, 256, 0)<0)) return (False); -#endif + +#ifdef HPUX + /* Need to set the cache flag to 1 for HPUX. Seems + * to have a significant performance boost when + * lstat calls on /dev access this function. + */ + if ((sys_stat(path, &S)<0) || (devnm(S_IFBLK, S.st_dev, dev_disk, 256, 1)<0)) +#else + if ((sys_stat(path, &S)<0) || (devnm(S_IFBLK, S.st_dev, dev_disk, 256, 0)<0)) + return (False); +#endif /* ifdef HPUX */ + +#endif /* !defined(__FreeBSD__) && !defined(AIX) && !defined(__OpenBSD__) */ euser_id = geteuid(); |