Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-2184

avoid breaking access to IGIF files when testing fid_is_norm

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.4.0
    • Lustre 2.4.0
    • None
    • 3
    • 5225

    Description

      Andreas' comment on http://review.whamcloud.com/#patch,sidebyside,4255,3,lustre/mdt/mdt_handler.c suggests that fid_is_igif should be called when fid_is_norm is called to avoid breaking access to IGIF files.

      Attachments

        Issue Links

          Activity

            [LU-2184] avoid breaking access to IGIF files when testing fid_is_norm

            Fix was in patch http://review.whamcloud.com/5764 for 2.4.0

            adilger Andreas Dilger added a comment - Fix was in patch http://review.whamcloud.com/5764 for 2.4.0

            Some time in the past, the call in question was replaced by a call to fid_is_namespace_visible which addresses the concerns in this ticket. fid_is_namespace_visible is defined in lustre_fid.h as:

            static inline int fid_is_namespace_visible(const struct lu_fid *fid)
            {
                     const __u64 seq = fid_seq(fid);
            
                     /* Here, we cannot distinguish whether the normal FID is for OST
                      * object or not. It is caller's duty to check more if needed. */
                     return (!fid_is_last_id(fid) &&
                             (fid_seq_is_norm(seq) || fid_seq_is_igif(seq))) ||
                            fid_is_root(fid) || fid_seq_is_dot_lustre(seq);
             }
            
            rhenwood Richard Henwood (Inactive) added a comment - Some time in the past, the call in question was replaced by a call to fid_is_namespace_visible which addresses the concerns in this ticket. fid_is_namespace_visible is defined in lustre_fid.h as: static inline int fid_is_namespace_visible( const struct lu_fid *fid) { const __u64 seq = fid_seq(fid); /* Here, we cannot distinguish whether the normal FID is for OST * object or not. It is caller's duty to check more if needed. */ return (!fid_is_last_id(fid) && (fid_seq_is_norm(seq) || fid_seq_is_igif(seq))) || fid_is_root(fid) || fid_seq_is_dot_lustre(seq); }

            People

              rhenwood Richard Henwood (Inactive)
              rhenwood Richard Henwood (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: