bug-findutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #24140] Painfully slow find(1) in list-permission-only AFS paths


From: James Youngman
Subject: [bug #24140] Painfully slow find(1) in list-permission-only AFS paths
Date: Tue, 02 Sep 2008 10:12:05 +0000
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.1) Gecko/2008071420 Iceweasel/3.0.1 (Debian-3.0.1-1)

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/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]