From: Derrick Brashear Date: Wed, 18 Jul 2012 04:02:16 +0000 (-0400) Subject: libafs: getattr should include S_IFDIR on fake dirs X-Git-Tag: upstream/1.8.0_pre1^2~2185 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=cb807db4505a8d4a4c904d32a59ad168d4650e4c;p=packages%2Fo%2Fopenafs.git libafs: getattr should include S_IFDIR on fake dirs on macos, VDIR is not useful as part of a directory mode. it's just not. on aix, solaris, we presumably want to pass S_ISDIR, so do so Change-Id: I04ee49857febf1cf96d30bd6a8271f99192630c8 Reviewed-on: http://gerrit.openafs.org/7789 Tested-by: BuildBot Reviewed-by: Derrick Brashear --- diff --git a/src/afs/VNOPS/afs_vnop_attrs.c b/src/afs/VNOPS/afs_vnop_attrs.c index ef3f774c1..854f4ee81 100644 --- a/src/afs/VNOPS/afs_vnop_attrs.c +++ b/src/afs/VNOPS/afs_vnop_attrs.c @@ -54,8 +54,8 @@ afs_CopyOutAttrs(struct vcache *avc, struct vattr *attrs) if (afs_fakestat_enable && avc->mvstat == 1) fakedir = 1; attrs->va_type = fakedir ? VDIR : vType(avc); -#if defined(AFS_SGI_ENV) || defined(AFS_AIX32_ENV) || defined(AFS_SUN5_ENV) - attrs->va_mode = fakedir ? 0755 : (mode_t) (avc->f.m.Mode & 0xffff); +#if defined(AFS_SGI_ENV) || defined(AFS_AIX32_ENV) || defined(AFS_SUN5_ENV) || defined(AFS_DARWIN_ENV) + attrs->va_mode = fakedir ? S_IFDIR | 0755 : (mode_t) (avc->f.m.Mode & 0xffff); #else attrs->va_mode = fakedir ? VDIR | 0755 : avc->f.m.Mode; #endif