BSDC wrote: >Getting "operation not supported" messages on a long ls listing with >unionfs mounts. Trying to setup a jail using unionfs, has anyone any >ideas why I'm seeing this with ls? > ># mount >/dev/da0s1a on / (ufs, local, noatime, soft-updates, acls) >devfs on /dev (devfs, local, multilabel) >/dev/vinum/usr on /usr (ufs, NFS exported, local, noatime, soft-updates, acls) >/dev/vinum/var on /var (ufs, local, noatime, soft-updates, acls) ><below>:/usr/jail/template on /usr/jail/172.16.1.1 (unionfs, noatime, noclusterw, acls) >^^^^^^^ > ># ls -l /usr/jail/172.16.1.1/ >ls: /usr/jail/172.16.1.1/.cshrc: Operation not supported >-rw-r--r-- 2 root wheel 797 Dec 24 03:04 .cshrc >ls: /usr/jail/172.16.1.1/.profile: Operation not supported >-rw-r--r-- 2 root wheel 251 Dec 24 03:04 .profile > > The problem seems to be that ls is performing a pathconf(2) _PC_ACL_EXTENDED request on the file to determine whether ACLs are supported on the file, and this request is getting passed down from unionfs to one of the UFS layers, which is indicating that ACLs are supported, but unionfs does not actually support ACLs. I've attached an (untested) patch that should make unionfs reject _PC_ACL_EXTENDED. Access to files should still be controlled by the ACLs, but you won't be able to query or modify them through unionfs. Let me know if this patch works & I'll see if I can get proper ACL support implemented. Tim ==== //depot/user/tjr/freebsd-tjr/src/sys/fs/unionfs/union_vnops.c#5 - /p4/src/sys/fs/unionfs/union_vnops.c ==== _at__at_ -51,6 +51,7 _at__at_ #include <sys/buf.h> #include <sys/lock.h> #include <sys/sysctl.h> +#include <sys/unistd.h> #include <fs/unionfs/union.h> #include <vm/vm.h> _at__at_ -1780,6 +1781,9 _at__at_ struct union_node *un = VTOUNION(ap->a_vp); struct vnode *vp; + if (ap->a_name == _PC_ACL_EXTENDED) + return (EINVAL); + vp = union_lock_other(un, td); KASSERT(vp != NULL, ("union_pathconf: backing vnode missing!"));Received on Fri Dec 26 2003 - 01:25:28 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:35 UTC