On Thu, Apr 21, 2005 at 05:23:19PM +1000, James Peach wrote: > On 4/20/05, Cale Fairchild <[EMAIL PROTECTED]> wrote: > > Thanks for the patch, unfortunately when I installed it I had a lot more > > files missing from the directory listing and I have not taken much time to > > look at why. But it certainly is the cast that off_t on the IRIX box is 8 > > bytes > > in the current OS, however the compilers seem to convert the long values > > properly so long as overflow does not occur. > > > > Thanks to your suggestion on looking at the 'xfs_growfs -n' output I think > > that > > I have finally tracked down the problem with the missing file. In IRIX > > systems > > that have version 1 naming the last entry in that directory listing has a > > dirent->d_off value of -1 if you treat it as a long. On systems with > > version 2 > > naming the value is not set to -1. In samba 3.0.11 there was no apparent > > test > > of the dirent->d_off field, but in 3.0.12 it performs a telldir after > > reading > > the last name and returns NULL if the offset it -1. > > Nice work! I'm away from the lab this week, but I'll have a patch for > you early next week. Thanks for digging into this.
If I'm not wrong just deleting these lines should do it... Can you report back to me if this works please ? Thanks, Jeremy.
Index: smbd/dir.c =================================================================== --- smbd/dir.c (revision 6413) +++ smbd/dir.c (working copy) @@ -1038,9 +1038,6 @@ while ((n = vfs_readdirname(conn, dirp->dir))) { struct name_cache_entry *e; dirp->offset = SMB_VFS_TELLDIR(conn, dirp->dir); - if (dirp->offset == -1) { - return NULL; - } dirp->name_cache_index = (dirp->name_cache_index+1) % NAME_CACHE_SIZE; e = &dirp->name_cache[dirp->name_cache_index];
-- To unsubscribe from this list go to the following URL and read the instructions: https://lists.samba.org/mailman/listinfo/samba