From 77e3068d7c05fa3602259ff8c9e85a3d94b625be Mon Sep 17 00:00:00 2001 From: Gerald Carter Date: Tue, 28 Jan 2003 02:14:11 +0000 Subject: [PATCH] performance patch from HP-UX folks (cant remember who) --- source/smbd/quotas.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/source/smbd/quotas.c b/source/smbd/quotas.c index 4cfa05b1997..be72d26058d 100644 --- a/source/smbd/quotas.c +++ b/source/smbd/quotas.c @@ -908,10 +908,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(); -- 2.11.4.GIT