[Pvfs2-developers] kernel readdir question
Phil Carns
pcarns at wastedcycles.org
Fri Nov 10 09:48:56 EST 2006
Thanks!
Sam Lang wrote:
>
> Attached patch that removes directory_version from the pvfs2_inode
> struct and seems to fix the missing . and .. bug. Let me know if it
> looks ok.
>
> -sam
>
>
>
> On Nov 9, 2006, at 1:09 PM, Murali Vilayannur wrote:
>
>> Hey Sam,
>>
>>> >
>>> Agreed, but the directory_version field will be non-zero, since we
>>> didn't let the readdirs complete the listing. This prevents the .
>>> and .. from getting added on the next ls.
>>
>>
>> I am not sure that will happen because each ls will reopen the
>> directory and
>> iterate through. If people want . and .. they have to rewind to the
>> beginning and/or reopen
>> the directory...
>>
>>> I think we're in agreement then.
>>
>> I do agree though that we don't need the version field..
>>
>>> I think I can look at it if that's alright.
>>
>>
>>
>> By all means! :)
>> thanks,
>> Murali
>>
>>>
>>> -sam
>>>
>>> > thanks,
>>> > Murali
>>> >
>>> >> -sam
>>> >>
>>> >> > thanks,
>>> >> > Murali
>>> >> >
>>> >> > On 11/8/06, Phil Carns <pcarns at wastedcycles.org> wrote:
>>> >> >> It's been a while since I've seen this bug first hand, but I am
>>> >> >> just now
>>> >> >> getting around to looking at it.
>>> >> >>
>>> >> >> Every once in a while we have seen cases where "ls -al" in a
>>> pvfs2
>>> >> >> directory fails to show the "." and ".." entries. I _think_
>>> >> this has
>>> >> >> mainly occurred after restarting pvfs2-client and/or pvfs2-
>>> server,
>>> >> >> but I
>>> >> >> am not certain. I can't seem to reproduce it.
>>> >> >>
>>> >> >> At any rate, looking at the code in dir.c, it seems like filling
>>> >> >> in the
>>> >> >> "." and ".." entries should be pretty much automatic. However,
>>> >> >> there is
>>> >> >> an if statement wrapped around the filldir() calls that looks
>>> like
>>> >> >> this:
>>> >> >>
>>> >> >> if (pvfs2_inode->directory_version == 0)
>>> >> >> {
>>> >> >>
>>> >> >> Anyone know what the purpose if this check is? It seems to me
>>> >> >> like "."
>>> >> >> and ".." should be entries for position 0 and 1 regardless of the
>>> >> >> directory version, but I may be missing something.
>>> >> >>
>>> >> >> -Phil
>>> >> >> _______________________________________________
>>> >> >> Pvfs2-developers mailing list
>>> >> >> Pvfs2-developers at beowulf-underground.org
>>> >> >> http://www.beowulf-underground.org/mailman/listinfo/pvfs2-
>>> >> developers
>>> >> >>
>>> >> > _______________________________________________
>>> >> > Pvfs2-developers mailing list
>>> >> > Pvfs2-developers at beowulf-underground.org
>>> >> > http://www.beowulf-underground.org/mailman/listinfo/pvfs2-
>>> >> developers
>>> >> >
>>> >>
>>> >>
>>> >
>>>
>>>
>>
>
More information about the Pvfs2-developers
mailing list