I don't see any obvious way that NO_FILE_TYPE can be returned, unless
the underlying FSAL returned it but didn't return error.  Without a
reproducer, debugging this is going to be difficult.

On Wed, Mar 15, 2017 at 1:23 PM, Supriti Singh <supritising...@gmail.com> wrote:
> Hi Daniel,
>
> Like you said, only if junction is a directory, callback getattrs is called.
> Which means that file type is directory.
> In mdcache_getattrs(), call to mdcache_refattrs() returns NO_FILE_TYPE.
>
> To me it seems like in between call from nfs_export_get_root_entry() and
> mdcache_refattrs(),
> somehow mdcache is updated.
>
> But I am not sure how.
>
>
>
>
> On Thu, Mar 2, 2017 at 6:12 PM, Daniel Gryniewicz <d...@redhat.com> wrote:
>>
>> I don't think it's the check for type==DIRECTORY.  If that fails, you'll
>> get the error message "Failed to get root for..." which is not in the
>> log snippet.  The callback is only called if the getattrs() on the
>> junction obj succeeds, so maybe it's failing?  A reproducer would help a
>> lot, if that's possible.
>>
>> Daniel
>>
>> On 03/02/2017 10:54 AM, Supriti Singh wrote:
>> > Thanks for reply.
>> >
>> > I investigated further and looking at log it seems that error occurs
>> > only at Junction point somehow.
>> >
>> > /*nfs4_readdir_callback :EXPORT :DEBUG :Need to cross junction to
>> > Export_Id 1 Path /
>> > */
>> > /**/
>> > /*nfs4_readdir_callback :RW LOCK :F_DBG :Unlocked 0x1f8ec08
>> > (&obj->state_hdl->state_lock) at /Protocols/NFS/nfs4_op_readdir.c:256
>> > populate_dirent :RW LOCK :F_DBG :Got read lock on 0x1f8ec08
>> > (&obj->state_hdl->state_lock) at /FSAL/fsal_helper.c:1330
>> > populate_dirent :RW LOCK :F_DBG :Unlocked 0x1f8ec08
>> > (&obj->state_hdl->state_lock) at /FSAL/fsal_helper.c:1341
>> > nfs_export_get_root_entry :RW LOCK :F_DBG :Got read lock on 0x1ed6d00
>> > (&export->lock) at support/exports.c:2118
>> > nfs_export_get_root_entry :RW LOCK :F_DBG :Unlocked 0x1ed6d00
>> > (&export->lock) at support/exports.c:2123
>> > mdcache_getattrs :RW LOCK :F_DBG :Got read lock on 0x1f64680
>> > (&entry->attr_lock) at
>> > /FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_handle.c:979
>> > mdcache_getattrs :RW LOCK :F_DBG :Unlocked 0x1f64680 (&entry->attr_lock)
>> > at /FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_handle.c:1026
>> > mdcache_getattrs :INODE :F_DBG :attrs  obj attributes Mask = 0005dfce
>> > NO_FILE_TYPE
>> >
>> > */In function populate_dirent --> call to nfs_export_get_root_entry
>> > checks that the junction mount is a directory.
>> > Only if its a directory call is made to mdcache_getattrs.
>> > I guess somehow in mdcache_refattrs, we get the wrong FILE TYPE.
>> >
>> > But sadly I don't have a reproducer. I will try to write a script that
>> > can reproduce it.
>> >
>> > Thanks,
>> > Supriti
>> >
>> >
>> > ------
>> > Supriti Singh
>> > SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton,
>> > HRB 21284 (AG Nürnberg)
>> >
>> >>>> Daniel Gryniewicz <d...@redhat.com> 03/02/17 2:29 PM >>>
>> > That's much better. A few fixes have gone in since 2.4.1 relating to
>> > readdir, mostly relating to large directories, or concurrent access from
>> > multiple clients, or readdir in the presence of add/delete/rename that
>> > turned up during stress testing for RHGS. It might be worth it to
>> > attempt to recreate on 2.4.3, and see if those fixes helped.
>> >
>> > There's also quite a bit of work that has gone into 2.5-dev related to
>> > cephfs, so that may have fixed issues here. Unfortunately, 2.5 isn't
>> > released yet; it will be at least a few weeks before that is ready. But
>> > if the issue can be reproduced in a lab, then checking with 2.5 may be a
>> > useful data point as well.
>> >
>> > Daniel
>> >
>> > On 03/01/2017 04:12 AM, Supriti Singh wrote:
>> >> My mistake. The package corresponds to tag 2.4.1.
>> >>
>> >>
>> >> ------
>> >> Supriti Singh
>> >> SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton,
>> >> HRB 21284 (AG Nürnberg)
>> >>
>> >>>>> Daniel Gryniewicz <d...@redhat.com> 02/28/17 7:13 PM >>>
>> >> Okay, that's a very old tag, and lots of changes have gone in since. We
>> >> won't be able to easily nail down what changed, but -dev27 isn't
>> >> necessarily expected to work properly.
>> >>
>> >> Daniel
>> >>
>> >> On 02/28/2017 01:06 PM, Supriti Singh wrote:
>> >>> This package was created from the tag 2.4-dev-27.
>> >>>
>> >>>
>> >>>
>> >>> ------
>> >>> Supriti Singh
>> >>> SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton,
>> >>> HRB 21284 (AG Nürnberg)
>> >>>
>> >>>>>> Daniel Gryniewicz <d...@redhat.com> 02/28/17 6:44 PM >>>
>> >>> Which exact version of 2.4 are they using? If it's 2.4.0.3 or earlier,
>> >>> then attribute access was reworked in 2.4.0.4 to fix a lot of races.
>> >>>
>> >>> Daniel
>> >>>
>> >>> On 02/28/2017 12:18 PM, Supriti Singh wrote:
>> >>>> Hello All,
>> >>>>
>> >>>> For one of our client, using nfs-ganesha v2.4 and ceph v10.2.4,
>> >>>> readdir
>> >>>> fails with error:
>> >>>>
>> >>>> On nfs-client: "/*Remote I/O error*/"
>> >>>>
>> >>>> In nfs-ganesha server log (Removed some part of readability)
>> >>>>
>> >>>> */mdcache_readdir :NFS READDIR :F_DBG :About to readdir in
>> >>>> mdcache_readdir: directory=0x1f8dc10 cookie=0 collisions 0
>> >>>> mdcache_getattrs :INODE :F_DBG :attrs obj attributes Mask = 0005dfce
>> >>>> NO_FILE_TYPE
>> >>>> Encode FAILED for attr 1, name = FATTR4_TYPE
>> >>>> NFS READDIR :F_DBG :Returning NFS4ERR_SERVERFAULT /*
>> >>>>
>> >>>>
>> >>>> But for the same directory=0x1f8dc10 , readdir works sometime.
>> >>>> In the log, it prints the correct attr "/*nfs4_FSALattr_To_Fattr
>> >>>> :NFS4
>> >>>> :F_DBG :Encoded attr 1, name = FATTR4_TYPE*/"
>> >>>>
>> >>>> Could there be a possible race condition somewhere in accessing
>> >>>> mdcache,
>> >>>> because of which for the same directory it works sometime?
>> >>>>
>> >>>> I have not been able to reproduce it. Looking at code, it seems
>> >>>> somehow
>> >>>> mdcache and attributes are not in sync.
>> >>>> Client is also using cephfs cache tiering, but I think that should
>> >>>> not
>> >>>> have any effect on nfs-ganesha mdcache.
>> >>>>
>> >>>> Any hints on how to debug it further?
>> >>>>
>> >>>> Thanks,
>> >>>> Supriti
>> >>>>
>> >>>> ------
>> >>>> Supriti Singh
>> >>>> SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton,
>> >>>> HRB 21284 (AG Nürnberg)
>> >>>>
>> >>>>
>> >>>>
>> >>>>
>> >>>> ------------------------------------------------------------------------------
>> >>>> Check out the vibrant tech community on one of the world's most
>> >>>> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>> >>>>
>> >>>>
>> >>>>
>> >>>> _______________________________________________
>> >>>> Nfs-ganesha-devel mailing list
>> >>>> Nfs-ganesha-devel@lists.sourceforge.net
>> >>>> https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel
>> >>>>
>> >>>
>> >>>
>> >>>
>> >>> ------------------------------------------------------------------------------
>> >>> Check out the vibrant tech community on one of the world's most
>> >>> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>> >>> _______________________________________________
>> >>> Nfs-ganesha-devel mailing list
>> >>> Nfs-ganesha-devel@lists.sourceforge.net
>> >>> https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel
>> >>>
>> >>
>> >>
>> >>
>> >> ------------------------------------------------------------------------------
>> >> Check out the vibrant tech community on one of the world's most
>> >> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>> >> _______________________________________________
>> >> Nfs-ganesha-devel mailing list
>> >> Nfs-ganesha-devel@lists.sourceforge.net
>> >> https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel
>> >
>> >
>>
>>
>>
>> ------------------------------------------------------------------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>> _______________________________________________
>> Nfs-ganesha-devel mailing list
>> Nfs-ganesha-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel
>
>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel

Reply via email to