This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Spam:Re: Find not working w/ Samba drive

On Apr 12 11:48, Corinna Vinschen wrote:
> On Apr 11 15:45, Stefan Vorkoetter wrote:
> > And here's one from a Samba 2.2.3a share, repeated twice. Notice the inodes 
> > are different each time.
> > 
> > ~/sandboxes/main/internal/src [920] $ ls -i 
> > v:/internal_html/2006-04-10/*.jpg
> > 3796172808 v:/internal_html/2006-04-10/17-50-56.jpg
> > [...]
> I have a vague hope.  It really looks like the inode numbers sent by
> older Samba versions are 32 bit values, which would allow to distinguish
> between old and new versions.
> Would you or anybody with an older Samba version mind to look into
> more directories on the share and try to figure out if the inode number
> is always smaller than UINT_MAX (4294967295)?  I just need a feedback
> of yes or no.

Btw., I have hacked together a tiny testcase which lists a directory and
evaluates the inode numbers using readdir and lstat.  I would be
interested to see the output for some smaller directories on shares
using pre-3.0 Samba versions.  This should also simplify testing in


======================== SNIP =====================
#include <stdlib.h>
#include <dirent.h>
#include <unistd.h>
#include <sys/stat.h>
#include <stdio.h>

main(int argc, char **argv)
  DIR *dirp;
  int fd;
  struct stat sb;
  struct dirent *d;

  if (argc > 1)
      dirp = opendir(argv[1]);
      if (dirp)
          while (d = readdir (dirp))
              char buf[256];
              struct stat st;

              strcpy (buf, argv[1]);
              if (buf[strlen (buf) - 1] != '/')
                strcat (buf, "/");
              strcat (buf, d->d_name);
              lstat (buf, &st);
              printf ("%24s d: %18.18llu, st: %18.18llu\n",
                      d->d_name, d->d_ino, st.st_ino);
          closedir (dirp);
          printf("dirp = NULL\n");
  return 0;
======================== SNAP =====================

Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

Unsubscribe info:
Problem reports:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]