Follow-up Comment #10, bug #24140 (project findutils):
> You would be open to a compile-time option to link against the AFS
libraries? (
Yes, absolutely. That's what configure is for.
> I was under the impression that this existed in past versions, and was
removed at some point.)
No, it is still there:
#ifdef AFS
#include <netinet/in.h>
#include <afs/venus.h>
#if __STDC__
/* On SunOS 4, afs/vice.h defines this to rely on a pre-ANSI cpp. */
#undef _VICEIOCTL
#define _VICEIOCTL(id) ((unsigned int ) _IOW('V', id, struct ViceIoctl))
#endif
#ifndef _IOW
/* AFS on Solaris 2.3 doesn't get this definition. */
#include <sys/ioccom.h>
#endif
static int
in_afs (char *path)
{
static char space[2048];
struct ViceIoctl vi;
vi.in_size = 0;
vi.out_size = sizeof (space);
vi.out = space;
if (pioctl (path, VIOC_FILE_CELL_NAME, &vi, 1)
&& (errno == EINVAL || errno == ENOENT))
return 0;
return 1;
}
#endif /* AFS */
static char *
file_system_type_uncached (const struct stat *statp, const char *path)
{
struct mount_entry *entries, *entry;
char *type;
(void) path;
#ifdef AFS
if (in_afs(path))
{
fstype_known = 1;
return xstrdup("afs");
}
#endif
...
> If we use libafs, we may as well go all the way and have find(1) check the
permissions on each directory (if in AFS) and cue off of that.
You may find this hard to integrate with fts.
However, if AFS volumes cannot contain anything that isn't AFS, you may not
need to provide such integration. Is it possible to mount a non-AFS
filesystem at a mount point within the AFS filesystem? What about bind
mounts?
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?24140>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/