On Mon, 10 Oct 2022 at 04:04, Aurélien Aptel <aurelien.aptel@xxxxxxxxx> wrote: > > Hi, > > Make sure you're not re-introducing the bug where the first few files > are missing when mounting the root of a Windows drive. > > See fix https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/fs/cifs/smb2ops.c?id=0595751f267994c3c7027377058e4185b3a28e75 > > And bug https://bugzilla.samba.org/show_bug.cgi?id=13107 Yeah. What confuses things is that we do not create a contignous sequence of index positions when we emit a directory. For the dir_context, ctx->pos starts at 0 for the first entry and then increments by one for each other entry. We do not currently create a contignous space but one with one or two holes in it. We start by explicitely emitting '.' and '..' and these are at position 0 and 2 respectively. But then, for a server that for example DOES return entries for '.' and '..' we skip emitting these entries but still increment pos, thus we end up with a sequence for index positions of the entries of 0,1,4,5,6,7,... I.e. there is a hole in the sequence where 2 and 3 are missing becasue these were the dot directories that the server responded and that we did not emit, but we incremented pos. This should ideally be fixed because otherwise, what would lseek(3), mean ? > > Cheers,