Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-708 OSD Misc feature landing tracker
  3. LU-709

Remove obsolete configure checks from {lustre,lnet,build}/autoconf/*.m4 and ldiskfs/configure.ac

    XMLWordPrintable

Details

    • Technical task
    • Resolution: Fixed
    • Minor
    • Lustre 2.3.0, Lustre 2.4.0
    • None
    • None
    • 3
    • 4526

    Description

      There are a large number of obsolete configure checks that are no longer needed and can be removed from the code. The client no longer needs to build against kernels older than 2.6.16 (SLES10), and all configure checks and conditional code related to this can be removed. On the server side, we will not be supporting anything older than RHEL5 (2.6.18) and even that may be removed and only RHEL6/SLES11SP1 supported (2.6.32) for the 2.2 release (not positive yet).

      Rather than making a single large patch that deletes all of the obsolete checks and conditional code all over the kernel, it would be better to have a number of independent patches that can be inspected and landed separately, in case there is some controversy about one of the changes that would otherwise hold everything up.

      It is possible to check which vanilla kernel a feature was added in via "git annotate

      {filename}" and look for the line that has the relevant function, and the commit it was last changed in. Sometimes "git annotate -r {hash}~1 {filename}

      " and/or "git show

      {hash}" is needed to repeatedly check whether code was added or only modified in that commit. "git describe {hash}

      " will give the most recent tag in which that commit was part of.

      Some examples include:

      LC_QUOTA_READ - has existed since 2.6.12:

      $ git annotate include/linux/fs.h | grep "(\*quota_read)"
      1da177e4	(Linus Torvalds	2005-04-16 15:20:36 -0700	1661)	ssize_t (*quota_read)(struct super_block *, int, char *, size_t, loff_t);
      $ git describe 1da177e4
      v2.6.12-rc2
      

      means it was included before v2.6.12 was released.

      LC_FUNC_F_OP_FLOCK, LC_COOKIE_FOLLOW_LINK, LC_PERCPU_COUNTER, LC_S_TIME_GRAN, etc. can likely all be removed, though the "RCU" conditional code should be left in. If any configure kernel-specific checks are found (as opposed to feature enable/disable) that do not have kernel versions, but are not being removed, please add a comment that indicates which kernel version is needed for.

      Attachments

        Issue Links

          Activity

            People

              ys Yang Sheng
              adilger Andreas Dilger
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: