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

utils and test should not depend on obd.h or liblustre.h

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.6.0
    • None
    • 3
    • 13724

    Description

      Mostly this means reshuffling headers. There are a few uses of ext2_test_bit(). The worst offender is obd.c which passes a lov_stripe_md from userspace to kernelspace. This can be handled by adding a new ioctl (OBD_IOC_CREATE3) which accepts a struct lov_user/mds_md_v3.

      Attachments

        Issue Links

          Activity

            [LU-4961] utils and test should not depend on obd.h or liblustre.h
            jhammond John Hammond added a comment -

            Patch landed to master.

            jhammond John Hammond added a comment - Patch landed to master.
            jhammond John Hammond added a comment -

            http://review.whamcloud.com/#/c/10194/ LU-4961 lustre: remove liblustre.h and obd.h from userspace

            jhammond John Hammond added a comment - http://review.whamcloud.com/#/c/10194/ LU-4961 lustre: remove liblustre.h and obd.h from userspace

            http://review.whamcloud.com/10139 moves ioctls to lustre_ioctl.h and disincludes obd.h from utils and test.

            jhammond John Hammond added a comment - http://review.whamcloud.com/10139 moves ioctls to lustre_ioctl.h and disincludes obd.h from utils and test.
            jhammond John Hammond added a comment -

            > I already have a patch to remove LASSERT() and LPx64 from lustre_user.h - http://review.whamcloud.com/6156 but it probably needs a refresh. Something similar should be done for lustre_idl.h also.

            Indeed. And as Robert noted the ioctls should be consolidated into lustre_user.h, lustre_idl.h, or a new shared file.

            > As for the passing of lov_stripe_md from userspace - could you please point out the particulars to me? This of course seems totally wrong, and it may be that it is obsolete and we can just get rid of it entirely instead of making a new ioctl.

            See lustre/utils/obd.c:jt_obd_create() which uses OBD_IOC_CREATE and passes a lov_stripe_md() to the echo client module. When I asked about this a while ago I sort of understood that it was still in use but no one knew the details.

            See http://review.whamcloud.com/10114 for a preliminary cut.

            jhammond John Hammond added a comment - > I already have a patch to remove LASSERT() and LPx64 from lustre_user.h - http://review.whamcloud.com/6156 but it probably needs a refresh. Something similar should be done for lustre_idl.h also. Indeed. And as Robert noted the ioctls should be consolidated into lustre_user.h, lustre_idl.h, or a new shared file. > As for the passing of lov_stripe_md from userspace - could you please point out the particulars to me? This of course seems totally wrong, and it may be that it is obsolete and we can just get rid of it entirely instead of making a new ioctl. See lustre/utils/obd.c:jt_obd_create() which uses OBD_IOC_CREATE and passes a lov_stripe_md() to the echo client module. When I asked about this a while ago I sort of understood that it was still in use but no one knew the details. See http://review.whamcloud.com/10114 for a preliminary cut.

            I already have a patch to remove LASSERT() and LPx64 from lustre_user.h - http://review.whamcloud.com/6156 but it probably needs a refresh. Something similar should be done for lustre_idl.h also.

            As for the passing of lov_stripe_md from userspace - could you please point out the particulars to me? This of course seems totally wrong, and it may be that it is obsolete and we can just get rid of it entirely instead of making a new ioctl.

            adilger Andreas Dilger added a comment - I already have a patch to remove LASSERT() and LPx64 from lustre_user.h - http://review.whamcloud.com/6156 but it probably needs a refresh. Something similar should be done for lustre_idl.h also. As for the passing of lov_stripe_md from userspace - could you please point out the particulars to me? This of course seems totally wrong, and it may be that it is obsolete and we can just get rid of it entirely instead of making a new ioctl.
            rread Robert Read added a comment -

            It would also be nice make lustre_idl.h usable when building outside the tree or move the ioctl interface to more userspace friendly headers.

            rread Robert Read added a comment - It would also be nice make lustre_idl.h usable when building outside the tree or move the ioctl interface to more userspace friendly headers.

            People

              wc-triage WC Triage
              jhammond John Hammond
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: