LU-15286 build: only use baseonly option on el7 el7 baseonly option allow to build perf package while in el8 does not. Test-Parameters: trivial Change-Id: Ie973c5cc816b4b98ef71ab7080bd11286bcd644a Signed-off-by: Minh Diep <mdiep@whamcloud.com> Reviewed-on: https://review.whamcloud.com/45677 Tested-by: jenkins <devops@whamcloud.com> Reviewed-by: Patrick Farrell <pfarrell@whamcloud.com> Reviewed-by: Jian Yu <yujian@whamcloud.com> Tested-by: Maloo <maloo@whamcloud.com> Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-14395 kernel: kernel update RHEL7.9 [3.10.0-1160.15.2.el7] Update RHEL7.9 kernel to 3.10.0-1160.15.2.el7. Change debuginfo download location since debuginfo.centos.org does not provide kernel-debuginfo-common anymore. The patch also reverts the following fix from RHEL 7.9 kernel since version 3.10.0-1160.8.1.el7: - [kernel] timer: Fix lockup in __run_timers() caused by large jiffies/timer_jiffies delta (Waiman Long) [1849716] The above fix caused Hard LOCKUP kernel panic. Test-Parameters: clientdistro=el7.9 serverdistro=el7.9 Change-Id: Icdd9e8bf4bd595dece266f6c5a9b0de344781a93 Signed-off-by: Jian Yu <yujian@whamcloud.com> Signed-off-by: Minh Diep <mdiep@whamcloud.com> Reviewed-on: https://review.whamcloud.com/41822 Tested-by: jenkins <devops@whamcloud.com> Reviewed-by: Yang Sheng <ys@whamcloud.com> Tested-by: Maloo <maloo@whamcloud.com> Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
LU-11720 spec: srpm should be free of kernel requiements This moves the fix for LU-9731 into spec file and out of lbuild. This lets "make rpms" benefit from the fix. This also prevents the srpm from being incorrectly locked to the kernel present when lbuild was used to create it (via kmp-lustre.preamble). Test-Parameters: trivial Signed-off-by: Nathaniel Clark <nclark@whamcloud.com> Change-Id: I15f61c0e37182c0efbea3566d43b1e89f180d3e5 Reviewed-on: https://review.whamcloud.com/33771 Tested-by: Jenkins Tested-by: Maloo <maloo@whamcloud.com> Reviewed-by: Gu Zheng <gzheng@ddn.com> Reviewed-by: Andreas Dilger <adilger@whamcloud.com> Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-11149 build: enable KMP for Mellanox build * We need to build Mellanox KMP to avoid error in symbol dependency when installing lustre * Remove all Mellanox config parameters and use default Test-Parameters: trivial Change-Id: I4676d01bd5f788581e1be6df98d2d787a5419c07 Signed-off-by: Minh Diep <minh.diep@intel.com> Reviewed-on: https://review.whamcloud.com/32833 Reviewed-by: Nathaniel Clark <nclark@whamcloud.com> Reviewed-by: Jian Yu <yujian@whamcloud.com> Tested-by: Jenkins Tested-by: Maloo <hpdd-maloo@intel.com> Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-9907 build: add patchless server for lbuild Adding lbuild support for building patchless server Cleanup unused TARGET_ARCHS and BUILD_ARCHS Test-Parameters: trivial Change-Id: I946352fa243c86d5729779406264e6ee37856145 Signed-off-by: Minh Diep <minh.diep@intel.com> Reviewed-on: https://review.whamcloud.com/28672 Reviewed-by: Bob Glossman <bob.glossman@intel.com> Tested-by: Jenkins Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com> Tested-by: Maloo <hpdd-maloo@intel.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-9850 patchless client should conflict patched kernel Due to how dependencies work in RPM (and a bug in how kmod RPMs generate their dependency lists), on a node where the server and client repos are both configured, YUM could allow the patched kernel to satisfy the patchless-client RPM's requirements. Add Conflicts: and Provides: to the kernel RPM and lustre-client RPM to prevent this from happening. This change also allows one to force the installation of the patched kernel RPM (yum install kernel-lustre) if one desires. Test-Parameters: trivial Signed-off-by: Brian J. Murrell <brian.murrell@intel.com> Change-Id: If9c44a93937cd7603b0246676ebc9c8260a43b11 Reviewed-on: https://review.whamcloud.com/28557 Tested-by: Jenkins Reviewed-by: Minh Diep <minh.diep@intel.com> Tested-by: Maloo <hpdd-maloo@intel.com> Reviewed-by: Bob Glossman <bob.glossman@intel.com> Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-9731 Limit work-around to EL7 only Since the workaround previously landed for LU-9731 only applies to EL7, only apply it for EL7 builds. Signed-off-by: Brian J. Murrell <brian.murrell@intel.com> Change-Id: Id74f03f3af74f324320e094e32f7b7480259145c Reviewed-on: https://review.whamcloud.com/28202 Reviewed-by: Minh Diep <minh.diep@intel.com> Tested-by: Jenkins Reviewed-by: Bob Glossman <bob.glossman@intel.com> Tested-by: Maloo <hpdd-maloo@intel.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-4017 ldiskfs: add project quota support Pick following patchs from upstream: commit 847aac644e92e5624f2c153bab409bf713d5ff9a vfs: Add general support to enforce project quota limits This patch adds support for a new quota type PRJQUOTA for project quota enforcement. Also a new method get_projid() is added into dquot_operations structure. Signed-off-by: Li Xi <lixi@ddn.com> Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org> Reviewed-by: Jan Kara <jack@suse.cz> Signed-off-by: Jan Kara <jack@suse.cz> commit 334e580a6f97e2e84d1c19a8679603956acaa622 fs: XFS_IOC_FS[SG]SETXATTR to FS_IOC_FS[SG]ETXATTR promotion Hoist the ioctl definitions for the XFS_IOC_FS[SG]SETXATTR API from fs/xfs/libxfs/xfs_fs.h to include/uapi/linux/fs.h so that the ioctls can be used by all filesystems, not just XFS. This enables (initially) ext4 to use the ioctl to set project IDs on inodes. Based-on-patch-from: Li Xi <lixi@ddn.com> Signed-off-by: Dave Chinner <dchinner@redhat.com> Above two chages are wrapped into vfs-project-quotas-rhel7.patch commit 040cb3786d9b25293b8b0b05b90da0f871e1eb9b ext4: adds project ID support Signed-off-by: Li Xi <lixi@ddn.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> Reviewed-by: Andreas Dilger <adilger@dilger.ca> Reviewed-by: Jan Kara <jack@suse.cz> commit 689c958cbe6be4f211b40747951a3ba2c73b6715 ext4: add project quota support This patch adds mount options for enabling/disabling project quota accounting and enforcement. A new specific inode is also used for project quota accounting. [Includes fix from Dan Carpenter to correct error checking from dqget(). ] Signed-off-by: Li Xi <lixi@ddn.com> Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org> Signed-off-by: Theodore Ts'o <tytso@mit.edu> Reviewed-by: Andreas Dilger <adilger@dilger.ca> Reviewed-by: Jan Kara <jack@suse.cz> commit 9b7365fc1c82038faa52d56173b20221cf422cbe ext4: add FS_IOC_FSSETXATTR/FS_IOC_FSGETXATTR interface support This patch adds FS_IOC_FSSETXATTR/FS_IOC_FSGETXATTR ioctl interface support for ext4. The interface is kept consistent with XFS_IOC_FSGETXATTR/XFS_IOC_FSGETXATTR. Signed-off-by: Li Xi <lixi@ddn.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> Reviewed-by: Andreas Dilger <adilger@dilger.ca> Reviewed-by: Jan Kara <jack@suse.cz> This patch add ldiskfs project quota support Did following adjustment from original patches: 1.adds padding structure to superblock, so that @s_prj_num is in the same position of superblock from upstream. 2.Patch aslo disable kabi check for rhel7, since any of vfs patch's include files change will break the check Also fix conf-sanity: test_55, because now debugfs output Project ID, we should output file size. Signed-off-by: Li Xi <lixi@ddn.com> Signed-off-by: Wang Shilong <wshilong@ddn.com> Change-Id: I2392f402d9853af969e4cd37318a83f2c4941c3e Reviewed-on: https://review.whamcloud.com/17770 Reviewed-by: Niu Yawei <yawei.niu@intel.com> Tested-by: Jenkins Tested-by: Maloo <hpdd-maloo@intel.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-8519 build: make SLES use lbuild kernel-devel SLES %kernel_module_package assume kernel-devel installed in standard location /usr/src/. However, lbuild extracts kernel-devel into its location; so we need to change %kernel_module_package macros to use lbuild's kernel obj Create a cleanup_rpmmacros to remove the change afterward Test-parameters: trivial Change-Id: I8f1d8ac50436455be23e15b0a277afb6c7def7c3 Signed-off-by: Minh Diep <minh.diep@intel.com> Reviewed-on: http://review.whamcloud.com/22484 Tested-by: Jenkins Tested-by: Maloo <hpdd-maloo@intel.com> Reviewed-by: Bob Glossman <bob.glossman@intel.com> Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-8377 build: clean up .rpmmacros Landing LU-5614 causing ~/.rpmmacros to fill up on every build Test-Parameters: trivial Change-Id: Iecf6cc01e90ae951b878d9f0b99b0a3f4ae9ad31 Signed-off-by: Minh Diep <minh.diep@intel.com> Reviewed-on: http://review.whamcloud.com/21199 Tested-by: Jenkins Tested-by: Maloo <hpdd-maloo@intel.com> Reviewed-by: Bob Glossman <bob.glossman@intel.com> Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-5614 build: use %kernel_module_package in rpm spec Replace module packages definitions with calls to the vendor defined %kernel_module_package macro. This results in many of the rpm packages changing names from what we are used to in the past. Each Linux distribution may name the modules packages slightly differently, most notably RHEL and SLES choose different naming schemes. The %kernel_module_package macro handles these details for us. For instance, on RHEL7 the packages that contain lustre's kernel modules become: kmod-lustre (previously in "lustre-modules" package) kmod-lustre-osd-ldiskfs (previously in "lustre-osd-ldiskfs" package) kmod-lustre-osd-zfs (previously in "lustre-osd-zfs" package) kmod-lustre-tests (previously in "lustre-tests" package) On SLES12, the same packages are instead named: lustre-kmp-default lustre-osd-ldiskfs-kmp-default lustre-osd-zfs-kmp-default lustre-tests-kmp-default These kernel module packages give us what is known as "weak-updates". Instead of compiling Lustre for every minor kernel that is installed, the weak-updates will automatically symlink the Lustre modules into and kernel's modules subdirectories if that kernel offers the required kernel symbols with exactly the same symbol versions. In addition to changing the package names for all of the Lustre packages containing kernel modules, the location of the modules in /lib/modules changes as well. Each package will put its modules in a subdirectory matching part of the package name itself (required by the macros on RHEL systems). The path name is also different on RHEL and SLES systems (e.g. "extra" vs. "updates"). Some further path examples are: RHEL7, kmod-lustre package: /lib/modules/3.10.0-327.18.2.el7_lustre.x86_64/extra/lustre/fs/ost.ko SLES12, lustre-kmp-default package: /lib/modules/3.12.57-60.35_lustre-default/updates/lustre/fs/ost.ko RHEL7, kmod-lustre-osd-ldiskfs package: /lib/modules/3.10.0-327.18.2.el7_lustre.x86_64/extra/lustre-osd-ldiskfs/fs/osd_ldiskfs.ko SLES12, lustre-osd-ldiskfs-kmp-default package: /lib/modules/3.12.57-60.35_lustre-default/updates/lustre-osd-ldiskfs/fs/osd_ldiskfs.ko Test-Parameters: trivial clientdistro=el6.7 mdsdistro=el6.7 ossdistro=el6.7 Signed-off-by: Stephen Champion <schamp@sgi.com> Signed-off-by: Alexander Boyko <alexander.boyko@seagate.com> Change-Id: Ic5351f4bda94eae80eaf349c8490a2c758b15c80 Signed-off-by: Minh Diep <minh.diep@intel.com> Signed-off-by: Christopher J. Morrone <morrone2@llnl.gov> Reviewed-on: http://review.whamcloud.com/12063 Tested-by: Jenkins Tested-by: Maloo <hpdd-maloo@intel.com> Reviewed-by: James Simmons <uja.ornl@yahoo.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-5022 build: add rhel7 to server build selections Add build files to allow building el7 server Test-Parameters: clientdistro=el7 mdsdistro=el7 ossdistro=el7 \ mdsfilesystemtype=ldiskfs mdtfilesystemtype=ldiskfs \ ostfilesystemtype=ldiskfs testgroup=review-ldiskfs \ envdefinitions=SANITY_EXCEPT=17m Signed-off-by: Bob Glossman <bob.glossman@intel.com> Change-Id: I3f6126473aaa95874bd2e225e79147ea23046f4e Reviewed-on: http://review.whamcloud.com/12289 Tested-by: Jenkins Tested-by: Maloo <hpdd-maloo@intel.com> Reviewed-by: Yang Sheng <yang.sheng@intel.com> Reviewed-by: Minh Diep <minh.diep@intel.com> Reviewed-by: James Simmons <uja.ornl@gmail.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-4735 lbuild: Build Xeon Phi client RPMs for SLES autodetect_distro() returns DISTRO in following format: <name>-<major>.<minor> The <minor> for SuSE Linux is patchlevel. Adopt lbuild script for build Xeon Phi client RPMs for SLES. Also add fake dependency to avoid add incorrect one. Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com> Change-Id: I1ef97a9da00078ae3093037d1a822fae95da87b1 Reviewed-on: http://review.whamcloud.com/9552 Tested-by: Jenkins Reviewed-by: Bob Glossman <bob.glossman@intel.com> Tested-by: Maloo <hpdd-maloo@intel.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-5022 build: enable building redhat 7 lustre client Create series, target file, and lbuild-rhel7 Signed-off-by: Minh Diep <minh.diep@intel.com> Change-Id: Ifb04bc0b5b64d1b533cab8f0bd23a02f754352fa Reviewed-on: http://review.whamcloud.com/10708 Reviewed-by: Bob Glossman <bob.glossman@intel.com> Tested-by: Jenkins Tested-by: Maloo <hpdd-maloo@intel.com> Reviewed-by: James Simmons <uja.ornl@gmail.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>