[Samba] Missing Files/Missing Folders from an NFS Share
Jeremy Allison
jra at samba.org
Mon Feb 27 19:15:13 UTC 2023
On Mon, Feb 27, 2023 at 08:10:01PM +0100, Conor Armstrong wrote:
> Ok, fair enough, but the debug level 9 logs are showing negative offsets.
> Can’t explain that other than the signed/unsigned issue.
Samba doesn't care if the offset is negative. It's simply stored as
a 'long', which is what POSIX requires from telldir().
So long as:
long x = telldir()
readdir(...)
seekdir(x)
readdir(...)
returns to the same position as before the readdir(), so
that the second readdir() returns the next entry in the
directory metadata, we should work.
As I said, the only numbers that will conflict with
Samba are:
#define END_OF_DIRECTORY_OFFSET ((long)-1)
#define START_OF_DIRECTORY_OFFSET ((long)0)
#define DOT_DOT_DIRECTORY_OFFSET ((long)0x80000000)
which it's unlikely for the NFS server to be returning.
If when we do:
long x = telldir()
readdir(...)
seekdir(x)
readdir(...)
the second readdir() returns a *different* name than
the first readdir(), then the NFS server is broken.
That's what I'm trying to discover.
More information about the samba
mailing list