[LU-3314] failed to check ".lustre" for the MDT upgraded from Lustre-2.x (x <= 3) Created: 10/May/13  Updated: 29/Apr/14  Resolved: 13/May/13

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.4.0
Fix Version/s: Lustre 2.4.0

Type: Bug Priority: Blocker
Reporter: nasf (Inactive) Assignee: nasf (Inactive)
Resolution: Fixed Votes: 0
Labels: LB, fid

Severity: 3
Rank (Obsolete): 8202

 Description   

For lustre-2.x (x <= 3), the ".lustre" object has NO FID-in-LMA, so the client will get IGIF for the ".lustre" object when the MDT restart. From the OI scrub view, when the MDT upgrade to Lustre-2.4, it does not know whether there are some alive clients have cached ".lustre" IGIF during the upgrading, so it has to generate IGIF-in-LMA and IGIF-in-OI for ".lustre" object. It will cause the others on the MDT failed to check "fid_is_dot_lustre()".

static inline int fid_is_dot_lustre(const struct lu_fid *fid)
{
        return unlikely(fid_seq(fid) == FID_SEQ_DOT_LUSTRE &&
                        fid_oid(fid) == FID_OID_DOT_LUSTRE);
}


 Comments   
Comment by nasf (Inactive) [ 10/May/13 ]

This is the patch:

http://review.whamcloud.com/#change,6309

Comment by Andreas Dilger [ 10/May/13 ]

Chris, Ned,
This is advance warning that the above patch will potentially cause clients that are using the .lustre/ to be unable to access this directory until the next time they are remounted. We do not expect this to affect (m)any users, since .lustre is only used by lustre_rsync and HSM and "lfs fid2path", but it is worthwhile to alert you anyway.

Comment by Ned Bass [ 10/May/13 ]

Andreas, thanks a lot for the heads up.

Comment by nasf (Inactive) [ 11/May/13 ]

The current solution is that:

Use fixed FID {FID_SEQ_DOT_LUSTRE, FID_OID_DOT_LUSTRE, 0} for ".lustre" in spite of whether there are some old clients cached the ".lustre" IGIF or not. It enables the check "fid_is_dot_lustre()" on the MDT, although it will cause that the old connected clients cannot access the ".lustre" with the cached IGIF.

Usually, it is rare case for the old connected clients to access the ".lustre" with cached IGIF.

Comment by Peter Jones [ 13/May/13 ]

Landed for 2.4

Generated at Sat Feb 10 01:32:50 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.