Zmena spravania chmod na FreeBSD 9 (alebo ZFS)
Cejka Rudolf
cejkar at fit.vutbr.cz
Thu Nov 7 14:18:26 CET 2013
Miroslav Lachman wrote (2013/11/07):
> Marián Černý wrote:
> > Miroslav Lachman wrote:
>
> [...]
>
> > Netusite niekto, ci je mozne ACL na ZFS vypnut?
Zdá se, že to podstatné je v ZFS zadrátované, viz
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c:
static int
zfs_pathconf(vnode_t *vp, int cmd, ulong_t *valp, cred_t *cr,
caller_context_t *ct)
{
...
case _PC_ACL_NFS4:
*valp = 1;
return (0);
...
}
A části z /usr/src/bin/chmod/chmod.c, které ukazují, že když pathconf()
vrátí nulu, optimalizace se udělá, ale pokud pathconf() vrátí 1,
optimalizace se neudělá:
...
/*
* With NFSv4 ACLs, it is possible that applying a mode
* identical to the one computed from an ACL will change
* that ACL.
*/
if (may_have_nfs4acl(p, hflag) == 0 &&
(newmode & ALLPERMS) == (p->fts_statp->st_mode & ALLPERMS))
continue;
... ### continue a chmod se neudělá ###
error = chmod(p->fts_accpath, newmode);
...
may_have_nfs4acl(const FTSENT *ent, int hflag)
{
...
ret = pathconf(ent->fts_accpath, _PC_ACL_NFS4);
...
}
Spíš než změně v ZFS věřím ve změně v chmod.c, ale na historii jsem se
nedíval, to už můžou další ;o)
--
Rudolf Cejka <cejkar at fit.vutbr.cz> http://www.fit.vutbr.cz/~cejkar
Brno University of Technology, Faculty of Information Technology
Bozetechova 2, 612 66 Brno, Czech Republic
More information about the Users-l
mailing list