├── libcfs ├── .empty ├── autoconf │ ├── .empty │ │ └── .empty │ ├── .gitignore │ └── Makefile.am ├── libcfs │ ├── .gitignore │ ├── crypto │ │ ├── .gitignore │ │ ├── ChangeLog │ │ └── Makefile.am │ ├── linux │ │ ├── .gitignore │ │ └── Makefile.am │ ├── util │ │ ├── .gitignore │ │ └── Makefile.am │ └── Makefile.in ├── include │ ├── uapi │ │ ├── .gitignore │ │ ├── Makefile.am │ │ └── linux │ │ │ ├── .gitignore │ │ │ └── Makefile.am │ ├── Makefile.am │ ├── libcfs │ │ ├── .gitignore │ │ ├── crypto │ │ │ ├── .gitignore │ │ │ └── Makefile.am │ │ ├── linux │ │ │ ├── .gitignore │ │ │ ├── Makefile.am │ │ │ └── glob.h │ │ ├── util │ │ │ ├── .gitignore │ │ │ └── Makefile.am │ │ └── Makefile.am │ └── .gitignore ├── .gitignore ├── Makefile.in └── ChangeLog ├── debian ├── compat ├── source │ └── format ├── lustre-source.docs ├── lustre-client-utils.docs ├── lustre-server-modules.install ├── lustre-server-utils.docs ├── lustre-dev.dirs ├── lustre-client-utils.manpages ├── lustre-resource-agents.dirs ├── lustre-server-utils.manpages ├── lustre-source.dirs ├── lustre-client-utils.examples ├── lustre-iokit.docs ├── lustre-server-utils.examples ├── lustre-iokit.install ├── lustre-resource-agents.install ├── lustre-client-modules.install ├── lustre-dev.install ├── lustre-tests.install ├── .gitignore ├── lustre-client-utils.install.in ├── lustre-server-utils.install.in ├── postinst ├── lustre-client-modules-dkms.prerm ├── postrm └── lustre-client-modules-dkms.postinst ├── snmp ├── .gitignore ├── autoconf │ ├── .gitignore │ └── Makefile.am ├── README.install └── Makefile.am ├── lustre ├── conf │ ├── .gitignore │ ├── lsvcgss │ ├── lgssc.conf │ ├── top.ldif │ ├── modules.conf │ ├── 99-lustre.rules │ ├── 99-lustre-server.rules │ ├── lnet_routes.conf │ ├── ldev.conf │ └── ko2iblnd.conf ├── autoconf │ ├── .gitignore │ └── Makefile.am ├── contrib │ ├── .gitignore │ └── Makefile.am ├── ldlm │ └── .gitignore ├── scripts │ ├── bash-completion │ │ ├── lctl │ │ └── lfs │ ├── vdev_attach-lustre.sh │ ├── vdev_clear-lustre.sh │ ├── vdev_remove-lustre.sh │ ├── systemd │ │ ├── .gitignore │ │ ├── Makefile.am │ │ └── lnet.service.in │ ├── .gitignore │ ├── haconfig │ ├── ko2iblnd-probe │ └── license-status ├── target │ └── .gitignore ├── tests │ ├── .RC_CURRENT.tag │ ├── lutf │ │ ├── src │ │ │ ├── .gitignore │ │ │ ├── lutf_agent.swg │ │ │ ├── lutf_global.swg │ │ │ ├── lutf_listener.h │ │ │ ├── lutf_python.h │ │ │ ├── lutf_global.h │ │ │ └── lutf_message.h │ │ ├── python │ │ │ ├── tests-infra │ │ │ │ ├── clustre_reset.py │ │ │ │ └── lustre_roles.py │ │ │ ├── infra │ │ │ │ ├── lutf_get_num_agents.py │ │ │ │ └── lutf_utils.py │ │ │ ├── tests │ │ │ │ └── sample.py │ │ │ └── config │ │ │ │ └── lutf_start.sh │ │ └── swig_templates │ │ │ ├── lutf_missing_definitions.h │ │ │ ├── generate_lutf_swig_i.py │ │ │ └── liblnetconfig.template │ ├── test-groups │ │ ├── regression-mpi │ │ └── regression │ ├── disk2_7-zfs.tar.bz2 │ ├── disk2_9-zfs.tar.bz2 │ ├── kernel │ │ └── Makefile.in │ ├── zfs_mdt1_2_11.tar.bz2 │ ├── zfs_mdt2_2_11.tar.bz2 │ ├── zfs_ost1_2_11.tar.bz2 │ ├── zfs_ost2_2_11.tar.bz2 │ ├── disk2_10-ldiskfs.tar.bz2 │ ├── disk2_12-ldiskfs.tar.bz2 │ ├── disk2_7-ldiskfs.tar.bz2 │ ├── disk2_9-ldiskfs.tar.bz2 │ ├── ldiskfs_mdt1_2_11.tar.bz2 │ ├── ldiskfs_mdt2_2_11.tar.bz2 │ ├── ldiskfs_ost1_2_11.tar.bz2 │ ├── ldiskfs_ost2_2_11.tar.bz2 │ ├── except │ │ └── sanity.ex │ ├── llmountcleanup.sh │ ├── runobdstat │ ├── mpi │ │ ├── .gitignore │ │ └── Makefile.am │ ├── racer │ │ ├── file_getxattr.sh │ │ ├── file_chown.sh │ │ ├── file_rm.sh │ │ ├── file_delxattr.sh │ │ ├── file_chmod.sh │ │ ├── file_link.sh │ │ ├── file_mknod.sh │ │ ├── file_swap.sh │ │ ├── file_rename.sh │ │ ├── file_truncate.sh │ │ ├── file_symlink.sh │ │ ├── dir_create.sh │ │ ├── file_setxattr.sh │ │ ├── lss_create.sh │ │ ├── file_concat.sh │ │ ├── file_exec.sh │ │ ├── lss_destroy.sh │ │ ├── dir_migrate.sh │ │ ├── file_list.sh │ │ └── dir_remote.sh │ ├── acl │ │ ├── README │ │ ├── 2561.test │ │ ├── 2561_zfs.test │ │ ├── 4924.test │ │ ├── 974.test │ │ ├── 974_remote.test │ │ ├── make-tree │ │ └── cp.test │ ├── llmount.sh │ ├── parallel-scale-nfsv4.sh │ ├── socketclient │ ├── compile.sh │ ├── runvmstat │ ├── parallel-scale-nfsv3.sh │ ├── rpc.sh │ ├── mmp_mark.sh │ ├── runmultiop_bg_pause │ ├── acceptance-small.sh │ ├── runiozone │ ├── fadvise_dontneed_helper.c │ ├── socketserver │ ├── run-llog.sh │ ├── resolveip │ └── maloo_upload.sh ├── include │ ├── lustre │ │ └── .gitignore │ ├── uapi │ │ └── linux │ │ │ └── lustre │ │ │ └── .gitignore │ └── .gitignore ├── doc │ ├── lfs-mkdir.1 │ ├── llapi_heat_set.3 │ ├── mount.lustre_tgt.8 │ ├── llapi_fd2parent.3 │ ├── llapi_file_create.3 │ ├── llapi_getname.3 │ ├── llapi_group_unlock.3 │ ├── llapi_search_mdt.3 │ ├── llapi_search_ost.3 │ ├── llapi_get_lum_dir.3 │ ├── llapi_get_lum_file.3 │ ├── llapi_layout_free.3 │ ├── llapi_pcc_attach_fid.3 │ ├── llapi_get_fsname.3 │ ├── llapi_get_instance.3 │ ├── llapi_get_lum_dir_fd.3 │ ├── llapi_hsm_action_end.3 │ ├── llapi_layout_comp_del.3 │ ├── llapi_pcc_attach_fid_str.3 │ ├── llapi_pcc_detach_fid.3 │ ├── llapi_pcc_detach_file.3 │ ├── llapi_pcc_state_get_fd.3 │ ├── llapi_hsm_action_get_dfid.3 │ ├── llapi_hsm_action_get_fd.3 │ ├── llapi_hsm_action_progress.3 │ ├── llapi_layout_file_open.3 │ ├── llapi_layout_get_by_fid.3 │ ├── llapi_layout_get_by_path.3 │ ├── llapi_layout_get_by_xattr.3 │ ├── llapi_layout_pattern_set.3 │ ├── llapi_pcc_detach_fid_str.3 │ ├── llapi_hsm_copytool_get_fd.3 │ ├── llapi_hsm_copytool_recv.3 │ ├── llapi_layout_comp_flags_set.3 │ ├── llapi_layout_ost_index_set.3 │ ├── llapi_layout_pool_name_set.3 │ ├── llapi_search_rootpath_by_dev.3 │ ├── llapi_hsm_copytool_unregister.3 │ ├── llapi_layout_comp_extent_set.3 │ ├── llapi_layout_comp_flags_clear.3 │ ├── llapi_layout_stripe_count_set.3 │ ├── llapi_layout_stripe_size_set.3 │ ├── llapi_layout_extension_size_set.3 │ ├── .gitignore │ ├── llapi_param_get_paths.3 │ ├── llapi_pccdev_get.3 │ ├── lctl-nodemap-activate.8 │ ├── llapi_layout_file_comp_add.3 │ ├── lctl-nodemap-del.8 │ ├── llapi_layout_comp_use_id.3 │ ├── lfs-rmfid.1 │ ├── llstat.8 │ └── nids.5 ├── kernel_patches │ ├── targets │ │ ├── .gitignore │ │ ├── 3.x-fc18.target.in │ │ ├── 5.14-rhel9.0.target.in │ │ ├── 5.14-rhel9.1.target.in │ │ ├── 5.14-rhel9.2.target.in │ │ ├── 5.14-rhel9.3.target.in │ │ ├── 5.14-rhel9.4.target.in │ │ ├── 5.14-rhel9.5.target.in │ │ ├── 5.14-rhel9.6.target.in │ │ ├── 4.18-rhel8.target.in │ │ ├── 3.10-rhel7.5.target.in │ │ ├── 3.10-rhel7.6.target.in │ │ ├── 3.10-rhel7.7.target.in │ │ ├── 3.10-rhel7.8.target.in │ │ ├── 3.10-rhel7.9.target.in │ │ ├── 4.18-rhel8.1.target.in │ │ ├── 4.18-rhel8.2.target.in │ │ ├── 4.18-rhel8.3.target.in │ │ ├── 4.18-rhel8.4.target.in │ │ ├── 4.18-rhel8.5.target.in │ │ ├── 4.18-rhel8.6.target.in │ │ ├── 4.18-rhel8.7.target.in │ │ ├── 4.18-rhel8.8.target.in │ │ ├── 4.18-rhel8.9.target.in │ │ ├── 4.14-rhel7.5.target.in │ │ ├── 4.14-rhel7.6.target.in │ │ ├── 4.18-rhel8.10.target.in │ │ ├── 4.12-sles12sp4.target.in │ │ ├── 4.12-sles12sp5.target.in │ │ ├── 4.12-sles15sp1.target.in │ │ ├── 5.3-sles15sp2.target.in │ │ ├── 6.4-sles15sp6.target.in │ │ ├── 5.14-sles15sp4.target.in │ │ └── 5.14-sles15sp5.target.in │ ├── series │ │ ├── 4.14-rhel7.5.series │ │ ├── 4.14-rhel7.6.series │ │ ├── 4.18-rhel8.7.series │ │ ├── 4.18-rhel8.8.series │ │ ├── 4.18-rhel8.9.series │ │ ├── 4.18-rhel8.10.series │ │ ├── 4.18-rhel8.series │ │ ├── 4.18-rhel8.1.series │ │ ├── 4.18-rhel8.2.series │ │ ├── 4.18-rhel8.3.series │ │ ├── 4.18-rhel8.4.series │ │ ├── 4.18-rhel8.5.series │ │ ├── 4.18-rhel8.6.series │ │ ├── 3.10-rhel7.9.series │ │ ├── 3.10-rhel7.8.series │ │ ├── 3.10-rhel7.7.series │ │ └── 3.10-rhel7.6.series │ ├── README │ └── patches │ │ └── raid5-mmp-unplug-dev-rhel7.6.patch ├── BUGS ├── utils │ ├── gss │ │ ├── .gitignore │ │ ├── README │ │ ├── krb5_util.h │ │ └── l_idmap.c │ ├── liblustreapi.map │ ├── lustre.pc.in │ ├── .gitignore │ ├── ofd_access_batch.h │ └── pid_file.h ├── lmv │ └── Makefile.in ├── nodist ├── ost │ └── Makefile.in ├── mgc │ └── Makefile.in ├── lfsck │ └── Makefile.in ├── mgs │ └── Makefile.in ├── lod │ └── Makefile.in ├── osc │ └── Makefile.in ├── osp │ └── Makefile.in ├── obdecho │ └── Makefile.in ├── mdd │ └── Makefile.in ├── ofd │ └── Makefile.in ├── obdclass │ └── autoMakefile.am ├── fid │ └── Makefile.in ├── .gitignore ├── fld │ └── Makefile.in ├── mdc │ └── Makefile.in ├── Makefile.in ├── lov │ └── Makefile.in ├── osd-ldiskfs │ └── Makefile.in ├── mdt │ └── Makefile.in ├── ptlrpc │ └── gss │ │ └── Makefile.in ├── quota │ └── Makefile.in ├── osd-zfs │ └── Makefile.in ├── BUILDING └── llite │ └── Makefile.in ├── lnet ├── autoconf │ ├── .gitignore │ └── Makefile.am ├── include │ ├── lnet │ │ ├── .gitignore │ │ └── Makefile.am │ ├── uapi │ │ └── linux │ │ │ └── lnet │ │ │ └── .gitignore │ ├── Makefile.am │ └── .gitignore ├── klnds │ ├── o2iblnd │ │ ├── .gitignore │ │ └── Makefile.in │ ├── Makefile.in │ ├── socklnd │ │ ├── autoMakefile.am │ │ └── Makefile.in │ ├── gnilnd │ │ ├── autoMakefile.am │ │ └── Makefile.in │ └── kfilnd │ │ ├── Makefile.in │ │ └── autoMakefile.am ├── .gitignore ├── utils │ ├── lnetconfig │ │ └── .gitignore │ ├── .gitignore │ ├── lbstats │ └── lnetunload ├── doc │ ├── .gitignore │ └── get.fig ├── Makefile.in ├── selftest │ ├── Makefile.in │ └── autoMakefile.am └── lnet │ ├── autoMakefile.am │ └── Makefile.in ├── lustre-iokit ├── NEWS ├── ior-survey │ ├── .gitignore │ └── Makefile.am ├── mds-survey │ ├── .gitignore │ └── Makefile.am ├── ost-survey │ ├── .gitignore │ ├── Makefile.am │ └── README.ost-survey ├── sgpdd-survey │ ├── .gitignore │ └── Makefile.am ├── obdfilter-survey │ ├── .gitignore │ └── Makefile.am ├── stats-collect │ ├── .gitignore │ └── Makefile.am ├── Makefile.am ├── AUTHORS ├── .gitignore └── README ├── contrib ├── lbuild │ ├── rhel7 │ │ ├── .gitignore │ │ └── kmodtool.patch │ ├── rhel8 │ │ └── .gitignore │ ├── lbuild-fc15 │ ├── lbuild-oel5 │ ├── lbuild-fc18 │ └── lbuild-fc ├── quiltrc ├── git-hooks │ └── tests │ │ ├── commit.nobody │ │ ├── commit.ok_bugid │ │ ├── commit.mdsfst │ │ ├── commit.ok_diffinside │ │ ├── commit.ok_deleted │ │ ├── commit.ok_chmod │ │ ├── commit.ok_innocuous │ │ ├── commit.ok_diff │ │ ├── commit.ok_signoff │ │ ├── commit.nosign │ │ ├── commit.nosum │ │ ├── commit.badname │ │ ├── commit.bademail │ │ ├── commit.badsign │ │ ├── commit.nocmp │ │ ├── commit.nojira │ │ ├── commit.ok_nocid │ │ ├── commit.ok_params │ │ ├── commit.ok_cid │ │ ├── commit.badcid │ │ ├── commit.ok_dupsign │ │ └── commit.dupcid ├── scripts │ ├── const_structs.checkpatch │ ├── crypto_patches │ │ ├── 0001_llcrypt_private_include.patch │ │ ├── 0002_dcache_encrypted_name.patch │ │ ├── 0013_dentry_path_raw.patch │ │ ├── 0005_crypto_tfm_req_forbid_weak_keys.patch │ │ ├── 0003_keyring_search_4args.patch │ │ ├── 0012_igrab.patch │ │ ├── series │ │ ├── 0007_crypto_init.patch │ │ └── 0008_key_desc_prefix.patch │ ├── confirmpatches.sh │ └── clearpatches.sh ├── README └── debug_tools │ └── epython_scripts │ └── crashlib │ ├── cid │ └── __init__.py │ └── addrlib.py ├── ChangeLog ├── rpm ├── kmp-lustre.preamble ├── kmp-lustre-tests.files ├── kmp-lustre-lnd-kfi.files ├── kmp-lustre-osd-zfs.files ├── kmp-lustre.files ├── kmp-lustre-osd-ldiskfs.files ├── kmp-lustre-lnd-kfi.preamble ├── kmp-lustre-osd-zfs.preamble └── kmp-lustre-osd-ldiskfs.preamble ├── Makefile.in ├── .gitreview ├── ldiskfs ├── .gitignore ├── kernel_patches │ └── patches │ │ ├── ubuntu2004 │ │ └── ext4-xattr-disable-credits-check.patch │ │ ├── ubuntu19 │ │ └── ext4-iget-with-flags.patch │ │ ├── rhel7.6 │ │ ├── ext4-use-GFP_NOFS-in-ext4_inode_attach_jinode.patch │ │ ├── ext4-export-orphan-add.patch │ │ ├── ext4-dquot-commit-speedup.patch │ │ ├── ext4-nocmtime.patch │ │ ├── ext4-print-inum-in-htree-warning.patch │ │ ├── ext4-mmp-brelse.patch │ │ └── ext4-jcb-optimization.patch │ │ ├── linux-5.4 │ │ └── ext4-xattr-disable-credits-check.patch │ │ ├── rhel8 │ │ ├── ext4-xattr-disable-credits-check.patch │ │ ├── ext4-nocmtime.patch │ │ └── ext4-old_ea_inodes_handling_fix.patch │ │ ├── rhel8.3 │ │ └── ext4-xattr-disable-credits-check.patch │ │ ├── rhel8.4 │ │ └── ext4-optimize-find_delayed_extent.patch │ │ ├── suse15 │ │ └── ext4-print-inum-in-htree-warning.patch │ │ ├── base │ │ └── ext4-reset-exts-for-gcc10.patch │ │ └── ubuntu18 │ │ ├── ext4-jcb-optimization.patch │ │ └── ext4-nocmtime.patch └── Makefile.in ├── config ├── .gitignore └── Makefile.am ├── autogen.sh ├── configure.ac └── LUSTRE-VERSION-GEN /libcfs/.empty: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /debian/compat: -------------------------------------------------------------------------------- 1 | 11 2 | -------------------------------------------------------------------------------- /debian/source/format: -------------------------------------------------------------------------------- 1 | 1.0 2 | -------------------------------------------------------------------------------- /libcfs/autoconf/.empty/.empty: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /snmp/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | -------------------------------------------------------------------------------- /lustre/conf/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile.in 2 | -------------------------------------------------------------------------------- /libcfs/autoconf/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | -------------------------------------------------------------------------------- /libcfs/libcfs/.gitignore: -------------------------------------------------------------------------------- 1 | /link-stamp 2 | -------------------------------------------------------------------------------- /lnet/autoconf/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | -------------------------------------------------------------------------------- /lustre/autoconf/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | -------------------------------------------------------------------------------- /lustre/contrib/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | -------------------------------------------------------------------------------- /lustre/ldlm/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | -------------------------------------------------------------------------------- /lustre/scripts/bash-completion/lctl: -------------------------------------------------------------------------------- 1 | lustre -------------------------------------------------------------------------------- /lustre/scripts/bash-completion/lfs: -------------------------------------------------------------------------------- 1 | lustre -------------------------------------------------------------------------------- /lustre/target/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | -------------------------------------------------------------------------------- /snmp/autoconf/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | -------------------------------------------------------------------------------- /libcfs/include/uapi/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | -------------------------------------------------------------------------------- /libcfs/libcfs/crypto/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | -------------------------------------------------------------------------------- /libcfs/libcfs/linux/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | -------------------------------------------------------------------------------- /libcfs/libcfs/util/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | -------------------------------------------------------------------------------- /lnet/include/lnet/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | -------------------------------------------------------------------------------- /lnet/klnds/o2iblnd/.gitignore: -------------------------------------------------------------------------------- 1 | /wirecheck 2 | -------------------------------------------------------------------------------- /lustre/tests/.RC_CURRENT.tag: -------------------------------------------------------------------------------- 1 | RC_1_3_0_30 2 | -------------------------------------------------------------------------------- /debian/lustre-source.docs: -------------------------------------------------------------------------------- 1 | debian/README.Debian 2 | -------------------------------------------------------------------------------- /libcfs/.gitignore: -------------------------------------------------------------------------------- 1 | /aclocal.m4 2 | /autom4te.cache 3 | -------------------------------------------------------------------------------- /libcfs/include/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = libcfs uapi 2 | -------------------------------------------------------------------------------- /libcfs/include/libcfs/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | -------------------------------------------------------------------------------- /libcfs/include/uapi/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = linux 2 | -------------------------------------------------------------------------------- /libcfs/include/uapi/linux/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | -------------------------------------------------------------------------------- /lnet/.gitignore: -------------------------------------------------------------------------------- 1 | /aclocal.m4 2 | /autom4te.cache 3 | -------------------------------------------------------------------------------- /lnet/utils/lnetconfig/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | -------------------------------------------------------------------------------- /lustre-iokit/NEWS: -------------------------------------------------------------------------------- 1 | 2006-10-31 - Moved to autoconf 2 | -------------------------------------------------------------------------------- /lustre-iokit/ior-survey/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | -------------------------------------------------------------------------------- /lustre-iokit/mds-survey/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | -------------------------------------------------------------------------------- /lustre-iokit/ost-survey/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | -------------------------------------------------------------------------------- /lustre-iokit/sgpdd-survey/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | -------------------------------------------------------------------------------- /lustre/include/lustre/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | -------------------------------------------------------------------------------- /contrib/lbuild/rhel7/.gitignore: -------------------------------------------------------------------------------- 1 | kmodtool 2 | rpmmacros 3 | -------------------------------------------------------------------------------- /contrib/lbuild/rhel8/.gitignore: -------------------------------------------------------------------------------- 1 | kmodtool 2 | rpmmacros 3 | -------------------------------------------------------------------------------- /debian/lustre-client-utils.docs: -------------------------------------------------------------------------------- 1 | lustre/BUGS 2 | README 3 | -------------------------------------------------------------------------------- /debian/lustre-server-modules.install: -------------------------------------------------------------------------------- 1 | debian/tmp/lib / 2 | -------------------------------------------------------------------------------- /debian/lustre-server-utils.docs: -------------------------------------------------------------------------------- 1 | lustre/BUGS 2 | README 3 | -------------------------------------------------------------------------------- /libcfs/include/libcfs/crypto/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | -------------------------------------------------------------------------------- /libcfs/include/libcfs/linux/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | -------------------------------------------------------------------------------- /libcfs/include/libcfs/util/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | -------------------------------------------------------------------------------- /lnet/autoconf/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = lustre-lnet.m4 2 | -------------------------------------------------------------------------------- /lnet/doc/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | /*.eps 3 | /*.pdf 4 | -------------------------------------------------------------------------------- /lnet/include/uapi/linux/lnet/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | -------------------------------------------------------------------------------- /lustre-iokit/obdfilter-survey/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | -------------------------------------------------------------------------------- /lustre-iokit/stats-collect/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | -------------------------------------------------------------------------------- /lustre/doc/lfs-mkdir.1: -------------------------------------------------------------------------------- 1 | .so man1/lfs-setdirstripe.1 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_heat_set.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_heat_get.3 2 | -------------------------------------------------------------------------------- /lustre/doc/mount.lustre_tgt.8: -------------------------------------------------------------------------------- 1 | .so man8/mount.lustre.8 2 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/.gitignore: -------------------------------------------------------------------------------- 1 | /*.target 2 | -------------------------------------------------------------------------------- /lustre/scripts/vdev_attach-lustre.sh: -------------------------------------------------------------------------------- 1 | statechange-lustre.sh -------------------------------------------------------------------------------- /lustre/scripts/vdev_clear-lustre.sh: -------------------------------------------------------------------------------- 1 | statechange-lustre.sh -------------------------------------------------------------------------------- /lustre/scripts/vdev_remove-lustre.sh: -------------------------------------------------------------------------------- 1 | statechange-lustre.sh -------------------------------------------------------------------------------- /snmp/autoconf/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = lustre-snmp.m4 2 | -------------------------------------------------------------------------------- /ChangeLog: -------------------------------------------------------------------------------- 1 | Please see lnet/ChangeLog and lustre/ChangeLog. 2 | -------------------------------------------------------------------------------- /debian/lustre-dev.dirs: -------------------------------------------------------------------------------- 1 | usr/share/doc/lustre-dev/contrib 2 | -------------------------------------------------------------------------------- /libcfs/autoconf/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = lustre-libcfs.m4 2 | -------------------------------------------------------------------------------- /lnet/include/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = lnet uapi/linux/lnet 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_fd2parent.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_path2parent.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_file_create.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_file_open.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_getname.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_get_fsname_instance.3 -------------------------------------------------------------------------------- /lustre/doc/llapi_group_unlock.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_group_lock.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_search_mdt.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_search_tgt.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_search_ost.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_search_tgt.3 2 | -------------------------------------------------------------------------------- /lustre/include/uapi/linux/lustre/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | -------------------------------------------------------------------------------- /debian/lustre-client-utils.manpages: -------------------------------------------------------------------------------- 1 | debian/tmp/usr/share/man/*/* 2 | -------------------------------------------------------------------------------- /debian/lustre-resource-agents.dirs: -------------------------------------------------------------------------------- 1 | usr/lib/ocf/resource.d/lustre 2 | -------------------------------------------------------------------------------- /debian/lustre-server-utils.manpages: -------------------------------------------------------------------------------- 1 | debian/tmp/usr/share/man/*/* 2 | -------------------------------------------------------------------------------- /libcfs/Makefile.in: -------------------------------------------------------------------------------- 1 | obj-m += libcfs/ 2 | 3 | @INCLUDE_RULES@ 4 | -------------------------------------------------------------------------------- /libcfs/include/libcfs/crypto/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = llcrypt.h 2 | -------------------------------------------------------------------------------- /libcfs/include/uapi/linux/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = llcrypt.h 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_get_lum_dir.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_get_lum_file_fd.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_get_lum_file.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_get_lum_file_fd.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_layout_free.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_layout_alloc.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_pcc_attach_fid.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_pcc_attach.3 2 | -------------------------------------------------------------------------------- /lustre/scripts/systemd/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | /lnet.service 3 | -------------------------------------------------------------------------------- /lustre/BUGS: -------------------------------------------------------------------------------- 1 | To report bugs, please visit https://jira.whamcloud.com/ 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_get_fsname.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_get_fsname_instance.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_get_instance.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_get_fsname_instance.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_get_lum_dir_fd.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_get_lum_file_fd.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_hsm_action_end.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_hsm_action_begin.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_layout_comp_del.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_layout_comp_add.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_pcc_attach_fid_str.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_pcc_attach.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_pcc_detach_fid.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_pcc_detach_fid_fd.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_pcc_detach_file.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_pcc_detach_fid_fd.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_pcc_state_get_fd.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_pcc_state_get.3 2 | -------------------------------------------------------------------------------- /lustre/tests/lutf/src/.gitignore: -------------------------------------------------------------------------------- 1 | *.i 2 | *.py 3 | *_wrap.c 4 | lutf 5 | -------------------------------------------------------------------------------- /rpm/kmp-lustre.preamble: -------------------------------------------------------------------------------- 1 | Obsoletes: %{name}-modules < %{version} 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_hsm_action_get_dfid.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_hsm_action_begin.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_hsm_action_get_fd.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_hsm_action_begin.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_hsm_action_progress.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_hsm_action_begin.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_layout_file_open.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_layout_file_create.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_layout_get_by_fid.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_layout_get_by_fd.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_layout_get_by_path.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_layout_get_by_fd.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_layout_get_by_xattr.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_layout_get_by_fd.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_layout_pattern_set.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_layout_pattern_get.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_pcc_detach_fid_str.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_pcc_detach_fid_fd.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_hsm_copytool_get_fd.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_hsm_copytool_register.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_hsm_copytool_recv.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_hsm_copytool_register.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_layout_comp_flags_set.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_layout_comp_flags_get.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_layout_ost_index_set.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_layout_ost_index_get.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_layout_pool_name_set.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_layout_pool_name_get.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_search_rootpath_by_dev.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_search_rootpath.3 2 | 3 | -------------------------------------------------------------------------------- /contrib/quiltrc: -------------------------------------------------------------------------------- 1 | export QUILT_DIFF_OPTS="-upa" 2 | export QUILT_NO_DIFF_TIMESTAMPS=1 3 | -------------------------------------------------------------------------------- /debian/lustre-source.dirs: -------------------------------------------------------------------------------- 1 | usr/src 2 | usr/src/modules 3 | usr/share/modass/overrides 4 | -------------------------------------------------------------------------------- /lustre/conf/lsvcgss: -------------------------------------------------------------------------------- 1 | # Optional arguments passed to lsvcgssd. 2 | LSVCGSSDARGS='' 3 | -------------------------------------------------------------------------------- /lustre/doc/llapi_hsm_copytool_unregister.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_hsm_copytool_register.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_layout_comp_extent_set.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_layout_comp_extent_get.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_layout_comp_flags_clear.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_layout_comp_flags_get.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_layout_stripe_count_set.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_layout_stripe_count_get.3 2 | -------------------------------------------------------------------------------- /lustre/doc/llapi_layout_stripe_size_set.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_layout_stripe_size_get.3 2 | -------------------------------------------------------------------------------- /lustre/kernel_patches/series/4.14-rhel7.5.series: -------------------------------------------------------------------------------- 1 | jbd2-revoke-rhashtable-rhel7.patch 2 | -------------------------------------------------------------------------------- /lustre/kernel_patches/series/4.14-rhel7.6.series: -------------------------------------------------------------------------------- 1 | jbd2-revoke-rhashtable-rhel7.patch 2 | -------------------------------------------------------------------------------- /rpm/kmp-lustre-tests.files: -------------------------------------------------------------------------------- 1 | %{modules_fs_path}/%{lustre_name}-tests/fs/llog_test.ko 2 | -------------------------------------------------------------------------------- /lnet/utils/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | /routerstat 3 | /wirecheck 4 | /lnetctl 5 | /lst 6 | -------------------------------------------------------------------------------- /lustre/doc/llapi_layout_extension_size_set.3: -------------------------------------------------------------------------------- 1 | .so man3/llapi_layout_extension_size_get.3 2 | -------------------------------------------------------------------------------- /debian/lustre-client-utils.examples: -------------------------------------------------------------------------------- 1 | lustre/tests/llmountcleanup.sh 2 | lustre/tests/llmount.sh 3 | -------------------------------------------------------------------------------- /debian/lustre-iokit.docs: -------------------------------------------------------------------------------- 1 | lustre-iokit/*-survey/README* 2 | lustre-iokit/stats-collect/README.* 3 | -------------------------------------------------------------------------------- /debian/lustre-server-utils.examples: -------------------------------------------------------------------------------- 1 | lustre/tests/llmountcleanup.sh 2 | lustre/tests/llmount.sh 3 | -------------------------------------------------------------------------------- /lnet/include/.gitignore: -------------------------------------------------------------------------------- 1 | /config.h 2 | /stamp-h 3 | /stamp-h1 4 | /stamp-h.in 5 | /Makefile.in 6 | -------------------------------------------------------------------------------- /lustre/conf/lgssc.conf: -------------------------------------------------------------------------------- 1 | create lgssc * * /usr/sbin/lgss_keyring %o %k %t %d %c %u %g %T %P %S 2 | -------------------------------------------------------------------------------- /lustre/tests/test-groups/regression-mpi: -------------------------------------------------------------------------------- 1 | performance-sanity 2 | large-scale 3 | parallel-scale 4 | -------------------------------------------------------------------------------- /Makefile.in: -------------------------------------------------------------------------------- 1 | obj-m += @LDISKFS_SUBDIR@/ libcfs/ lnet/ 2 | obj-m += lustre/ 3 | 4 | @INCLUDE_RULES@ 5 | -------------------------------------------------------------------------------- /libcfs/include/.gitignore: -------------------------------------------------------------------------------- 1 | /config.h 2 | /stamp-h 3 | /stamp-h1 4 | /stamp-h.in 5 | /Makefile.in 6 | -------------------------------------------------------------------------------- /libcfs/include/libcfs/util/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = ioctl.h parser.h param.h list.h string.h hash.h 2 | -------------------------------------------------------------------------------- /debian/lustre-iokit.install: -------------------------------------------------------------------------------- 1 | debian/tmp/usr/bin/iokit-* usr/bin 2 | debian/tmp/usr/bin/*-survey usr/bin 3 | -------------------------------------------------------------------------------- /lustre/autoconf/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = lustre-core.m4 kerberos5.m4 ac_pkg_swig.m4 ac_python_devel.m4 2 | -------------------------------------------------------------------------------- /lustre/conf/top.ldif: -------------------------------------------------------------------------------- 1 | dn: fs=lustre 2 | fs:lustre 3 | objectClass: lustre 4 | lustreDesc: Lustre Config 5 | -------------------------------------------------------------------------------- /lustre/contrib/Makefile.am: -------------------------------------------------------------------------------- 1 | # Contributions Makefile 2 | 3 | EXTRA_DIST = 4 | pkgdata_DATA = $(EXTRA_DIST) 5 | -------------------------------------------------------------------------------- /lustre/tests/disk2_7-zfs.tar.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llnl/lustre/HEAD/lustre/tests/disk2_7-zfs.tar.bz2 -------------------------------------------------------------------------------- /lustre/tests/disk2_9-zfs.tar.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llnl/lustre/HEAD/lustre/tests/disk2_9-zfs.tar.bz2 -------------------------------------------------------------------------------- /lustre/tests/kernel/Makefile.in: -------------------------------------------------------------------------------- 1 | MODULES := kinode 2 | 3 | EXTRA_DIST = kinode.c 4 | 5 | @INCLUDE_RULES@ 6 | -------------------------------------------------------------------------------- /lustre/utils/gss/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | /lgssd 3 | /lsvcgssd 4 | /l_idmap 5 | /lgss_keyring 6 | /lgss_sk 7 | -------------------------------------------------------------------------------- /debian/lustre-resource-agents.install: -------------------------------------------------------------------------------- 1 | debian/tmp/usr/lib/ocf/resource.d/lustre/* usr/lib.ocf/resource.d/lustre 2 | -------------------------------------------------------------------------------- /lustre/include/.gitignore: -------------------------------------------------------------------------------- 1 | /config.h 2 | /config.h.in 3 | /stamp-h 4 | /stamp-h1 5 | /stamp-h.in 6 | /Makefile.in 7 | -------------------------------------------------------------------------------- /lustre/tests/zfs_mdt1_2_11.tar.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llnl/lustre/HEAD/lustre/tests/zfs_mdt1_2_11.tar.bz2 -------------------------------------------------------------------------------- /lustre/tests/zfs_mdt2_2_11.tar.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llnl/lustre/HEAD/lustre/tests/zfs_mdt2_2_11.tar.bz2 -------------------------------------------------------------------------------- /lustre/tests/zfs_ost1_2_11.tar.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llnl/lustre/HEAD/lustre/tests/zfs_ost1_2_11.tar.bz2 -------------------------------------------------------------------------------- /lustre/tests/zfs_ost2_2_11.tar.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llnl/lustre/HEAD/lustre/tests/zfs_ost2_2_11.tar.bz2 -------------------------------------------------------------------------------- /rpm/kmp-lustre-lnd-kfi.files: -------------------------------------------------------------------------------- 1 | %defattr(-,root,root) 2 | %{modules_fs_path}/%{lustre_name}-lnd-kfi/net/kkfilnd.ko 3 | -------------------------------------------------------------------------------- /rpm/kmp-lustre-osd-zfs.files: -------------------------------------------------------------------------------- 1 | %defattr(-,root,root) 2 | %{modules_fs_path}/%{lustre_name}-osd-zfs/fs/osd_zfs.ko 3 | -------------------------------------------------------------------------------- /libcfs/libcfs/crypto/ChangeLog: -------------------------------------------------------------------------------- 1 | 04-02-2020 Whamcloud, Inc. 2 | * fscrypt sources taken from Linux kernel v5.4 3 | -------------------------------------------------------------------------------- /lustre/tests/disk2_10-ldiskfs.tar.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llnl/lustre/HEAD/lustre/tests/disk2_10-ldiskfs.tar.bz2 -------------------------------------------------------------------------------- /lustre/tests/disk2_12-ldiskfs.tar.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llnl/lustre/HEAD/lustre/tests/disk2_12-ldiskfs.tar.bz2 -------------------------------------------------------------------------------- /lustre/tests/disk2_7-ldiskfs.tar.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llnl/lustre/HEAD/lustre/tests/disk2_7-ldiskfs.tar.bz2 -------------------------------------------------------------------------------- /lustre/tests/disk2_9-ldiskfs.tar.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llnl/lustre/HEAD/lustre/tests/disk2_9-ldiskfs.tar.bz2 -------------------------------------------------------------------------------- /lustre/tests/ldiskfs_mdt1_2_11.tar.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llnl/lustre/HEAD/lustre/tests/ldiskfs_mdt1_2_11.tar.bz2 -------------------------------------------------------------------------------- /lustre/tests/ldiskfs_mdt2_2_11.tar.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llnl/lustre/HEAD/lustre/tests/ldiskfs_mdt2_2_11.tar.bz2 -------------------------------------------------------------------------------- /lustre/tests/ldiskfs_ost1_2_11.tar.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llnl/lustre/HEAD/lustre/tests/ldiskfs_ost1_2_11.tar.bz2 -------------------------------------------------------------------------------- /lustre/tests/ldiskfs_ost2_2_11.tar.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/llnl/lustre/HEAD/lustre/tests/ldiskfs_ost2_2_11.tar.bz2 -------------------------------------------------------------------------------- /.gitreview: -------------------------------------------------------------------------------- 1 | [gerrit] 2 | host=review.whamcloud.com 3 | port=29418 4 | project=fs/lustre-release.git 5 | defaultbranch=b2_15 6 | -------------------------------------------------------------------------------- /lustre/lmv/Makefile.in: -------------------------------------------------------------------------------- 1 | MODULES := lmv 2 | lmv-objs := lmv_obd.o lmv_intent.o lmv_fld.o lproc_lmv.o 3 | 4 | @INCLUDE_RULES@ 5 | -------------------------------------------------------------------------------- /lustre/nodist: -------------------------------------------------------------------------------- 1 | obd-*/obd-* 2 | CVS 3 | *~ 4 | make.rules 5 | config.* 6 | *.o 7 | *.orig 8 | *.backup 9 | .depfiles 10 | -------------------------------------------------------------------------------- /libcfs/libcfs/util/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = \ 2 | l_ioctl.c \ 3 | nidstrings.c \ 4 | param.c \ 5 | parser.c \ 6 | string.c 7 | -------------------------------------------------------------------------------- /lustre-iokit/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = obdfilter-survey sgpdd-survey ost-survey ior-survey 2 | SUBDIRS += mds-survey stats-collect 3 | -------------------------------------------------------------------------------- /lustre-iokit/mds-survey/Makefile.am: -------------------------------------------------------------------------------- 1 | bin_SCRIPTS = mds-survey 2 | CLEANFILE = $(bin_SCRIPTS) 3 | EXTRA_DIST = mds-survey README.mds-survey 4 | -------------------------------------------------------------------------------- /contrib/git-hooks/tests/commit.nobody: -------------------------------------------------------------------------------- 1 | LU-553 build: improve checks for commit-msg 2 | 3 | Signed-off-by: Andreas Dilger 4 | -------------------------------------------------------------------------------- /ldiskfs/.gitignore: -------------------------------------------------------------------------------- 1 | /linux-stage 2 | /linux 3 | /modules.order 4 | /Module.symvers 5 | /stamp-h2 6 | /*.c 7 | /*.h 8 | /sources 9 | /trace 10 | -------------------------------------------------------------------------------- /libcfs/libcfs/crypto/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = crypto.c fname.c hkdf.c hooks.c keyring.c \ 2 | keysetup.c keysetup_v1.c policy.c llcrypt_private.h 3 | -------------------------------------------------------------------------------- /libcfs/libcfs/linux/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = linux-prim.c \ 2 | linux-hash.c \ 3 | linux-wait.c \ 4 | glob.c \ 5 | xarray.c 6 | -------------------------------------------------------------------------------- /lustre/ost/Makefile.in: -------------------------------------------------------------------------------- 1 | MODULES := ost 2 | ost-objs := ost_handler.o 3 | 4 | EXTRA_DIST = $(ost-objs:%.o=%.c) ost_internal.h 5 | 6 | @INCLUDE_RULES@ 7 | -------------------------------------------------------------------------------- /rpm/kmp-lustre.files: -------------------------------------------------------------------------------- 1 | %defattr(-,root,root) 2 | %{modules_fs_path}/%{lustre_name}/* 3 | %doc COPYING 4 | %doc ChangeLog-lustre 5 | %doc ChangeLog-lnet 6 | -------------------------------------------------------------------------------- /lnet/Makefile.in: -------------------------------------------------------------------------------- 1 | 2 | lnet-subdirs += lnet/ 3 | lnet-subdirs += klnds/ 4 | lnet-subdirs += selftest/ 5 | obj-m += $(lnet-subdirs) 6 | 7 | @INCLUDE_RULES@ 8 | -------------------------------------------------------------------------------- /lustre/tests/except/sanity.ex: -------------------------------------------------------------------------------- 1 | # facet op need_version jira space_separated_subtests 2 | mds1 < v2_14_55-100-g8a84c7f9c7 LU-14927 0f 3 | -------------------------------------------------------------------------------- /lustre/mgc/Makefile.in: -------------------------------------------------------------------------------- 1 | MODULES := mgc 2 | mgc-objs := mgc_request.o lproc_mgc.o 3 | 4 | EXTRA_DIST := $(mgc-objs:%.o=%.c) mgc_internal.h 5 | 6 | @INCLUDE_RULES@ 7 | -------------------------------------------------------------------------------- /lustre-iokit/ior-survey/Makefile.am: -------------------------------------------------------------------------------- 1 | bin_SCRIPTS = ior-survey iokit-parse-ior 2 | CLEANFILE = $(bin_SCRIPTS) 3 | EXTRA_DIST = README.ior-survey ior-survey iokit-parse-ior 4 | -------------------------------------------------------------------------------- /lustre-iokit/ost-survey/Makefile.am: -------------------------------------------------------------------------------- 1 | bin_SCRIPTS = ost-survey iokit-plot-ost 2 | CLEANFILE = $(bin_SCRIPTS) 3 | EXTRA_DIST = README.ost-survey ost-survey iokit-plot-ost 4 | -------------------------------------------------------------------------------- /lustre/tests/llmountcleanup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | LUSTRE=${LUSTRE:-$(dirname $0)/..} 4 | . $LUSTRE/tests/test-framework.sh 5 | init_test_env $@ 6 | 7 | cleanupall -f 8 | -------------------------------------------------------------------------------- /lustre-iokit/sgpdd-survey/Makefile.am: -------------------------------------------------------------------------------- 1 | bin_SCRIPTS = iokit-plot-sgpdd sgpdd-survey 2 | CLEANFILE = $(bin_SCRIPTS) 3 | EXTRA_DIST = README.sgpdd-survey iokit-plot-sgpdd sgpdd-survey 4 | -------------------------------------------------------------------------------- /lustre/tests/lutf/src/lutf_agent.swg: -------------------------------------------------------------------------------- 1 | %module clutf_agent 2 | 3 | %{ 4 | #include 5 | #include "lutf_agent.h" 6 | %} 7 | 8 | #include "lutf_agent.h" 9 | 10 | -------------------------------------------------------------------------------- /lnet/include/lnet/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = \ 2 | api.h \ 3 | lib-cpt.h \ 4 | lib-lnet.h \ 5 | lib-types.h \ 6 | udsp.h \ 7 | lnet_rdma.h \ 8 | lock.h \ 9 | socklnd.h 10 | -------------------------------------------------------------------------------- /debian/lustre-client-modules.install: -------------------------------------------------------------------------------- 1 | debian/tmp/lib / 2 | debian/tmp/usr/include/linux/lnet/* usr/include/linux/lnet 3 | debian/tmp/usr/include/linux/libcfs/* usr/include/linux/libcfs 4 | -------------------------------------------------------------------------------- /lnet/klnds/Makefile.in: -------------------------------------------------------------------------------- 1 | @BUILD_GNILND_TRUE@obj-m += gnilnd/ 2 | @BUILD_O2IBLND_TRUE@obj-m += o2iblnd/ 3 | @BUILD_KFILND_TRUE@obj-m += kfilnd/ 4 | obj-m += socklnd/ 5 | 6 | @INCLUDE_RULES@ 7 | -------------------------------------------------------------------------------- /rpm/kmp-lustre-osd-ldiskfs.files: -------------------------------------------------------------------------------- 1 | %defattr(-,root,root) 2 | %{modules_fs_path}/%{lustre_name}-osd-ldiskfs/fs/ldiskfs.ko 3 | %{modules_fs_path}/%{lustre_name}-osd-ldiskfs/fs/osd_ldiskfs.ko 4 | -------------------------------------------------------------------------------- /lustre-iokit/AUTHORS: -------------------------------------------------------------------------------- 1 | Phil Schwan 2 | Eric Barton 3 | Jody McIntyre 4 | Michael MacDonald 5 | Cliff White 6 | -------------------------------------------------------------------------------- /contrib/scripts/const_structs.checkpatch: -------------------------------------------------------------------------------- 1 | address_space_operations 2 | block_device_operations 3 | dentry_operations 4 | file_lock_operations 5 | file_operations 6 | inode_operations 7 | sysfs_ops 8 | -------------------------------------------------------------------------------- /lustre/lfsck/Makefile.in: -------------------------------------------------------------------------------- 1 | MODULES := lfsck 2 | lfsck-objs := lfsck_lib.o lfsck_engine.o lfsck_bookmark.o lfsck_namespace.o 3 | lfsck-objs += lfsck_layout.o lfsck_striped_dir.o 4 | 5 | @INCLUDE_RULES@ 6 | -------------------------------------------------------------------------------- /lustre/tests/lutf/python/tests-infra/clustre_reset.py: -------------------------------------------------------------------------------- 1 | from lustre_cleanup import clean_lustre 2 | from lnet_cleanup import clean_lnet 3 | 4 | def lutf_clean_setup(): 5 | clean_lustre() 6 | clean_lnet() 7 | -------------------------------------------------------------------------------- /lustre/tests/runobdstat: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | PATH=`dirname $0`/../utils:$PATH 3 | 4 | llobdstat $1 1 | while read LINE; do 5 | echo "`date +s`: $LINE" 6 | [ "$2" ] && echo "`date +s`: $LINE" >> $2 7 | done 8 | -------------------------------------------------------------------------------- /debian/lustre-dev.install: -------------------------------------------------------------------------------- 1 | debian/tmp/usr/include/lustre/* usr/include/lustre 2 | debian/tmp/usr/lib/pkgconfig/* usr/lib/pkgconfig 3 | debian/tmp/usr/lib/*.so usr/lib 4 | debian/tmp/usr/lib/*.a usr/lib 5 | -------------------------------------------------------------------------------- /lnet/klnds/socklnd/autoMakefile.am: -------------------------------------------------------------------------------- 1 | if MODULES 2 | modulenet_DATA := ksocklnd$(KMODEXT) 3 | endif # MODULES 4 | 5 | EXTRA_DIST := $(ksocklnd-objs:%.o=%.c) socklnd.h 6 | 7 | MOSTLYCLEANFILES = @MOSTLYCLEANFILES@ 8 | -------------------------------------------------------------------------------- /lustre-iokit/stats-collect/Makefile.am: -------------------------------------------------------------------------------- 1 | bin_SCRIPTS = iokit-config iokit-gather-stats iokit-lstats 2 | CLEANFILE = $(bin_SCRIPTS) 3 | EXTRA_DIST = README.iokit-lstats iokit-config iokit-gather-stats iokit-lstats 4 | -------------------------------------------------------------------------------- /lustre/kernel_patches/series/4.18-rhel8.7.series: -------------------------------------------------------------------------------- 1 | block-integrity-allow-optional-integrity-functions-rhel8.3.patch 2 | block-pass-bio-into-integrity_processing_fn-rhel8.patch 3 | jbd2-revoke-rhashtable-rhel8.4.patch 4 | -------------------------------------------------------------------------------- /lustre/kernel_patches/series/4.18-rhel8.8.series: -------------------------------------------------------------------------------- 1 | block-integrity-allow-optional-integrity-functions-rhel8.3.patch 2 | block-pass-bio-into-integrity_processing_fn-rhel8.patch 3 | jbd2-revoke-rhashtable-rhel8.4.patch 4 | -------------------------------------------------------------------------------- /lustre/kernel_patches/series/4.18-rhel8.9.series: -------------------------------------------------------------------------------- 1 | block-integrity-allow-optional-integrity-functions-rhel8.3.patch 2 | block-pass-bio-into-integrity_processing_fn-rhel8.patch 3 | jbd2-revoke-rhashtable-rhel8.4.patch 4 | -------------------------------------------------------------------------------- /lustre/kernel_patches/README: -------------------------------------------------------------------------------- 1 | The Linux kernel patches for Lustre. See the Lustre file system Operations 2 | Manual 2.x from http://lustre.opensfs.org/documentation/ for information on how 3 | to patch your kernel. 4 | 5 | -------------------------------------------------------------------------------- /lustre/kernel_patches/series/4.18-rhel8.10.series: -------------------------------------------------------------------------------- 1 | block-integrity-allow-optional-integrity-functions-rhel8.3.patch 2 | block-pass-bio-into-integrity_processing_fn-rhel8.patch 3 | jbd2-revoke-rhashtable-rhel8.4.patch 4 | -------------------------------------------------------------------------------- /lustre/tests/mpi/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | /createmany-mpi 3 | /mdsrate 4 | /parallel_grouplock 5 | /rr_alloc 6 | /write_append_truncate 7 | /write_disjoint 8 | /cascading_rw 9 | /createmany_mpi 10 | /*.log 11 | -------------------------------------------------------------------------------- /lnet/klnds/socklnd/Makefile.in: -------------------------------------------------------------------------------- 1 | MODULES := ksocklnd 2 | 3 | ksocklnd-objs := \ 4 | socklnd.o \ 5 | socklnd_cb.o \ 6 | socklnd_lib.o \ 7 | socklnd_modparams.o \ 8 | socklnd_proto.o 9 | 10 | @INCLUDE_RULES@ 11 | -------------------------------------------------------------------------------- /lustre/mgs/Makefile.in: -------------------------------------------------------------------------------- 1 | MODULES := mgs 2 | mgs-objs := mgs_handler.o mgs_fs.o mgs_llog.o lproc_mgs.o mgs_nids.o 3 | mgs-objs += mgs_barrier.o 4 | 5 | EXTRA_DIST := $(mgs-objs:%.o=%.c) mgs_internal.h 6 | 7 | @INCLUDE_RULES@ 8 | -------------------------------------------------------------------------------- /lustre/tests/racer/file_getxattr.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | trap 'kill $(jobs -p)' EXIT 3 | 4 | DIR=$1 5 | MAX=$2 6 | 7 | while true; do 8 | file=$DIR/$((RANDOM % MAX)) 9 | getfattr -d -m- $file &> /dev/null 10 | done 11 | -------------------------------------------------------------------------------- /lnet/selftest/Makefile.in: -------------------------------------------------------------------------------- 1 | MODULES := lnet_selftest 2 | 3 | lnet_selftest-objs := console.o conrpc.o conctl.o framework.o timer.o rpc.o \ 4 | module.o ping_test.o brw_test.o 5 | 6 | default: all 7 | 8 | @INCLUDE_RULES@ 9 | -------------------------------------------------------------------------------- /lustre-iokit/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | /aclocal.m4 3 | /autom4te.cache 4 | /COPYING 5 | /INSTALL 6 | /install-sh 7 | /lustre-iokit.spec 8 | /lustre-iokit*.tar.gz 9 | /missing 10 | /mkinstalldirs 11 | /modules.order 12 | -------------------------------------------------------------------------------- /lustre/lod/Makefile.in: -------------------------------------------------------------------------------- 1 | MODULES := lod 2 | lod-objs := lod_dev.o lod_lov.o lproc_lod.o lod_pool.o lod_object.o lod_qos.o \ 3 | lod_sub_object.o 4 | 5 | EXTRA_DIST = $(lod-objs:.o=.c) lod_internal.h 6 | 7 | @INCLUDE_RULES@ 8 | -------------------------------------------------------------------------------- /lustre/tests/racer/file_chown.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | trap 'kill $(jobs -p)' EXIT 3 | 4 | DIR=$1 5 | MAX=$2 6 | 7 | while true; do 8 | file=$DIR/$((RANDOM % MAX)) 9 | chown $RANDOM:$RANDOM $file 2> /dev/null 10 | done 11 | -------------------------------------------------------------------------------- /config/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | /compile 3 | /config.guess 4 | /config.sub 5 | /depcomp 6 | /install-sh 7 | /libtool.m4 8 | /ltmain.sh 9 | /ltoptions.m4 10 | /ltsugar.m4 11 | /ltversion.m4 12 | /lt~obsolete.m4 13 | /missing 14 | -------------------------------------------------------------------------------- /lustre/osc/Makefile.in: -------------------------------------------------------------------------------- 1 | MODULES := osc 2 | osc-objs := osc_request.o lproc_osc.o osc_dev.o osc_object.o osc_page.o osc_lock.o osc_io.o osc_quota.o osc_cache.o 3 | 4 | EXTRA_DIST = $(osc-objs:%.o=%.c) osc_internal.h 5 | 6 | @INCLUDE_RULES@ 7 | -------------------------------------------------------------------------------- /contrib/lbuild/lbuild-fc15: -------------------------------------------------------------------------------- 1 | # vim:expandtab:shiftwidth=4:softtabstop=4:tabstop=4: 2 | 3 | source ${LBUILD_DIR}/lbuild-fc 4 | 5 | # increment this if you have made a change that should force a new kernel 6 | # to build built 7 | BUILD_GEN+=".0" 8 | -------------------------------------------------------------------------------- /debian/lustre-tests.install: -------------------------------------------------------------------------------- 1 | debian/tmp/usr/lib/lustre/tests/* usr/lib/lustre/tests 2 | debian/tmp/usr/bin/mcreate usr/bin 3 | debian/tmp/usr/bin/munlink usr/bin 4 | debian/tmp/usr/bin/statx usr/bin 5 | debian/tmp/usr/sbin/wire* usr/sbin 6 | -------------------------------------------------------------------------------- /rpm/kmp-lustre-lnd-kfi.preamble: -------------------------------------------------------------------------------- 1 | Summary: Lustre KFILND feature support 2 | Requires: kmod-cray-kfabric 3 | Provides: %{name}-lnd = %{version} 4 | Obsoletes: %{name}-lnd-kfi < %{version} 5 | BuildRequires: cray-kfabric-devel 6 | -------------------------------------------------------------------------------- /lustre-iokit/obdfilter-survey/Makefile.am: -------------------------------------------------------------------------------- 1 | bin_SCRIPTS = obdfilter-survey iokit-libecho iokit-plot-obdfilter 2 | CLEANFILE = $(bin_SCRIPTS) 3 | EXTRA_DIST = README.obdfilter-survey obdfilter-survey iokit-libecho 4 | EXTRA_DIST += iokit-plot-obdfilter 5 | -------------------------------------------------------------------------------- /lustre/osp/Makefile.in: -------------------------------------------------------------------------------- 1 | MODULES = osp 2 | osp-objs = osp_dev.o osp_object.o osp_precreate.o osp_sync.o lproc_osp.o 3 | osp-objs += lwp_dev.o osp_md_object.o osp_trans.o 4 | 5 | EXTRA_DIST = $(osp-objs:.o=.c) osp_internal.h 6 | 7 | @INCLUDE_RULES@ 8 | -------------------------------------------------------------------------------- /lustre/tests/acl/README: -------------------------------------------------------------------------------- 1 | - copied from acl-2.2.23/test/ 2 | - add inheritance.test from HP 3 | - some tests are depend on enviroment. e.g. some succeed on FC2 but fail on 4 | FC3 etc. We comment out those items, maybe more will be commented out. 5 | -------------------------------------------------------------------------------- /lustre/tests/racer/file_rm.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | trap 'kill $(jobs -p)' EXIT 3 | 4 | DIR=$1 5 | MAX=$2 6 | 7 | while /bin/true ; do 8 | file=$((RANDOM % MAX)) 9 | rm -rf $DIR/$file 2> /dev/null 10 | sleep 1 11 | done 12 | 13 | 14 | -------------------------------------------------------------------------------- /lnet/lnet/autoMakefile.am: -------------------------------------------------------------------------------- 1 | if MODULES 2 | 3 | if LINUX 4 | modulenet_DATA = lnet$(KMODEXT) 5 | endif # LINUX 6 | 7 | endif # MODULES 8 | 9 | EXTRA_DIST := $(lnet-objs:%.o=%.c) lib-cpt.c 10 | 11 | MOSTLYCLEANFILES = @MOSTLYCLEANFILES@ lnet 12 | -------------------------------------------------------------------------------- /lustre/obdecho/Makefile.in: -------------------------------------------------------------------------------- 1 | MODULES := obdecho 2 | obdecho-objs := echo_client.o debug.o 3 | @SERVER_TRUE@obdecho-objs += echo.o 4 | 5 | EXTRA_DIST = $(obdecho-objs:%.o=%.c) echo_internal.h 6 | @SERVER_FALSE@EXTRA_DIST += echo.c 7 | 8 | @INCLUDE_RULES@ 9 | -------------------------------------------------------------------------------- /lustre/tests/lutf/src/lutf_global.swg: -------------------------------------------------------------------------------- 1 | %module clutf_global 2 | 3 | %{ 4 | #include 5 | typedef unsigned int bool; 6 | #define true 1 7 | #define false 0 8 | #include "lutf_global.h" 9 | %} 10 | 11 | #include "lutf_global.h" 12 | 13 | -------------------------------------------------------------------------------- /lustre/tests/racer/file_delxattr.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | trap 'kill $(jobs -p)' EXIT 3 | 4 | DIR=$1 5 | MAX=$2 6 | 7 | while true; do 8 | file=$DIR/$((RANDOM % MAX)) 9 | attr=user.$((RANDOM % MAX)) 10 | setfattr -x $attr $file 2>/dev/null 11 | done 12 | -------------------------------------------------------------------------------- /lustre/utils/liblustreapi.map: -------------------------------------------------------------------------------- 1 | { 2 | global: 3 | cfs_*; 4 | llapi_*; 5 | libcfs_*; 6 | liblustreapi_initialized; 7 | l_ioctl; 8 | mdt_hash_name; 9 | lu_foreign_types; 10 | Parser_*; 11 | register_ioc_*; 12 | local: 13 | *; 14 | }; 15 | -------------------------------------------------------------------------------- /libcfs/include/libcfs/linux/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = linux-misc.h linux-fs.h linux-mem.h linux-time.h linux-cpu.h \ 2 | linux-list.h linux-hash.h linux-uuid.h linux-wait.h linux-net.h \ 3 | glob.h refcount.h processor.h xarray.h linux-fortify-string.h 4 | -------------------------------------------------------------------------------- /lustre/mdd/Makefile.in: -------------------------------------------------------------------------------- 1 | MODULES := mdd 2 | mdd-objs := \ 3 | mdd_acl.o \ 4 | mdd_device.o \ 5 | mdd_dir.o \ 6 | mdd_lock.o \ 7 | mdd_lproc.o \ 8 | mdd_object.o \ 9 | mdd_orphans.o \ 10 | mdd_permission.o \ 11 | mdd_trans.o 12 | @INCLUDE_RULES@ 13 | -------------------------------------------------------------------------------- /lustre/tests/acl/2561.test: -------------------------------------------------------------------------------- 1 | LU-2561 newly created file is same size as directory 2 | 3 | $ mkdir -p 2561 4 | $ cd 2561 5 | $ getfacl --access . | setfacl -d -M- . 6 | $ touch f1 7 | $ stat -c '%s' f1 8 | > 0 9 | $ cd .. 10 | $ rm -rf 2561 11 | 12 | -------------------------------------------------------------------------------- /lustre/tests/racer/file_chmod.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | trap 'kill $(jobs -p)' EXIT 3 | 4 | DIR=$1 5 | MAX=$2 6 | 7 | while true; do 8 | file=$DIR/$((RANDOM % MAX)) 9 | mode=$(printf '%o' $((RANDOM % 010000))) 10 | chmod $mode $file 2> /dev/null 11 | done 12 | -------------------------------------------------------------------------------- /lustre/tests/racer/file_link.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | trap 'kill $(jobs -p)' EXIT 3 | 4 | DIR=$1 5 | MAX=$2 6 | 7 | while true; do 8 | old_path=$DIR/$((RANDOM % MAX)) 9 | new_path=$DIR/$((RANDOM % MAX)) 10 | ln $old_path $new_path 2> /dev/null 11 | done 12 | -------------------------------------------------------------------------------- /lustre/ofd/Makefile.in: -------------------------------------------------------------------------------- 1 | MODULES := ofd 2 | 3 | ofd-objs := ofd_dev.o ofd_obd.o ofd_fs.o ofd_trans.o ofd_objects.o ofd_io.o 4 | ofd-objs += lproc_ofd.o ofd_dlm.o ofd_lvb.o ofd_access_log.o 5 | 6 | EXTRA_DIST = $(ofd-objs:%.o=%.c) ofd_internal.h 7 | 8 | @INCLUDE_RULES@ 9 | -------------------------------------------------------------------------------- /lustre/tests/acl/2561_zfs.test: -------------------------------------------------------------------------------- 1 | LU-2561 newly created file is same size as directory 2 | 3 | $ mkdir -p 2561 4 | $ cd 2561 5 | $ getfacl --access . | setfacl -d -M- . 6 | $ touch f1 7 | $ stat -c '%s' f1 8 | > 0 9 | $ cd .. 10 | $ rm -rf 2561 11 | 12 | -------------------------------------------------------------------------------- /lustre/tests/llmount.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | LUSTRE=${LUSTRE:-$(dirname $0)/..} 4 | . $LUSTRE/tests/test-framework.sh 5 | init_test_env $@ 6 | 7 | [ -n "$LOAD" ] && load_modules && exit 0 8 | [ -z "$NOFORMAT" ] && formatall 9 | [ -z "$NOSETUP" ] && setupall 10 | -------------------------------------------------------------------------------- /lustre/tests/racer/file_mknod.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | trap 'kill $(jobs -p)' EXIT 3 | 4 | DIR=$1 5 | MAX=$2 6 | 7 | MCREATE=${MCREATE:-$LUSTRE/tests/mcreate} 8 | 9 | while true; do 10 | file=$DIR/$((RANDOM % MAX)) 11 | $MCREATE $file 2> /dev/null 12 | done 13 | -------------------------------------------------------------------------------- /lustre/tests/racer/file_swap.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | trap 'kill $(jobs -p)' EXIT 3 | 4 | DIR=$1 5 | MAX=$2 6 | 7 | while : ; do 8 | file=$((RANDOM % $MAX)) 9 | new_file=$((RANDOM % MAX)) 10 | $LFS swap_layouts $DIR/$file $DIR/$new_file 2>/dev/null 11 | done 12 | -------------------------------------------------------------------------------- /lustre/kernel_patches/series/4.18-rhel8.series: -------------------------------------------------------------------------------- 1 | block-bio-integrity-Advance-seed-correctly-for-large.patch 2 | block-integrity-allow-optional-integrity-functions-rhel8.patch 3 | block-pass-bio-into-integrity_processing_fn-rhel8.patch 4 | jbd2-revoke-rhashtable-rhel8.4.patch 5 | -------------------------------------------------------------------------------- /lustre/tests/racer/file_rename.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | trap 'kill $(jobs -p)' EXIT 3 | 4 | DIR=$1 5 | MAX=$2 6 | 7 | while /bin/true ; do 8 | file=$((RANDOM % MAX)) 9 | new_file=$((RANDOM % MAX)) 10 | mv $DIR/$file $DIR/$new_file 2> /dev/null 11 | done 12 | -------------------------------------------------------------------------------- /lustre/kernel_patches/series/4.18-rhel8.1.series: -------------------------------------------------------------------------------- 1 | block-bio-integrity-Advance-seed-correctly-for-large.patch 2 | block-integrity-allow-optional-integrity-functions-rhel8.patch 3 | block-pass-bio-into-integrity_processing_fn-rhel8.patch 4 | jbd2-revoke-rhashtable-rhel8.4.patch 5 | -------------------------------------------------------------------------------- /lustre/kernel_patches/series/4.18-rhel8.2.series: -------------------------------------------------------------------------------- 1 | block-bio-integrity-Advance-seed-correctly-for-large.patch 2 | block-integrity-allow-optional-integrity-functions-rhel8.patch 3 | block-pass-bio-into-integrity_processing_fn-rhel8.patch 4 | jbd2-revoke-rhashtable-rhel8.4.patch 5 | -------------------------------------------------------------------------------- /lustre/kernel_patches/series/4.18-rhel8.3.series: -------------------------------------------------------------------------------- 1 | block-bio-integrity-Advance-seed-correctly-for-large.patch 2 | block-integrity-allow-optional-integrity-functions-rhel8.3.patch 3 | block-pass-bio-into-integrity_processing_fn-rhel8.patch 4 | jbd2-revoke-rhashtable-rhel8.4.patch 5 | -------------------------------------------------------------------------------- /lustre/kernel_patches/series/4.18-rhel8.4.series: -------------------------------------------------------------------------------- 1 | block-bio-integrity-Advance-seed-correctly-for-large.patch 2 | block-integrity-allow-optional-integrity-functions-rhel8.3.patch 3 | block-pass-bio-into-integrity_processing_fn-rhel8.patch 4 | jbd2-revoke-rhashtable-rhel8.4.patch 5 | -------------------------------------------------------------------------------- /lustre/kernel_patches/series/4.18-rhel8.5.series: -------------------------------------------------------------------------------- 1 | block-bio-integrity-Advance-seed-correctly-for-large.patch 2 | block-integrity-allow-optional-integrity-functions-rhel8.3.patch 3 | block-pass-bio-into-integrity_processing_fn-rhel8.patch 4 | jbd2-revoke-rhashtable-rhel8.4.patch 5 | -------------------------------------------------------------------------------- /lustre/kernel_patches/series/4.18-rhel8.6.series: -------------------------------------------------------------------------------- 1 | block-bio-integrity-Advance-seed-correctly-for-large.patch 2 | block-integrity-allow-optional-integrity-functions-rhel8.3.patch 3 | block-pass-bio-into-integrity_processing_fn-rhel8.patch 4 | jbd2-revoke-rhashtable-rhel8.4.patch 5 | -------------------------------------------------------------------------------- /lustre/obdclass/autoMakefile.am: -------------------------------------------------------------------------------- 1 | if MODULES 2 | 3 | if LINUX 4 | modulefs_DATA = obdclass$(KMODEXT) 5 | if TESTS 6 | modulefs_DATA += llog_test$(KMODEXT) 7 | endif # TESTS 8 | endif # LINUX 9 | 10 | endif # MODULES 11 | 12 | MOSTLYCLEANFILES := @MOSTLYCLEANFILES@ 13 | -------------------------------------------------------------------------------- /snmp/README.install: -------------------------------------------------------------------------------- 1 | Steps for installation: 2 | 3 | Update /etc/snmp/snmpd.conf appending the following line: 4 | 5 | dlmod lustresnmp /usr/lib/lustre/snmp/lustresnmp.so 6 | 7 | Or the appropriate path to the snmp module. 8 | 9 | Then, restart the snmpd daemon. 10 | -------------------------------------------------------------------------------- /lustre/tests/racer/file_truncate.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | trap 'kill $(jobs -p)' EXIT 3 | 4 | DIR=$1 5 | MAX=$2 6 | 7 | TRUNCATE=${TRUNCATE:-$LUSTRE/tests/truncate} 8 | 9 | while true; do 10 | file=$DIR/$((RANDOM % MAX)) 11 | $TRUNCATE $file $RANDOM 2> /dev/null 12 | done 13 | -------------------------------------------------------------------------------- /lustre/conf/modules.conf: -------------------------------------------------------------------------------- 1 | # sample modules.conf for autoloading lustre modules on zeroconf clients 2 | 3 | add below kptlrouter portals 4 | #add below ksocknal kptlrouter 5 | #add below kqswnal kptlrouter 6 | add below ptlrpc ksocknal 7 | add below llite lov osc 8 | alias lustre llite 9 | -------------------------------------------------------------------------------- /contrib/git-hooks/tests/commit.ok_bugid: -------------------------------------------------------------------------------- 1 | LU-553 build: improve checks for commit-msg 2 | 3 | message 4 | body 5 | 6 | Signed-off-by: Andreas Dilger 7 | Change-Id: I0123456789012345678901234567890123456789 8 | Xyratex-bug-id: MRP-123 9 | Oracle-bug-id: 12345 10 | -------------------------------------------------------------------------------- /lustre/doc/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | /OBD-HOWTO.html 3 | /OBD-HOWTO.txt 4 | /lustre-HOWTO.lyx 5 | /lustre-HOWTO.txt 6 | /lustre-pdf.bbl 7 | /lustre-pdf.blg 8 | /lustre-pdf.log 9 | /lustre-pdf.out 10 | /lustre-pdf.toc 11 | /*.eps 12 | /lustre.lyx 13 | /*.tex 14 | /*.pdf 15 | /*.aux 16 | -------------------------------------------------------------------------------- /lustre/fid/Makefile.in: -------------------------------------------------------------------------------- 1 | MODULES := fid 2 | fid-objs := fid_request.o lproc_fid.o 3 | @SERVER_TRUE@fid-objs += fid_handler.o fid_store.o fid_lib.o 4 | 5 | EXTRA_DIST = $(fid-objs:%.o=%.c) fid_internal.h 6 | @SERVER_FALSE@EXTRA_DIST += fid_handler.c fid_store.c fid_lib.c 7 | 8 | @INCLUDE_RULES@ 9 | -------------------------------------------------------------------------------- /lustre/tests/lutf/python/infra/lutf_get_num_agents.py: -------------------------------------------------------------------------------- 1 | from clutf_agent import * 2 | 3 | def get_num_agents(): 4 | i = 0 5 | for x in range(0, MAX_NUM_AGENTS): 6 | agent = find_agent_blk_by_id(x) 7 | if agent: 8 | i = i + 1 9 | release_agent_blk(agent, False) 10 | return i 11 | -------------------------------------------------------------------------------- /debian/.gitignore: -------------------------------------------------------------------------------- 1 | /*.log 2 | /*.substvars 3 | /.debhelper 4 | /files 5 | /lustre-dev 6 | /lustre-source 7 | /lustre-iokit 8 | /lustre-tests 9 | /lustre-resource-agents 10 | /lustre-*.substvars 11 | /lustre-*-utils 12 | /lustre-server-utils.install 13 | /lustre-client-utils.install 14 | /tmp 15 | -------------------------------------------------------------------------------- /rpm/kmp-lustre-osd-zfs.preamble: -------------------------------------------------------------------------------- 1 | Requires: %{name}-osd-zfs-mount = %{version} 2 | %if 0%{confzfsdobjpath} != 0 3 | BuildRequires: kmod-zfs-devel 4 | %endif 5 | Provides: %{name}-osd = %{version} 6 | Provides: %{name}-osd-zfs = %{version} 7 | Obsoletes: %{name}-osd-zfs < %{version} 8 | -------------------------------------------------------------------------------- /lnet/klnds/o2iblnd/Makefile.in: -------------------------------------------------------------------------------- 1 | MODULES := ko2iblnd 2 | ko2iblnd-objs := o2iblnd.o o2iblnd_cb.o o2iblnd_modparams.o 3 | 4 | # Need to make sure that an external OFED source pool overrides 5 | # any in-kernel OFED sources 6 | NOSTDINC_FLAGS += @EXTRA_OFED_CONFIG@ @EXTRA_OFED_INCLUDE@ 7 | 8 | @INCLUDE_RULES@ 9 | -------------------------------------------------------------------------------- /lustre/tests/parallel-scale-nfsv4.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | LUSTRE=${LUSTRE:-$(dirname $0)/..} 4 | . $LUSTRE/tests/test-framework.sh 5 | init_test_env $@ 6 | 7 | export ALWAYS_EXCEPT="$PARALLEL_SCALE_NFSV4_EXCEPT " 8 | always_except LU-17154 racer_on_nfs 9 | 10 | $LUSTRE/tests/parallel-scale-nfs.sh 4 11 | -------------------------------------------------------------------------------- /lustre/tests/lutf/swig_templates/lutf_missing_definitions.h: -------------------------------------------------------------------------------- 1 | #ifndef LUTF_MISSING_DEFINITIONS_H 2 | #define LUTF_MISSING_DEFINITIONS_H 3 | 4 | size_t strlcpy(char *tgt, const char *src, size_t tgt_len); 5 | size_t strlcat(char *tgt, const char *src, size_t tgt_len); 6 | 7 | #endif /* LUTF_MISSING_DEFINITIONS_H */ 8 | -------------------------------------------------------------------------------- /lustre/scripts/.gitignore: -------------------------------------------------------------------------------- 1 | /lustre.spec 2 | /Makefile.in 3 | /version_tag.pl 4 | /lc_net.sh 5 | /lc_modprobe.sh 6 | /lc_hb.sh 7 | /lc_cluman.sh 8 | /lc_md.sh 9 | /lc_lvm.sh 10 | /lc_cluman 11 | /lc_hb 12 | /lc_lvm 13 | /lc_md 14 | /lc_modprobe 15 | /lc_net 16 | /lnet 17 | /lustre 18 | /lustre_start 19 | /tree_status.pl 20 | -------------------------------------------------------------------------------- /lnet/selftest/autoMakefile.am: -------------------------------------------------------------------------------- 1 | if MODULES 2 | 3 | if LINUX 4 | modulenet_DATA = lnet_selftest$(KMODEXT) 5 | endif # LINUX 6 | 7 | endif # MODULES 8 | 9 | EXTRA_DIST := $(lnet_selftest-objs:%.o=%.c) 10 | EXTRA_DIST += console.h conrpc.h rpc.h selftest.h timer.h 11 | 12 | MOSTLYCLEANFILES = @MOSTLYCLEANFILES@ selftest 13 | -------------------------------------------------------------------------------- /lustre/.gitignore: -------------------------------------------------------------------------------- 1 | /.Xrefs-2.5 2 | /aclocal.m4 3 | /config.cache 4 | /config.guess 5 | /config.sub 6 | /lustre*.tar.gz 7 | /cscope.files 8 | /cscope.out 9 | /autom4te-2.53.cache 10 | /autom4te.cache 11 | /depcomp 12 | /compile 13 | /.mergeinfo-* 14 | /Rules 15 | /missing 16 | /mkinstalldirs 17 | /install-sh 18 | /tmpdiff 19 | -------------------------------------------------------------------------------- /lustre/fld/Makefile.in: -------------------------------------------------------------------------------- 1 | MODULES := fld 2 | fld-objs := fld_request.o fld_cache.o lproc_fld.o 3 | @SERVER_TRUE@fld-objs += fld_handler.o fld_index.o 4 | 5 | EXTRA_PRE_CFLAGS := -I@LUSTRE@ 6 | EXTRA_DIST := $(fld-objs:%.o=%.c) fld_internal.h 7 | @SERVER_FALSE@EXTRA_DIST += fld_handler.c fld_index.c 8 | 9 | @INCLUDE_RULES@ 10 | -------------------------------------------------------------------------------- /lustre/tests/racer/file_symlink.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | trap 'kill $(jobs -p)' EXIT 3 | 4 | DIR=$1 5 | MAX=$2 6 | 7 | while /bin/true ; do 8 | file=$((RANDOM % MAX)) 9 | new_file=$((RANDOM % MAX)) 10 | ln -s $file $DIR/$new_file 2> /dev/null 11 | ln -s $file/$file/$file $DIR/$new_file 2> /dev/null 12 | done 13 | -------------------------------------------------------------------------------- /config/Makefile.am: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-2.0 2 | 3 | # 4 | # This file is part of Lustre, http://www.lustre.org/ 5 | # 6 | # config/Makefile.am 7 | # 8 | # Template to generate Makefile 9 | # 10 | 11 | EXTRA_DIST = lustre-build.m4 lustre-build-linux.m4 12 | EXTRA_DIST += lustre-build-ldiskfs.m4 lustre-build-zfs.m4 13 | -------------------------------------------------------------------------------- /lustre/tests/racer/dir_create.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | trap 'kill $(jobs -p)' EXIT 3 | 4 | DIR=$1 5 | MAX=$2 6 | 7 | create(){ 8 | echo "asdf" > $DIR/$file/$file/$file 9 | } 10 | 11 | while /bin/true ; do 12 | file=$((RANDOM % MAX)) 13 | mkdir -p $DIR/$file/$file/ 2> /dev/null 14 | create 2> /dev/null 15 | done 16 | -------------------------------------------------------------------------------- /lnet/klnds/gnilnd/autoMakefile.am: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2009 Cray, Inc. 2 | # 3 | # This code is issued under the GNU General Public License. 4 | # See the file COPYING in this distribution 5 | 6 | if MODULES 7 | if BUILD_GNILND 8 | modulenet_DATA = kgnilnd$(KMODEXT) 9 | endif 10 | endif 11 | 12 | MOSTLYCLEANFILES = @MOSTLYCLEANFILES@ 13 | -------------------------------------------------------------------------------- /debian/lustre-client-utils.install.in: -------------------------------------------------------------------------------- 1 | debian/tmp/sbin/* sbin 2 | debian/tmp/usr/sbin/* usr/sbin 3 | debian/tmp/usr/bin/* usr/bin 4 | debian/tmp/usr/lib/*.so.* usr/lib 5 | debian/tmp/lib/systemd/system/* lib/systemd/system 6 | debian/tmp/etc/* etc 7 | debian/tmp/usr/share/bash-completion/completions/* usr/share/bash-completion/completions 8 | -------------------------------------------------------------------------------- /lnet/klnds/kfilnd/Makefile.in: -------------------------------------------------------------------------------- 1 | MODULES := kkfilnd 2 | 3 | kkfilnd-objs := \ 4 | kfilnd.o \ 5 | kfilnd_modparams.o \ 6 | kfilnd_tn.o \ 7 | kfilnd_ep.o \ 8 | kfilnd_dev.o \ 9 | kfilnd_dom.o \ 10 | kfilnd_peer.o \ 11 | kfilnd_cq.o \ 12 | kfilnd_debugfs.o \ 13 | 14 | EXTRA_POST_CFLAGS += @KFICPPFLAGS@ 15 | 16 | @INCLUDE_RULES@ 17 | -------------------------------------------------------------------------------- /lnet/klnds/kfilnd/autoMakefile.am: -------------------------------------------------------------------------------- 1 | if MODULES 2 | if BUILD_KFILND 3 | modulenet_DATA := kkfilnd$(KMODEXT) 4 | endif # BUILD_KFILND 5 | endif # MODULES 6 | 7 | EXTRA_DIST := $(kkfilnd-objs:%.o=%.c) kfilnd.h kfilnd_dev.h kfilnd_dom.h \ 8 | kfilnd_ep.h kfilnd_peer.h kfilnd_tn.h kfilnd_cq.h 9 | 10 | MOSTLYCLEANFILES = @MOSTLYCLEANFILES@ 11 | -------------------------------------------------------------------------------- /lustre/tests/racer/file_setxattr.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | trap 'kill $(jobs -p)' EXIT 3 | 4 | DIR=$1 5 | MAX=$2 6 | 7 | while true; do 8 | file=$DIR/$((RANDOM % MAX)) 9 | attr=user.$((RANDOM % MAX)) 10 | value=$RANDOM$RANDOM$RANDOM$RANDOM$RANDOM$RANDOM$RANDOM$RANDOM$RANDOM 11 | setfattr -n $attr -v $value $file 2> /dev/null 12 | done 13 | -------------------------------------------------------------------------------- /lustre/utils/lustre.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | includedir=@includedir@ 4 | libdir=@libdir@ 5 | 6 | Name: lustreapi 7 | Description: Library that applications can use to take advantage of Lustre's advance features 8 | Version: @PACKAGE_VERSION@ 9 | Cflags: -I${includedir}/lustre 10 | Libs: -L${libdir} -llustreapi 11 | -------------------------------------------------------------------------------- /lustre/tests/socketclient: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl -w 2 | use Socket; 3 | use strict; 4 | my ($rendezvous, $line); 5 | 6 | $rendezvous = shift || <@ARGV>; 7 | socket(SOCK, AF_UNIX, SOCK_STREAM, 0) || die "socket: $!"; 8 | connect(SOCK, sockaddr_un($rendezvous)) || die "connect: $!"; 9 | while (defined($line = )) { 10 | print $line; 11 | } 12 | exit; 13 | -------------------------------------------------------------------------------- /lustre/conf/99-lustre.rules: -------------------------------------------------------------------------------- 1 | KERNEL=="obd", MODE="0666" 2 | 3 | # set sysfs values on client 4 | SUBSYSTEM=="lustre", ACTION=="change", ENV{PARAM}=="?*", RUN+="/usr/sbin/lctl set_param '$env{PARAM}=$env{SETTING}'" 5 | # setup linux routes for mr on lustre load 6 | SUBSYSTEM=="module", ACTION=="add", DEVPATH=="/module/lustre", RUN+="/usr/sbin/lnetctl setup-mrrouting" 7 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/3.x-fc18.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="3.6.10" 2 | lnxrel="4.fc18" 3 | 4 | KERNEL_SRPM=kernel-${lnxmaj}-${lnxrel}.src.rpm 5 | SERIES="" 6 | EXTRA_VERSION=${lnxrel}_lustre.@VERSION@ 7 | LUSTRE_VERSION=@VERSION@ 8 | BASE_ARCHS="i686 x86_64" 9 | BIGMEM_ARCHS="" 10 | BOOT_ARCHS="" 11 | JENSEN_ARCHS="" 12 | SMP_ARCHS="" 13 | UP_ARCHS="" 14 | 15 | -------------------------------------------------------------------------------- /lustre/tests/racer/lss_create.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | trap 'kill $(jobs -p)' EXIT 3 | 4 | LUSTRE=${LUSTRE:-$(cd $(dirname $0)/../..; echo $PWD)} 5 | . $LUSTRE/tests/test-framework.sh 6 | trap - ERR 7 | . ${CONFIG:=$LUSTRE/tests/cfg/$NAME.sh} 8 | 9 | while /bin/true; do 10 | lsnapshot_create -n lss_$RANDOM || true 11 | sleep $((RANDOM % 9 + 11)) 12 | done 13 | -------------------------------------------------------------------------------- /contrib/git-hooks/tests/commit.mdsfst: -------------------------------------------------------------------------------- 1 | DCO-5866 scripts: check for mdsfilesystemtype 2 | 3 | Check if the Test-Parameters line is using the old mdsfilesystemtype= 4 | option and ask for it to be removed. The mdtfilesystemtype= option 5 | should be used instead. 6 | 7 | Test-Parameters: trivial mdsfilesystemtype=zfs 8 | Signed-off-by: Andreas Dilger 9 | -------------------------------------------------------------------------------- /lustre/tests/racer/file_concat.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | trap 'kill $(jobs -p)' EXIT 3 | 4 | DIR=$1 5 | MAX=$2 6 | 7 | concat(){ 8 | cat $DIR/$file >> $DIR/$new_file 9 | cat $DIR/$file/$file/$file >> $DIR/$new_file 10 | 11 | } 12 | 13 | while /bin/true ; do 14 | file=$((RANDOM % MAX)) 15 | new_file=$((RANDOM % MAX)) 16 | concat 2> /dev/null 17 | done 18 | -------------------------------------------------------------------------------- /libcfs/include/libcfs/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = linux util 2 | DIST_SUBDIRS = linux util 3 | SUBDIRS += crypto 4 | DIST_SUBDIRS += crypto 5 | 6 | libcfsdir = $(includedir)/libcfs 7 | 8 | EXTRA_DIST = \ 9 | bitmap.h \ 10 | libcfs.h \ 11 | libcfs_crypto.h \ 12 | libcfs_debug.h \ 13 | libcfs_fail.h \ 14 | libcfs_hash.h \ 15 | libcfs_private.h \ 16 | libcfs_string.h 17 | -------------------------------------------------------------------------------- /lustre/tests/compile.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -evx 3 | 4 | MOUNT=${MOUNT:-/mnt/lustre} 5 | DIR=${DIR:-$MOUNT} 6 | SRC=${SRC:-`dirname $0`/../..} 7 | export CC=${CC:-gcc} 8 | while date; do 9 | for i in lustre; do 10 | TGT=$DIR/$i 11 | [ -d $TGT ] || cp -av $SRC/$i/ $TGT 12 | make -C $TGT clean 13 | make -C $TGT -j2 14 | make -C $TGT clean 15 | done 16 | done 17 | -------------------------------------------------------------------------------- /contrib/lbuild/lbuild-oel5: -------------------------------------------------------------------------------- 1 | # vim:expandtab:shiftwidth=4:softtabstop=4:tabstop=4: 2 | 3 | source ${LBUILD_DIR}/lbuild-rhel5 4 | 5 | # increment this if you have made a change that should force a new kernel 6 | # to build built for this distribution (only -- if you want to force a kernel 7 | # build on all distributions, update the BUILD_GEN variable in build/lbuild) 8 | BUILD_GEN+=".0" 9 | -------------------------------------------------------------------------------- /lnet/klnds/gnilnd/Makefile.in: -------------------------------------------------------------------------------- 1 | MODULES := kgnilnd 2 | kgnilnd-objs := gnilnd.o gnilnd_cb.o gnilnd_modparams.o gnilnd_debug.o gnilnd_proc.o \ 3 | gnilnd_sysctl.o gnilnd_stack.o gnilnd_conn.o 4 | 5 | EXTRA_POST_CFLAGS := -D"SVN_CODE_REV=KBUILD_STR(${SVN_CODE_REV})" @GNICPPFLAGS@ 6 | 7 | EXTRA_DIST = $(kgnilnd-objs:%.o=%.c) gnilnd.h gnilnd_api_wrap.h 8 | 9 | @INCLUDE_RULES@ 10 | -------------------------------------------------------------------------------- /rpm/kmp-lustre-osd-ldiskfs.preamble: -------------------------------------------------------------------------------- 1 | Requires: %{requires_kmod_name} = %{requires_kmod_version} 2 | Requires: ldiskfsprogs >= 1.44.3.wc1 3 | Requires: lustre-osd-ldiskfs-mount = %{version} 4 | BuildRequires: kernel-debuginfo 5 | Provides: lustre-osd = %{version} 6 | Obsoletes: lustre-ldiskfs < %{version} 7 | Obsoletes: lustre-osd-ldiskfs < %{version} 8 | -------------------------------------------------------------------------------- /lnet/utils/lbstats: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "=== Router Buffers =======" 4 | lctl get_param -n buffers 2> /dev/null 5 | echo 6 | 7 | echo "=== NIs ============================================" 8 | lctl get_param -n nis 2> /dev/null 9 | echo 10 | 11 | echo "=== Peers =============================================================" 12 | lctl get_param -n peers 2> /dev/null 13 | echo 14 | -------------------------------------------------------------------------------- /lustre/mdc/Makefile.in: -------------------------------------------------------------------------------- 1 | MODULES := mdc 2 | 3 | mdc-objs-y := mdc_request.o \ 4 | mdc_reint.o \ 5 | lproc_mdc.o \ 6 | mdc_lib.o \ 7 | mdc_locks.o \ 8 | mdc_changelog.o \ 9 | mdc_dev.o 10 | 11 | mdc-objs-$(CONFIG_FS_POSIX_ACL) += mdc_acl.o 12 | 13 | mdc-objs := $(mdc-objs-y) 14 | 15 | EXTRA_DIST = $(mdc-objs:.o=.c) mdc_acl.c mdc_internal.h 16 | 17 | @INCLUDE_RULES@ 18 | -------------------------------------------------------------------------------- /lustre/tests/lutf/python/tests-infra/lustre_roles.py: -------------------------------------------------------------------------------- 1 | LUSTRE_NODE_ROLE_UNDEFINED = 'UNDEFINED' 2 | LUSTRE_NODE_ROLE_CLIENT = 'CLIENT' 3 | LUSTRE_NODE_ROLE_ROUTER = 'ROUTER' 4 | LUSTRE_NODE_ROLE_OSS = 'OSS' 5 | LUSTRE_NODE_ROLE_OST = 'OST' 6 | LUSTRE_NODE_ROLE_MGS = 'MGS' 7 | LUSTRE_NODE_ROLE_MDT = 'MDT' 8 | LUSTRE_NODE_ROLE_MDS = 'MDS' 9 | LUSTRE_NODE_ROLE_MGT = 'MGT' 10 | 11 | 12 | -------------------------------------------------------------------------------- /contrib/git-hooks/tests/commit.ok_diffinside: -------------------------------------------------------------------------------- 1 | LU-1030 build: allow diff/chmod/deleted in commit-msg 2 | 3 | When we write a commit body, sometimes there may be a line with 4 | diff right at the beginning. This shouldn't cause the rest of 5 | the commit message to be skipped. 6 | 7 | Signed-off-by: Andreas Dilger 8 | Change-Id: I012345678901234567890123456789012345500c 9 | -------------------------------------------------------------------------------- /libcfs/include/libcfs/linux/glob.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | #ifndef _LINUX_GLOB_H 3 | #define _LINUX_GLOB_H 4 | 5 | #ifndef HAVE_GLOB 6 | 7 | #include /* For bool */ 8 | #include /* For __pure */ 9 | 10 | bool __pure glob_match(char const *pat, char const *str); 11 | #endif /* !HAVE_GLOB */ 12 | 13 | #endif /* _LINUX_GLOB_H */ 14 | -------------------------------------------------------------------------------- /debian/lustre-server-utils.install.in: -------------------------------------------------------------------------------- 1 | debian/tmp/sbin/* sbin 2 | debian/tmp/usr/sbin/* usr/sbin 3 | debian/tmp/usr/bin/* usr/bin 4 | debian/tmp/usr/lib/*.so.* usr/lib 5 | debian/tmp/usr/lib/lustre/*.so* usr/lib/lustre 6 | debian/tmp/lib/systemd/system/* lib/systemd/system 7 | debian/tmp/etc/* etc 8 | debian/tmp/usr/share/bash-completion/completions/* usr/share/bash-completion/completions 9 | -------------------------------------------------------------------------------- /lustre/kernel_patches/series/3.10-rhel7.9.series: -------------------------------------------------------------------------------- 1 | vfs-project-quotas-rhel7.patch 2 | fix-integrity-verify-rhel7.patch 3 | jbd2-revoke-rhashtable-rhel7.patch 4 | block-integrity-allow-optional-integrity-functions-rhel7.patch 5 | block-pass-bio-into-integrity_processing_fn-rhel7.patch 6 | block-Ensure-we-only-enable-integrity-metadata-for-reads-and-writes-rhel7.patch 7 | rwsem-remove-wakeup-optimization.patch 8 | -------------------------------------------------------------------------------- /lustre/tests/acl/4924.test: -------------------------------------------------------------------------------- 1 | LU-4924 - chmod g+s, touch should not clear sgid bit 2 | 3 | $ mkdir 4924 4 | $ cd 4924 5 | $ touch f 6 | $ chmod u=rwx,g=rwxs f 7 | $ ls -l f | awk -- '{sub(/\\./, "", $1); print $1, $3, $4 }' 8 | > -rwxrwsr-- root root 9 | $ touch f 10 | $ ls -l f | awk -- '{sub(/\\./, "", $1); print $1, $3, $4 }' 11 | > -rwxrwsr-- root root 12 | $ cd .. 13 | $ rm -rf 4924 14 | -------------------------------------------------------------------------------- /lustre/tests/runvmstat: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | DELAY=1 3 | null() { 4 | : 5 | } 6 | 7 | case "$1" in 8 | -q) echo "echo off" 9 | ECHO="null" 10 | shift ;; 11 | [1-9]*) 12 | DELAY=$1 13 | ECHO=echo 14 | shift ;; 15 | *) 16 | echo "echo on" 17 | ECHO=echo 18 | esac 19 | 20 | vmstat $DELAY | while read LINE ; do 21 | LINE="`date +%s`: $LINE" 22 | $ECHO "$LINE" 23 | [ "$1" ] && echo "$LINE" >> $1 24 | done 25 | -------------------------------------------------------------------------------- /contrib/scripts/crypto_patches/0001_llcrypt_private_include.patch: -------------------------------------------------------------------------------- 1 | --- a/libcfs/libcfs/crypto/llcrypt_private.h 2 | +++ b/libcfs/libcfs/crypto/llcrypt_private.h 3 | @@ -11,7 +11,7 @@ 4 | #ifndef _LLCRYPT_PRIVATE_H 5 | #define _LLCRYPT_PRIVATE_H 6 | 7 | -#include 8 | +#include 9 | #include 10 | 11 | #define CONST_STRLEN(str) (sizeof(str) - 1) 12 | -------------------------------------------------------------------------------- /lustre/Makefile.in: -------------------------------------------------------------------------------- 1 | obj-m += fid/ 2 | obj-m += obdclass/ 3 | obj-m += ptlrpc/ 4 | obj-m += obdecho/ 5 | obj-m += mgc/ 6 | obj-m += tests/kernel/ 7 | 8 | @SERVER_TRUE@obj-m += ost/ mgs/ mdt/ mdd/ ofd/ quota/ osp/ lod/ lfsck/ 9 | @CLIENT_TRUE@obj-m += lov/ osc/ mdc/ lmv/ llite/ fld/ 10 | @LDISKFS_ENABLED_TRUE@obj-m += osd-ldiskfs/ 11 | @ZFS_ENABLED_TRUE@obj-m += osd-zfs/ 12 | @OSDADDON@ 13 | 14 | @INCLUDE_RULES@ 15 | -------------------------------------------------------------------------------- /lnet/lnet/Makefile.in: -------------------------------------------------------------------------------- 1 | MODULES := lnet 2 | 3 | lnet-objs-$(CONFIG_SMP) = lib-cpt.o 4 | lnet-objs := api-ni.o config.o nidstrings.o lnet_rdma.o lock.o 5 | lnet-objs += lib-me.o lib-msg.o lib-md.o lib-ptl.o 6 | lnet-objs += lib-socket.o lib-move.o module.o lo.o 7 | lnet-objs += router.o lnet_debugfs.o acceptor.o peer.o net_fault.o udsp.o 8 | lnet-objs += $(lnet-objs-y) 9 | 10 | default: all 11 | 12 | @INCLUDE_RULES@ 13 | -------------------------------------------------------------------------------- /lnet/utils/lnetunload: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | lnds=$(echo k{sock,qsw,{open,i,v,o2,c}ib,ra,ptl,mx}lnd) 4 | 5 | do_rmmod() { 6 | mod=$1 7 | if grep "^$mod" /proc/modules >/dev/null 2>&1; then 8 | rmmod $mod 9 | fi 10 | } 11 | 12 | do_rmmod lnet_selftest 13 | 14 | if lctl network down > /dev/null 2>&1; then 15 | for mod in $lnds; do do_rmmod $mod; done 16 | 17 | rmmod lnet 18 | rmmod libcfs 19 | fi 20 | -------------------------------------------------------------------------------- /lustre/scripts/systemd/Makefile.am: -------------------------------------------------------------------------------- 1 | # These are scripts that are generated from .in files 2 | genunitfiles = lnet.service 3 | 4 | if HAVE_SYSTEMD 5 | systemdsystemunit_DATA = lnet.service 6 | endif 7 | 8 | EXTRA_DIST = $(addsuffix .in,$(genunitfiles)) 9 | 10 | CLEANFILES = $(genunitfiles) 11 | 12 | $(genunitfiles): %: %.in 13 | sed -e 's,@sbindir\@,$(sbindir),g' \ 14 | -e 's,@sysconfdir\@,$(sysconfdir),g' $< > $@ 15 | -------------------------------------------------------------------------------- /lustre/tests/parallel-scale-nfsv3.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | LUSTRE=${LUSTRE:-$(dirname $0)/..} 4 | . $LUSTRE/tests/test-framework.sh 5 | init_test_env $@ 6 | 7 | export ALWAYS_EXCEPT="$PARALLEL_SCALE_NFSV3_EXCEPT " 8 | # Bug number for skipped test: LU-16163 9 | ALWAYS_EXCEPT+=" racer_on_nfs " 10 | # UPDATE THE COMMENT ABOVE WITH BUG NUMBERS WHEN CHANGING ALWAYS_EXCEPT! 11 | 12 | $LUSTRE/tests/parallel-scale-nfs.sh 3 13 | -------------------------------------------------------------------------------- /lustre/kernel_patches/series/3.10-rhel7.8.series: -------------------------------------------------------------------------------- 1 | vfs-project-quotas-rhel7.patch 2 | fix-integrity-verify-rhel7.patch 3 | fix-sd-dif-complete-rhel7.patch 4 | jbd2-revoke-rhashtable-rhel7.patch 5 | block-integrity-allow-optional-integrity-functions-rhel7.patch 6 | block-pass-bio-into-integrity_processing_fn-rhel7.patch 7 | block-Ensure-we-only-enable-integrity-metadata-for-reads-and-writes-rhel7.patch 8 | rwsem-remove-wakeup-optimization.patch 9 | -------------------------------------------------------------------------------- /lustre/lov/Makefile.in: -------------------------------------------------------------------------------- 1 | MODULES := lov 2 | lov-objs := lov_dev.o \ 3 | lov_ea.o \ 4 | lov_io.o \ 5 | lov_lock.o \ 6 | lov_merge.o \ 7 | lov_obd.o \ 8 | lov_object.o \ 9 | lov_offset.o \ 10 | lov_pack.o \ 11 | lov_page.o \ 12 | lov_pool.o \ 13 | lov_request.o \ 14 | lovsub_dev.o \ 15 | lovsub_object.o \ 16 | lproc_lov.o 17 | 18 | EXTRA_DIST = $(lov-objs:.o=.c) lov_internal.h lov_cl_internal.h 19 | 20 | @INCLUDE_RULES@ 21 | -------------------------------------------------------------------------------- /lustre/osd-ldiskfs/Makefile.in: -------------------------------------------------------------------------------- 1 | MODULES := osd_ldiskfs 2 | osd_ldiskfs-objs = osd_handler.o osd_oi.o osd_lproc.o osd_iam.o \ 3 | osd_iam_lfix.o osd_iam_lvar.o osd_io.o osd_compat.o \ 4 | osd_scrub.o osd_dynlocks.o osd_quota.o osd_quota_fmt.o 5 | 6 | @PATCHED_INTEGRITY_INTF@osd_ldiskfs-objs += osd_integrity.o 7 | 8 | EXTRA_PRE_CFLAGS := -I@LINUX@/fs -I@abs_top_builddir@ -I@abs_top_builddir@/ldiskfs 9 | 10 | @INCLUDE_RULES@ 11 | -------------------------------------------------------------------------------- /lustre/conf/99-lustre-server.rules: -------------------------------------------------------------------------------- 1 | # Ensure block devices re-added to the system allow for large writes (LU-9551) 2 | # Currently applies only to ldiskfs-formatted devices 3 | ACTION!="add|change", GOTO="l_tunedisk_end" 4 | SUBSYSTEM!="block", GOTO="l_tunedisk_end" 5 | ENV{ID_FS_TYPE}!="ext4", GOTO="l_tunedisk_end" 6 | 7 | ENV{ID_FS_LABEL}=="MGS|*-MDT*|*-OST*", RUN+="/usr/sbin/l_tunedisk /dev/%k" 8 | 9 | LABEL="l_tunedisk_end" 10 | -------------------------------------------------------------------------------- /lustre/tests/racer/file_exec.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | trap 'kill $(jobs -p)' EXIT 3 | 4 | org_LANG=$LANG 5 | export LANG=C 6 | 7 | DIR=$1 8 | MAX=$2 9 | PROG=/bin/sleep 10 | 11 | while /bin/true ; do 12 | file=$((RANDOM % MAX)) 13 | cp -p $PROG $DIR/$file > /dev/null 2>&1 14 | $DIR/$file 0.$((RANDOM % 5 + 1)) 2> /dev/null 15 | sleep $((RANDOM % 3)) 16 | done 2>&1 | egrep -v "Segmentation fault|Bus error" 17 | 18 | export LANG=$org_LANG 19 | -------------------------------------------------------------------------------- /autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # NOTE: Please avoid bashisms (bash specific syntax) in this script 4 | 5 | set -e 6 | pw="$PWD" 7 | for dir in libcfs lnet lustre snmp ; do 8 | ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I $pw/$dir/autoconf" 9 | done 10 | 11 | # avoid the "modules.order: No such file or directory" failure 12 | touch modules.order 13 | 14 | libtoolize -q 15 | aclocal -I $pw/config $ACLOCAL_FLAGS 16 | autoheader 17 | automake -a -c 18 | autoconf 19 | -------------------------------------------------------------------------------- /lustre/tests/rpc.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | LUSTRE=${LUSTRE:-$(dirname $0)/..} 4 | 5 | if [ ! -f $LUSTRE/tests/rpc.sh ]; then 6 | LUSTRE=$(cd $(dirname $(which $0))/..; echo $PWD) 7 | fi 8 | 9 | . $LUSTRE/tests/test-framework.sh 10 | RPC_MODE=true init_test_env 11 | 12 | # Reset the trap on ERR set by the framework. Noticing this failure is the 13 | # framework's job. 14 | trap - ERR 15 | 16 | log "$HOSTNAME: executing $@" 17 | # Execute the command 18 | "$@" 19 | -------------------------------------------------------------------------------- /contrib/git-hooks/tests/commit.ok_deleted: -------------------------------------------------------------------------------- 1 | LU-1030 build: allow diff/chmod/deleted in commit-msg 2 | 3 | message 4 | body 5 | 6 | Signed-off-by: Andreas Dilger 7 | Change-Id: I012345678901234567890123456789012345500c 8 | 9 | diff --git a/build/commit-msg b/build/commit-msg 10 | deleted file mode 100755 11 | 12 | # total: 0 errors, 0 warnings, 36 lines checked 13 | # 14 | # Your patch has no obvious style problems and is ready for submission. 15 | -------------------------------------------------------------------------------- /lustre/conf/lnet_routes.conf: -------------------------------------------------------------------------------- 1 | # lnet_routes.conf - configuration file for lnet routes 2 | # 3 | # The routes should be in the following format: 4 | # : { gateway: @ [hop: ] [priority: ] } 5 | # 6 | # Examples: 7 | # tcp1: { gateway: 10.1.1.2@tcp0, priority: 3 } 8 | # tcp4: { gateway: 10.3.3.4@tcp } 9 | # tcp6: { gateway: 10.3.3.6@tcp, hop: 2, priority: 5 } 10 | # tcp7: { gateway: 10.3.3.[6-12]@tcp, priority: 20, hop: 8 } 11 | -------------------------------------------------------------------------------- /lustre/mdt/Makefile.in: -------------------------------------------------------------------------------- 1 | MODULES := mdt 2 | mdt-objs := mdt_handler.o mdt_lib.o mdt_reint.o mdt_xattr.o mdt_recovery.o 3 | mdt-objs += mdt_open.o mdt_identity.o mdt_lproc.o mdt_fs.o mdt_som.o 4 | mdt-objs += mdt_lvb.o mdt_hsm.o mdt_mds.o mdt_io.o mdt_restripe.o 5 | mdt-objs += mdt_hsm_cdt_actions.o 6 | mdt-objs += mdt_hsm_cdt_requests.o 7 | mdt-objs += mdt_hsm_cdt_client.o 8 | mdt-objs += mdt_hsm_cdt_agent.o 9 | mdt-objs += mdt_coordinator.o 10 | 11 | @INCLUDE_RULES@ 12 | -------------------------------------------------------------------------------- /contrib/git-hooks/tests/commit.ok_chmod: -------------------------------------------------------------------------------- 1 | LU-1030 build: allow diff/chmod/deleted in commit-msg 2 | 3 | message 4 | body 5 | 6 | Signed-off-by: Andreas Dilger 7 | Change-Id: I012345678901234567890123456789012345500c 8 | 9 | diff --git a/build/commit-msg b/build/commit-msg 10 | old mode 100755 11 | new mode 100644 12 | 13 | # total: 0 errors, 0 warnings, 36 lines checked 14 | # 15 | # Your patch has no obvious style problems and is ready for submission. 16 | -------------------------------------------------------------------------------- /contrib/git-hooks/tests/commit.ok_innocuous: -------------------------------------------------------------------------------- 1 | LU-553 build: improve checks for commit-msg 2 | 3 | message 4 | body 5 | 6 | Signed-off-by: Orin Scrivello, DDS 7 | Change-Id: I0123456789012345678901234567890123456789 8 | Acked-by: Joe Doaks 9 | Tested-by: Jane Pain 10 | CC: Your Mother 11 | Reported-by: Anony Mouse 12 | Reviewed-by: Joe Hacker 13 | -------------------------------------------------------------------------------- /lustre/tests/lutf/src/lutf_listener.h: -------------------------------------------------------------------------------- 1 | #ifndef LUTF_LISTENER_H 2 | #define LUTF_LISTENER_H 3 | 4 | #include "lutf_common.h" 5 | #include "lutf_agent.h" 6 | 7 | /* 8 | * lutf_listener_main 9 | * Main loop of the listener thread 10 | */ 11 | void *lutf_listener_main(void *usr_data); 12 | 13 | void lutf_listener_shutdown(void); 14 | 15 | void close_agent_connection(lutf_agent_blk_t *agent); 16 | 17 | void release_dead_list_agents(void); 18 | 19 | #endif /* LUTF_LISTENER_H */ 20 | -------------------------------------------------------------------------------- /lustre/tests/acl/974.test: -------------------------------------------------------------------------------- 1 | LU-974 ignore umask when default acl with mask is set 2 | 3 | $ umask 022 4 | $ mkdir 974 5 | 6 | $ touch 974/f1 7 | $ ls -dl 974/f1 | awk '{sub(/\\./, "", $1); print $1 }' 8 | > -rw-r--r-- 9 | 10 | $ setfacl -R -d -m mask:007 974 11 | $ touch 974/f2 12 | $ ls -dl 974/f2 | awk '{ print $1 }' 13 | > -rw-rw-r--+ 14 | 15 | $ umask 077 16 | $ touch f3 17 | $ ls -dl f3 | awk '{sub(/\\./, "", $1); print $1 }' 18 | > -rw------- 19 | 20 | $ rm -rf 974 21 | -------------------------------------------------------------------------------- /contrib/lbuild/lbuild-fc18: -------------------------------------------------------------------------------- 1 | # vim:expandtab:shiftwidth=4:softtabstop=4:tabstop=4: 2 | 3 | source ${LBUILD_DIR}/lbuild-fc 4 | 5 | # increment this if you have made a change that should force a new kernel 6 | # to build built 7 | BUILD_GEN+=".0" 8 | 9 | find_linux_rpm-fc18() { 10 | local prefix="$1" 11 | local wanted_kernel="$2" 12 | local pathtorpms=${3:-"$KERNELRPMSBASE/$lnxmaj/$DISTROMAJ/$TARGET_ARCH"} 13 | 14 | find_linux_rpm-rhel "$prefix" "$wanted_kernel" "$pathtorpms" 15 | 16 | } 17 | -------------------------------------------------------------------------------- /debian/postinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # SPDX-License-Identifier: NOASSERTION 3 | 4 | # 5 | # This file is part of Lustre, http://www.lustre.org/ 6 | # 7 | # debian/postinst 8 | # 9 | # Script run before Lustre module/utils are installed 10 | # 11 | 12 | DEPMOD_DIR="/etc/depmod.d" 13 | LUSTRE_DEPMOD_FILE="${DEPMOD_DIR}/lustre.conf" 14 | 15 | [ ! -d ${DEPMOD_DIR} ] && { mkdir -p ${DEPMOD_DIR}; } 16 | [ ! -e ${LUSTRE_DEPMOD_FILE} ] && { echo "search updates built-in" > ${LUSTRE_DEPMOD_FILE}; } 17 | 18 | depmod -a 19 | -------------------------------------------------------------------------------- /lustre/tests/racer/lss_destroy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | trap 'kill $(jobs -p)' EXIT 3 | 4 | LUSTRE=${LUSTRE:-$(cd $(dirname $0)/../..; echo $PWD)} 5 | . $LUSTRE/tests/test-framework.sh 6 | trap - ERR 7 | . ${CONFIG:=$LUSTRE/tests/cfg/$NAME.sh} 8 | 9 | while /bin/true; do 10 | sleep $((RANDOM % 9 + 11)) 11 | ssname=$(do_facet mgs "$LCTL snapshot_list -F $FSNAME 2>/dev/null" | 12 | awk '/snapshot_name.*lss_/ { print $2; exit; }') 13 | [ ! -z "$ssname" ] && lsnapshot_destroy -n $ssname -f || true 14 | done 15 | -------------------------------------------------------------------------------- /contrib/README: -------------------------------------------------------------------------------- 1 | This directory is a catch-all location for useful contributed files and 2 | scripts that are _not_ part of the lustre package proper. For 3 | instance, scripts that are useful to lustre developers, but not used 4 | by lustre's own build system in configuring, compiling, or packaging lustre. 5 | 6 | An example would be the git hook scripts. We do not package these files, 7 | and while they are an important part of the lustre development process 8 | they are not an essential part of the lustre build system. 9 | -------------------------------------------------------------------------------- /lustre/kernel_patches/series/3.10-rhel7.7.series: -------------------------------------------------------------------------------- 1 | raid5-mmp-unplug-dev-rhel7.6.patch 2 | blkdev_tunables-3.9.patch 3 | vfs-project-quotas-rhel7.patch 4 | fix-integrity-verify-rhel7.patch 5 | fix-sd-dif-complete-rhel7.patch 6 | jbd2-revoke-rhashtable-rhel7.patch 7 | block-integrity-allow-optional-integrity-functions-rhel7.patch 8 | block-pass-bio-into-integrity_processing_fn-rhel7.patch 9 | block-Ensure-we-only-enable-integrity-metadata-for-reads-and-writes-rhel7.patch 10 | rwsem-remove-wakeup-optimization.patch 11 | -------------------------------------------------------------------------------- /lustre/scripts/haconfig: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # haconfig - config helper to process heartbeat V1 config skel files 4 | 5 | local=`uname -n` 6 | 7 | [ -x /usr/sbin/ldev ] || exit 0 8 | foreign=`/usr/sbin/ldev -p` 9 | [ -n "$foreign" ] || exit 0 10 | 11 | 12 | umask 022 13 | 14 | for file in /etc/ha.d/haresources /etc/ha.d/ha.cf; do 15 | if [ -r ${file}.in ]; then 16 | sed -e "s!@LOCAL@!$local!g" -e "s!@FOREIGN@!$foreign!g" \ 17 | < ${file}.in >${file} 18 | fi 19 | done 20 | 21 | exit 0 22 | -------------------------------------------------------------------------------- /lustre/tests/test-groups/regression: -------------------------------------------------------------------------------- 1 | runtests 2 | sanity 3 | sanityn 4 | sanity-benchmark 5 | metadata-updates 6 | racer 7 | lnet-selftest 8 | replay-single 9 | conf-sanity 10 | recovery-small 11 | replay-ost-single 12 | replay-dual 13 | replay-vbr 14 | insanity 15 | sanity-quota 16 | sanity-sec 17 | sanity-gss 18 | lustre-rsync-test 19 | ost-pools 20 | mmp 21 | obdfilter-survey 22 | sgpdd-survey 23 | sanity-scrub 24 | sanity-lfsck 25 | sanity-hsm 26 | sanity-lsnapshot 27 | sanity-pfl 28 | sanity-pcc 29 | sanity-lnet 30 | -------------------------------------------------------------------------------- /lustre/tests/mmp_mark.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # this will cause debugfs to create the /tmp/debugfs.mark file once it has 3 | # passed the MMP startup, then continue reading input until it is killed 4 | MARKFILE=$(mktemp) 5 | DEBUGFS=${DEBUGFS:-debugfs} 6 | DEVICE=$1 7 | 8 | rm -f $MARKFILE 9 | echo "$DEBUGFS -w $DEVICE" 10 | { echo "dump_inode <2> $MARKFILE"; cat /dev/zero; } | $DEBUGFS -w $DEVICE & 11 | debugfspid=$! 12 | while [ ! -e $MARKFILE ]; do 13 | sleep 1 14 | done 15 | rm -f $MARKFILE 16 | kill -9 $debugfspid 17 | -------------------------------------------------------------------------------- /contrib/git-hooks/tests/commit.ok_diff: -------------------------------------------------------------------------------- 1 | LU-1030 build: allow diff/chmod/deleted in commit-msg 2 | 3 | message 4 | body 5 | 6 | Signed-off-by: Andreas Dilger 7 | Change-Id: I012345678901234567890123456789012345500c 8 | 9 | diff --git a/build/commit-msg b/build/commit-msg 10 | index 02d704d..48323d1 100755 11 | --- a/build/commit-msg 12 | +++ b/build/commit-msg 13 | 14 | # total: 0 errors, 0 warnings, 36 lines checked 15 | # 16 | # Your patch has no obvious style problems and is ready for submission. 17 | -------------------------------------------------------------------------------- /debian/lustre-client-modules-dkms.prerm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # SPDX-License-Identifier: NOASSERTION 3 | 4 | # 5 | # This file is part of Lustre, http://www.lustre.org/ 6 | # 7 | # debian/lustre-client-module-dkms.prerm 8 | # 9 | # Script run before Lustre DKMS modules are removed 10 | # 11 | 12 | set -e 13 | 14 | # Get the package version 15 | package="lustre-client-modules" 16 | version="$(dpkg-query -W -f='${Version}' "${package}-dkms" | sed -e 's/-[^-]*$//')" 17 | 18 | dkms remove -m "${package}" -v "${version}" --all || true 19 | -------------------------------------------------------------------------------- /ldiskfs/kernel_patches/patches/ubuntu2004/ext4-xattr-disable-credits-check.patch: -------------------------------------------------------------------------------- 1 | diff -ur a/fs/ext4/xattr.c b/fs/ext4/xattr.c 2 | --- a/fs/ext4/xattr.c 2021-12-04 15:34:36.356774600 -0700 3 | +++ b/fs/ext4/xattr.c 2021-12-04 15:46:25.813868672 -0700 4 | @@ -2325,10 +2325,6 @@ 5 | flags & XATTR_CREATE); 6 | brelse(bh); 7 | 8 | - if (jbd2_handle_buffer_credits(handle) < credits) { 9 | - error = -ENOSPC; 10 | - goto cleanup; 11 | - } 12 | WARN_ON_ONCE(!(current->flags & PF_MEMALLOC_NOFS)); 13 | } 14 | 15 | -------------------------------------------------------------------------------- /lustre/ptlrpc/gss/Makefile.in: -------------------------------------------------------------------------------- 1 | MODULES := ptlrpc_gss 2 | 3 | ptlrpc_gss-objs := sec_gss.o gss_bulk.o gss_cli_upcall.o gss_svc_upcall.o \ 4 | gss_rawobj.o lproc_gss.o \ 5 | gss_generic_token.o gss_mech_switch.o gss_krb5_mech.o \ 6 | gss_null_mech.o gss_crypto.o 7 | 8 | @GSS_SSK_TRUE@ptlrpc_gss-objs += gss_sk_mech.o 9 | @GSS_KEYRING_TRUE@ptlrpc_gss-objs += gss_keyring.o 10 | @GSS_PIPEFS_TRUE@ptlrpc_gss-objs += gss_pipefs.o 11 | 12 | default: all 13 | 14 | @INCLUDE_RULES@ 15 | -------------------------------------------------------------------------------- /lustre/scripts/systemd/lnet.service.in: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=lnet management 3 | 4 | Requires=network-online.target 5 | After=network-online.target openibd.service rdma.service opa.service 6 | 7 | ConditionPathExists=!/proc/sys/lnet/ 8 | 9 | [Service] 10 | Type=oneshot 11 | RemainAfterExit=true 12 | ExecStart=/sbin/modprobe lnet 13 | ExecStart=@sbindir@/lnetctl lnet configure 14 | ExecStart=@sbindir@/lnetctl import @sysconfdir@/lnet.conf 15 | ExecStop=@sbindir@/lustre_rmmod 16 | 17 | [Install] 18 | WantedBy=multi-user.target 19 | -------------------------------------------------------------------------------- /contrib/scripts/crypto_patches/0002_dcache_encrypted_name.patch: -------------------------------------------------------------------------------- 1 | Linux 5.1 (commit 6cc248684d3d) renames DCACHE_ENCRYPTED_WITH_KEY to 2 | DCACHE_ENCRYPTED_NAME. 3 | 4 | --- a/libcfs/include/libcfs/crypto/llcrypt.h 5 | +++ b/libcfs/include/libcfs/crypto/llcrypt.h 6 | @@ -13,6 +13,10 @@ 7 | #ifndef _LINUX_LLCRYPT_H 8 | #define _LINUX_LLCRYPT_H 9 | 10 | +#ifndef DCACHE_ENCRYPTED_NAME 11 | +#define DCACHE_ENCRYPTED_NAME 0x02000000 12 | +#endif 13 | + 14 | #include 15 | #include 16 | #include 17 | -------------------------------------------------------------------------------- /contrib/scripts/crypto_patches/0013_dentry_path_raw.patch: -------------------------------------------------------------------------------- 1 | As dentry_path is not exported by the kernel, replace with dentry_path_raw. 2 | 3 | --- a/libcfs/libcfs/crypto/keyring.c 4 | +++ b/libcfs/libcfs/crypto/keyring.c 5 | @@ -707,7 +707,7 @@ static int check_for_busy_inodes(struct 6 | spin_unlock(&mk->mk_decrypted_inodes_lock); 7 | 8 | if (dentry) { 9 | - path = dentry_path(dentry, _path, sizeof(_path)); 10 | + path = dentry_path_raw(dentry, _path, sizeof(_path)); 11 | dput(dentry); 12 | } 13 | if (IS_ERR_OR_NULL(path)) 14 | -------------------------------------------------------------------------------- /ldiskfs/kernel_patches/patches/ubuntu19/ext4-iget-with-flags.patch: -------------------------------------------------------------------------------- 1 | diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c 2 | index 5dbdeac..dd9d65b 100644 3 | --- a/fs/ext4/inode.c 4 | +++ b/fs/ext4/inode.c 5 | @@ -6332,7 +6332,7 @@ vm_fault_t ext4_filemap_fault(struct vm_fault *vmf) 6 | } 7 | EXPORT_SYMBOL(ext4_map_blocks); 8 | EXPORT_SYMBOL(ext4_truncate); 9 | -EXPORT_SYMBOL(ext4_iget); 10 | +EXPORT_SYMBOL(__ext4_iget); 11 | EXPORT_SYMBOL(ext4_bread); 12 | EXPORT_SYMBOL(ext4_itable_unused_count); 13 | EXPORT_SYMBOL(ext4_force_commit); 14 | -------------------------------------------------------------------------------- /lustre/quota/Makefile.in: -------------------------------------------------------------------------------- 1 | MODULES := lquota 2 | 3 | quota-objs := lproc_quota.o lquota_lib.o lquota_disk.o lquota_entry.o 4 | 5 | qmt-objs := qmt_dev.o qmt_handler.o qmt_lock.o qmt_entry.o qmt_pool.o 6 | 7 | qsd-objs := qsd_lib.o qsd_request.o qsd_entry.o qsd_lock.o 8 | qsd-objs += qsd_reint.o qsd_writeback.o qsd_config.o qsd_handler.o 9 | 10 | lquota-objs := $(quota-objs) $(qsd-objs) $(qmt-objs) 11 | 12 | EXTRA_DIST := $(lquota-objs:%.o=%.c) 13 | EXTRA_DIST += lquota_internal.h qsd_internal.h qmt_internal.h 14 | 15 | @INCLUDE_RULES@ 16 | -------------------------------------------------------------------------------- /lustre/tests/racer/dir_migrate.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | trap 'kill $(jobs -p)' EXIT 3 | 4 | DIR=$1 5 | MAX=$2 6 | 7 | MDTCOUNT=${MDSCOUNT:-$($LFS df $DIR 2> /dev/null | grep -c MDT)} 8 | while /bin/true ; do 9 | migrate_dir=$((RANDOM % MAX)) 10 | file=$((RANDOM % MAX)) 11 | mdt_idx=$((RANDOM % MDTCOUNT)) 12 | 13 | mkdir -p $DIR/$migrate_dir 2> /dev/null 14 | eval touch $DIR/$migrate_dir/{$file..$MAX} 2> /dev/null 15 | $LFS mv -m$mdt_idx $DIR/$migrate_dir 2> /dev/null 16 | $LFS getdirstripe $DIR/$migrate_dir > /dev/null 2>&1 17 | done 18 | -------------------------------------------------------------------------------- /lustre/tests/runmultiop_bg_pause: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Run multiop in the background, but wait for it to print 4 | # "PAUSING" to its stdout before returning from this function. 5 | 6 | PTLDEBUG=${PTLDEBUG:--1} 7 | LUSTRE=${LUSTRE:-`dirname $0`/..} 8 | MULTIOP=${MULTIOP:-multiop} 9 | . $LUSTRE/tests/test-framework.sh 10 | 11 | TMP=${TMP:-/tmp} 12 | MULTIOP_PID_FILE=${MULTIOP_PID_FILE:-$TMP/multiop_bg.pid} 13 | rm -f $MULTIOP_PID_FILE 14 | 15 | multiop_bg_pause $* 16 | rc=$? 17 | [ "$rc" = 0 ] && echo $! > $MULTIOP_PID_FILE 18 | exit $rc 19 | -------------------------------------------------------------------------------- /ldiskfs/kernel_patches/patches/rhel7.6/ext4-use-GFP_NOFS-in-ext4_inode_attach_jinode.patch: -------------------------------------------------------------------------------- 1 | diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c 2 | index 153dda7..63339a2 100644 3 | --- a/fs/ext4/inode.c 4 | +++ b/fs/ext4/inode.c 5 | @@ -3775,7 +3775,7 @@ int ext4_inode_attach_jinode(struct inode *inode) 6 | if (ei->jinode || !EXT4_SB(inode->i_sb)->s_journal) 7 | return 0; 8 | 9 | - jinode = jbd2_alloc_inode(GFP_KERNEL); 10 | + jinode = jbd2_alloc_inode(GFP_NOFS); 11 | spin_lock(&inode->i_lock); 12 | if (!ei->jinode) { 13 | if (!jinode) { 14 | -------------------------------------------------------------------------------- /debian/postrm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # SPDX-License-Identifier: NOASSERTION 3 | 4 | # 5 | # This file is part of Lustre, http://www.lustre.org/ 6 | # 7 | # debian/postrm 8 | # 9 | # Script run before Lustre module/utils are removed 10 | # 11 | 12 | DEPMOD_DIR="/etc/depmod.d" 13 | LUSTRE_DEPMOD_FILE="${DEPMOD_DIR}/lustre.conf" 14 | 15 | [ -e ${LUSTRE_DEPMOD_FILE} ] && { rm -f ${LUSTRE_DEPMOD_FILE}; } 16 | # If DEPMOD_DIR is empty, we also created it, thus remove it. 17 | [ ! "$(ls -A ${DEPMOD_DIR} 2>/dev/null)" ] && { rm -rf ${DEPMOD_DIR}; } 18 | 19 | depmod -a -------------------------------------------------------------------------------- /ldiskfs/kernel_patches/patches/rhel7.6/ext4-export-orphan-add.patch: -------------------------------------------------------------------------------- 1 | Index: linux-3.10.0-123.13.2.el7.x86_64/fs/ext4/namei.c 2 | =================================================================== 3 | --- linux-3.10.0-123.13.2.el7.x86_64.orig/fs/ext4/namei.c 4 | +++ linux-3.10.0-123.13.2.el7.x86_64/fs/ext4/namei.c 5 | @@ -3250,6 +48,7 @@ int ext4_orphan_add(handle_t *handle 6 | ext4_std_error(sb, err); 7 | return err; 8 | } 9 | +EXPORT_SYMBOL(ext4_orphan_add); 10 | 11 | /* 12 | * ext4_orphan_del() removes an unlinked or truncated inode from the list 13 | 14 | -------------------------------------------------------------------------------- /ldiskfs/kernel_patches/patches/linux-5.4/ext4-xattr-disable-credits-check.patch: -------------------------------------------------------------------------------- 1 | Index: focal/fs/ext4/xattr.c 2 | =================================================================== 3 | --- focal.orig/fs/ext4/xattr.c 4 | +++ focal/fs/ext4/xattr.c 5 | @@ -2341,10 +2341,6 @@ ext4_xattr_set_handle(handle_t *handle, 6 | flags & XATTR_CREATE); 7 | brelse(bh); 8 | 9 | - if (!ext4_handle_has_enough_credits(handle, credits)) { 10 | - error = -ENOSPC; 11 | - goto cleanup; 12 | - } 13 | WARN_ON_ONCE(!(current->flags & PF_MEMALLOC_NOFS)); 14 | } 15 | 16 | -------------------------------------------------------------------------------- /lustre/kernel_patches/series/3.10-rhel7.6.series: -------------------------------------------------------------------------------- 1 | raid5-mmp-unplug-dev-rhel7.6.patch 2 | blkdev_tunables-3.9.patch 3 | vfs-project-quotas-rhel7.patch 4 | fix-integrity-verify-rhel7.patch 5 | fix-sd-dif-complete-rhel7.patch 6 | jbd2-revoke-rhashtable-rhel7.patch 7 | block-integrity-allow-optional-integrity-functions-rhel7.patch 8 | block-pass-bio-into-integrity_processing_fn-rhel7.patch 9 | dm-fix-handle-BLK_MQ_RQ_QUEUE_DEV_BUSY-rhel7.6.patch 10 | block-Ensure-we-only-enable-integrity-metadata-for-reads-and-writes-rhel7.patch 11 | rwsem-remove-wakeup-optimization.patch 12 | -------------------------------------------------------------------------------- /libcfs/ChangeLog: -------------------------------------------------------------------------------- 1 | tbd Sun Microsystems, Inc. 2 | * version 2.0.0 3 | 4 | Severity : enhancement 5 | Bugzilla : 19856 6 | Description: Add LustreNetLink, a kernel-userspace communcation path. Add 7 | ulinux dir for Linux userspace tools. 8 | 9 | Severity : normal 10 | Bugzilla : 20878 11 | Description: Replace LustreNetLink with kernel_user_comm based on pipes 12 | 13 | ------------------------------------------------------------------------------- 14 | 15 | 2008-07-15 Sun Microsystems, Inc. 16 | * version 1.8.0 17 | 18 | new libcfs module 19 | -------------------------------------------------------------------------------- /contrib/git-hooks/tests/commit.ok_signoff: -------------------------------------------------------------------------------- 1 | LU-553 build: improve checks for commit-msg 2 | 3 | message 4 | body 5 | 6 | Signed-off-by: Andreas Dilger 7 | Signed-off-by: Andreas Eric Dilger 8 | Signed-off-by: Andreas Eric Dilger 9 | Signed-off-by: Andreas Smyth Esq. III 10 | Change-Id: I0123456789012345678901234567890123456789 11 | 12 | # total: 0 errors, 0 warnings, 36 lines checked 13 | # 14 | # Your patch has no obvious style problems and is ready for submission. 15 | -------------------------------------------------------------------------------- /contrib/lbuild/lbuild-fc: -------------------------------------------------------------------------------- 1 | # vim:expandtab:shiftwidth=4:softtabstop=4:tabstop=4: 2 | 3 | # Please see find_linux_devel_paths() in lbuild-rhel5 file for more details. 4 | DEVEL_PATH_ARCH_DELIMETER="." 5 | source ${LBUILD_DIR}/lbuild-rhel5 6 | 7 | # increment this if you have made a change that should force a new kernel 8 | # to build built 9 | #BUILD_GEN=1 10 | #BUILD_GEN=2 # bz19952: remove -lustre tag from kernel RPM names 11 | #BUILD_GEN=3 # bz19975 enable the building of src.rpms by default 12 | BUILD_GEN+=".0" # TT-107: don't cache the BUILD dir (reset major to 5) 13 | 14 | -------------------------------------------------------------------------------- /lustre/tests/acceptance-small.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # usage: acceptance-small.sh [test list] 4 | # if no tests are specified, they are taken from test-groups/regression 5 | # if {TEST_NAME}=no is set, that test script is skipped 6 | DEFAULT_SUITES="${@:-$ACC_SM_ONLY}" 7 | DEFAULT_SUITES="${DEFAULT_SUITES:-$(cat $LUSTRE/tests/test-groups/regression)}" 8 | for SUB in $DEFAULT_SUITES; do 9 | ENV=$(echo $SUB | tr "[:lower:]-" "[:upper:]_") 10 | [ "$(eval echo \$$ENV)" = "no" ] && continue 11 | SUITES="$SUITES $SUB" 12 | done 13 | ./auster -r -R -v -f ${NAME:-lustre} $SUITES 14 | -------------------------------------------------------------------------------- /lustre/tests/runiozone: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | [ -z "$SIZE" ] && SIZE=5g 3 | [ -z "$COUNT" ] && COUNT=100 4 | [ -z "$VERIFY" ] && VERIFY="-+d" 5 | #[ -z "$ODIR" ] && ODIR="-I" 6 | [ -z "$REC" ] && REC=64 7 | [ -z "$FILE" ] && FILE=/mnt/lustre/iozone.$$ 8 | [ $1 ] && SIZE=$1 9 | LOOP=0 10 | rm -f endiozone 11 | lctl set_param -n debug=0 12 | while date; do 13 | LOOP=`expr $LOOP + 1` 14 | echo "Test #$LOOP" 15 | iozone $VERIFY $ODIR -r $REC -i 0 -i 1 -f $FILE -s $SIZE 2>&1 || exit $? 16 | [ -f endiozone -o $LOOP -ge $COUNT ] && rm -f endiozone && exit 0 17 | done | tee /tmp/iozone.log 18 | -------------------------------------------------------------------------------- /snmp/Makefile.am: -------------------------------------------------------------------------------- 1 | agent_LTLIBRARIES = liblustresnmp.la 2 | mib_DATA = Lustre-MIB.txt 3 | 4 | liblustresnmp_la_SOURCES = \ 5 | lustre-snmp.c \ 6 | lustre-snmp.h \ 7 | lustre-snmp-trap.c \ 8 | lustre-snmp-trap.h \ 9 | lustre-snmp-util.c \ 10 | lustre-snmp-util.h 11 | 12 | LIBCFS = $(top_builddir)/libcfs/libcfs/libcfs.la 13 | 14 | liblustresnmp_la_CFLAGS := $(NET_SNMP_CFLAGS) 15 | liblustresnmp_la_LIBADD := $(NET_SNMP_LIBS) $(LIBCFS) 16 | liblustresnmp_la_LDFLAGS := -version-info 1:0:0 17 | 18 | SUBDIRS = 19 | DIST_SUBDIRS = autoconf 20 | 21 | EXTRA_DIST = $(mib_DATA) 22 | -------------------------------------------------------------------------------- /ldiskfs/kernel_patches/patches/rhel7.6/ext4-dquot-commit-speedup.patch: -------------------------------------------------------------------------------- 1 | --- a/fs/ext4/super.c 2018-07-11 16:27:46.890341960 +0300 2 | +++ b/fs/ext4/super.c 2018-07-11 16:29:17.549061853 +0300 3 | @@ -5403,6 +5403,8 @@ static int ext4_mark_dquot_dirty(struct 4 | /* Are we journaling quotas? */ 5 | if (EXT4_HAS_RO_COMPAT_FEATURE(sb, EXT4_FEATURE_RO_COMPAT_QUOTA) || 6 | sbi->s_qf_names[USRQUOTA] || sbi->s_qf_names[GRPQUOTA]) { 7 | + if (test_bit(DQ_MOD_B, &dquot->dq_flags)) 8 | + return 0; 9 | dquot_mark_dquot_dirty(dquot); 10 | return ext4_write_dquot(dquot); 11 | } else { 12 | -------------------------------------------------------------------------------- /ldiskfs/kernel_patches/patches/rhel8/ext4-xattr-disable-credits-check.patch: -------------------------------------------------------------------------------- 1 | Index: linux-4.18.0-32.el8.x86_64/fs/ext4/xattr.c 2 | =================================================================== 3 | --- linux-4.18.0-32.el8.x86_64.orig/fs/ext4/xattr.c 4 | +++ linux-4.18.0-32.el8.x86_64/fs/ext4/xattr.c 5 | @@ -655,10 +655,6 @@ enum { 6 | flags & XATTR_CREATE); 7 | brelse(bh); 8 | 9 | - if (!ext4_handle_has_enough_credits(handle, credits)) { 10 | - error = -ENOSPC; 11 | - goto cleanup; 12 | - } 13 | } 14 | 15 | error = ext4_reserve_inode_write(handle, inode, &is.iloc); 16 | -------------------------------------------------------------------------------- /lustre/tests/acl/974_remote.test: -------------------------------------------------------------------------------- 1 | LU-974 ignore umask when default acl with mask is set 2 | # Need to remove trailing '.' when SELinux is enabled 3 | 4 | $ umask 022 5 | $ lfs mkdir -i 1 974 6 | 7 | $ touch 974/f1 8 | $ ls -dl 974/f1 | awk '{ sub(/\\.$/, "", $1); print $1 }' 9 | > -rw-r--r-- 10 | 11 | $ setfacl -R -d -m mask:007 974 12 | $ touch 974/f2 13 | $ ls -dl 974/f2 | awk '{ sub(/\\.$/, "", $1); print $1 }' 14 | > -rw-rw-r--+ 15 | 16 | $ umask 077 17 | $ touch f3 18 | $ ls -dl f3 | awk '{ sub(/\\.$/, "", $1); print $1 }' 19 | > -rw------- 20 | 21 | $ rm -rf 974 22 | 23 | -------------------------------------------------------------------------------- /contrib/scripts/crypto_patches/0005_crypto_tfm_req_forbid_weak_keys.patch: -------------------------------------------------------------------------------- 1 | Linux 5.0 (commit 231baecdef7a) renames CRYPTO_TFM_REQ_WEAK_KEY to 2 | CRYPTO_TFM_REQ_FORBID_WEAK_KEYS. 3 | 4 | --- a/libcfs/libcfs/crypto/llcrypt_private.h 5 | +++ b/libcfs/libcfs/crypto/llcrypt_private.h 6 | @@ -15,6 +15,10 @@ 7 | #include 8 | #include 9 | 10 | +#ifndef CRYPTO_TFM_REQ_FORBID_WEAK_KEYS 11 | +#define CRYPTO_TFM_REQ_FORBID_WEAK_KEYS CRYPTO_TFM_REQ_WEAK_KEY 12 | +#endif 13 | + 14 | #define CONST_STRLEN(str) (sizeof(str) - 1) 15 | 16 | #define FS_KEY_DERIVATION_NONCE_SIZE 16 17 | -------------------------------------------------------------------------------- /lustre/utils/.gitignore: -------------------------------------------------------------------------------- 1 | /Makefile.in 2 | /mkfs.lustre 3 | /mount.lustre 4 | /mount.lustre_tgt 5 | /tunefs.lustre 6 | /lctl 7 | /lfs 8 | /lustre.pc 9 | /wirecheck 10 | /wiretest 11 | /llog_reader 12 | /lr_reader 13 | /lload 14 | /llverfs 15 | /llverdev 16 | /l_getidentity 17 | /l_facl 18 | /l_foreign_symlink 19 | /mkfs_lustre 20 | /mount_lustre 21 | /tunefs_lustre 22 | /lreplicate 23 | /ltrack_stats 24 | /lshowmount 25 | /lustre_rsync 26 | /ll_decode_filter_fid 27 | /ll_decode_linkea 28 | /llsom_sync 29 | /lhsmd_posix 30 | /lhsmtool_posix 31 | /l_tunedisk 32 | /l_getsepol 33 | /ofd_access_log_reader 34 | -------------------------------------------------------------------------------- /lustre/utils/gss/README: -------------------------------------------------------------------------------- 1 | lustre/utils/gss: client & server side gss daemons for Lustre. 2 | 3 | All files came from standard nfs-utils package, applied with patches 4 | created by Sun Microsystems, Inc. 5 | 6 | 1. Stock nfs-utils-1.0.11.tgz 7 | 2. Apply nfs-utils-1.0.11-CITI_NFS4_ALL-1.dif from Center for Information 8 | Technology Integration, University of Michigan 9 | (http://www.citi.umich.edu/projects/nfsv4/linux/) 10 | 3. Apply lustre patch: nfs-utils-1.0.11-lustre.diff 11 | 4. Copy nfs-utils-1.0.10/aclocal/kerberos5.m4 to lustre/autoconf 12 | 5. Copy nfs-utils-1.0.10/utils/gssd/*.[ch] to here 13 | -------------------------------------------------------------------------------- /lustre/tests/lutf/python/tests/sample.py: -------------------------------------------------------------------------------- 1 | """ 2 | @PRIMARY: Primary Requirement ID 3 | @PRIMARY_DESC: Textual description of the primary requirement 4 | @SECONDARY: Secondary Requirement IDs if applicable 5 | @DESIGN: Design details 6 | @TESTCASE: Test case description 7 | """ 8 | 9 | from lutf_basetest import BaseTest, lutfrc 10 | from lutf_exception import LUTFError 11 | 12 | class SampleTestClass(BaseTest): 13 | def __init__(self, target=None): 14 | super().__init__(os.path.abspath(__file__), 15 | target=target) 16 | 17 | def run(): 18 | raise LUTFError("Replace with your code") 19 | return lutfrc(0) 20 | -------------------------------------------------------------------------------- /ldiskfs/kernel_patches/patches/rhel8.3/ext4-xattr-disable-credits-check.patch: -------------------------------------------------------------------------------- 1 | Index: linux-4.18.0-240.1.1.el8/fs/ext4/xattr.c 2 | =================================================================== 3 | --- linux-4.18.0-240.1.1.el8.orig/fs/ext4/xattr.c 4 | +++ linux-4.18.0-240.1.1.el8/fs/ext4/xattr.c 5 | @@ -2318,10 +2318,6 @@ ext4_xattr_set_handle(handle_t *handle, 6 | flags & XATTR_CREATE); 7 | brelse(bh); 8 | 9 | - if (jbd2_handle_buffer_credits(handle) < credits) { 10 | - error = -ENOSPC; 11 | - goto cleanup; 12 | - } 13 | } 14 | 15 | error = ext4_reserve_inode_write(handle, inode, &is.iloc); 16 | -------------------------------------------------------------------------------- /lustre/conf/ldev.conf: -------------------------------------------------------------------------------- 1 | # example /etc/ldev.conf 2 | # 3 | #local foreign/- label [md|zfs:]device-path [journal-path]/- [raidtab] 4 | # 5 | #zeno-mds1 - zeno-MDT0000 zfs:lustre-zeno-mds1/mdt1 6 | # 7 | #zeno1 zeno5 zeno-OST0000 zfs:lustre-zeno1/ost1 8 | #zeno2 zeno6 zeno-OST0001 zfs:lustre-zeno2/ost1 9 | #zeno3 zeno7 zeno-OST0002 zfs:lustre-zeno3/ost1 10 | #zeno4 zeno8 zeno-OST0003 zfs:lustre-zeno4/ost1 11 | #zeno5 zeno1 zeno-OST0004 zfs:lustre-zeno5/ost1 12 | #zeno6 zeno2 zeno-OST0005 zfs:lustre-zeno6/ost1 13 | #zeno7 zeno3 zeno-OST0006 zfs:lustre-zeno7/ost1 14 | #zeno8 zeno4 zeno-OST0007 zfs:lustre-zeno8/ost1 15 | -------------------------------------------------------------------------------- /debian/lustre-client-modules-dkms.postinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # SPDX-License-Identifier: NOASSERTION 3 | 4 | # 5 | # This file is part of Lustre, http://www.lustre.org/ 6 | # 7 | # debian/lustre-client-module-dkms.postinst 8 | # 9 | # Script run after Lustre DKMS modules are installed 10 | # 11 | 12 | set -e 13 | 14 | # Get the package version 15 | package="lustre-client-modules" 16 | version="$(dpkg-query -W -f='${Version}' "${package}-dkms" | sed -e 's/-[^-]*$//')" 17 | 18 | dkms add -m "${package}" -v "${version}" 19 | dkms build -m "${package}" -v "${version}" && dkms install -m "${package}" -v "${version}" --force || true 20 | -------------------------------------------------------------------------------- /ldiskfs/kernel_patches/patches/rhel8.4/ext4-optimize-find_delayed_extent.patch: -------------------------------------------------------------------------------- 1 | --- linux-stage.orig/fs/ext4/extents.c 2022-09-05 09:04:31.628122705 -0600 2 | +++ linux-stage/fs/ext4/extents.c 2022-09-06 05:32:57.083369853 -0600 3 | @@ -5064,6 +5064,13 @@ static int ext4_find_delayed_extent(s 4 | struct extent_status es; 5 | ext4_lblk_t block, next_del; 6 | 7 | + if (!test_opt(inode->i_sb, DELALLOC)) { 8 | + if (newes->es_pblk == 0) 9 | + return 0; 10 | + 11 | + return EXT_MAX_BLOCKS; 12 | + } 13 | + 14 | if (newes->es_pblk == 0) { 15 | ext4_es_find_extent_range(inode, &ext4_es_is_delayed, 16 | newes->es_lblk, 17 | -------------------------------------------------------------------------------- /configure.ac: -------------------------------------------------------------------------------- 1 | AC_PREREQ([2.57]) 2 | AC_INIT([Lustre], m4_esyscmd_s([./LUSTRE-VERSION-GEN]), 3 | [https://jira.whamcloud.com/], [lustre]) 4 | 5 | AC_CONFIG_AUX_DIR([config]) 6 | AC_CONFIG_MACRO_DIR([config]) 7 | 8 | LC_CONFIG_SRCDIR 9 | 10 | AC_CANONICAL_TARGET 11 | 12 | AM_INIT_AUTOMAKE([1.10 tar-pax -Wno-portability subdir-objects]) 13 | AM_MAINTAINER_MODE([enable]) 14 | 15 | AC_PROG_CC 16 | LT_INIT 17 | AC_PROG_MKDIR_P 18 | AM_PROG_AS 19 | 20 | AC_PATH_PROG(FLEX, flex) 21 | AC_PATH_PROG(BISON, bison) 22 | AC_PATH_PROG(RPMBUILD, rpmbuild) 23 | AC_CHECK_TOOLS(AR, ar) 24 | 25 | LUSTRE_VERSION_CPP_MACROS 26 | LB_CONFIGURE 27 | -------------------------------------------------------------------------------- /lustre/tests/racer/file_list.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | trap 'kill $(jobs -p)' EXIT 3 | 4 | DIR=$1 5 | MAX=$2 6 | 7 | while /bin/true ; do 8 | ls -R $DIR/ > /dev/null 2> /dev/null & 9 | ls -R $DIR/ > /dev/null 2> /dev/null & 10 | ls -R $DIR/ > /dev/null 2> /dev/null & 11 | ls -R $DIR/ > /dev/null 2> /dev/null & 12 | ls -R $DIR/ > /dev/null 2> /dev/null & 13 | 14 | ls -R $DIR/ > /dev/null 2> /dev/null & 15 | ls -R $DIR/ > /dev/null 2> /dev/null & 16 | ls -R $DIR/ > /dev/null 2> /dev/null & 17 | ls -R $DIR/ > /dev/null 2> /dev/null & 18 | ls -R $DIR/ > /dev/null 2> /dev/null & 19 | 20 | wait 21 | sleep 1 22 | done 23 | -------------------------------------------------------------------------------- /contrib/debug_tools/epython_scripts/crashlib/cid/__init__.py: -------------------------------------------------------------------------------- 1 | 2 | """ 3 | Provide access to internal crash data. 4 | Copyright 2014 Cray Inc. All Rights Reserved 5 | 6 | Much of the data this package provides is available by reading the dump file, 7 | but some is information that crash 'knows' about the kernel based on the 8 | kernel version. 9 | 10 | The data is generally extracted by executing various crash commands, parsing 11 | the output and storing it within a Python object. 12 | """ 13 | 14 | 15 | class ParseError: 16 | """Exception indicating an error while parsing crash information.""" 17 | 18 | def __init__(self, msg=None): 19 | self.message = msg 20 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/5.14-rhel9.0.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="5.14.0" 2 | lnxrel="70.30.1.el9_0" 3 | 4 | KERNEL_SRPM=kernel-${lnxmaj}-${lnxrel}.src.rpm 5 | SERIES="" 6 | EXTRA_VERSION=${lnxrel}_lustre.@VERSION@ 7 | LUSTRE_VERSION=@VERSION@ 8 | 9 | DEVEL_PATH_ARCH_DELIMETER="." 10 | OFED_VERSION=inkernel 11 | 12 | BASE_ARCHS="i686 x86_64 ia64 ppc64" 13 | BIGMEM_ARCHS="" 14 | BOOT_ARCHS="" 15 | JENSEN_ARCHS="" 16 | #SMP_ARCHS="i686 x86_64 ia64 ppc64" 17 | # RHEL8 doesn't use smp specific kernels 18 | SMP_ARCHS="" 19 | UP_ARCHS="" 20 | 21 | for cc in gcc ; do 22 | if which $cc >/dev/null 2>/dev/null ; then 23 | export CC=$cc 24 | break 25 | fi 26 | done 27 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/5.14-rhel9.1.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="5.14.0" 2 | lnxrel="162.23.1.el9_1" 3 | 4 | KERNEL_SRPM=kernel-${lnxmaj}-${lnxrel}.src.rpm 5 | SERIES="" 6 | EXTRA_VERSION=${lnxrel}_lustre.@VERSION@ 7 | LUSTRE_VERSION=@VERSION@ 8 | 9 | DEVEL_PATH_ARCH_DELIMETER="." 10 | OFED_VERSION=inkernel 11 | 12 | BASE_ARCHS="i686 x86_64 ia64 ppc64" 13 | BIGMEM_ARCHS="" 14 | BOOT_ARCHS="" 15 | JENSEN_ARCHS="" 16 | #SMP_ARCHS="i686 x86_64 ia64 ppc64" 17 | # RHEL8 doesn't use smp specific kernels 18 | SMP_ARCHS="" 19 | UP_ARCHS="" 20 | 21 | for cc in gcc ; do 22 | if which $cc >/dev/null 2>/dev/null ; then 23 | export CC=$cc 24 | break 25 | fi 26 | done 27 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/5.14-rhel9.2.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="5.14.0" 2 | lnxrel="284.30.1.el9_2" 3 | 4 | KERNEL_SRPM=kernel-${lnxmaj}-${lnxrel}.src.rpm 5 | SERIES="" 6 | EXTRA_VERSION=${lnxrel}_lustre.@VERSION@ 7 | LUSTRE_VERSION=@VERSION@ 8 | 9 | DEVEL_PATH_ARCH_DELIMETER="." 10 | OFED_VERSION=inkernel 11 | 12 | BASE_ARCHS="i686 x86_64 ia64 ppc64" 13 | BIGMEM_ARCHS="" 14 | BOOT_ARCHS="" 15 | JENSEN_ARCHS="" 16 | #SMP_ARCHS="i686 x86_64 ia64 ppc64" 17 | # RHEL8 doesn't use smp specific kernels 18 | SMP_ARCHS="" 19 | UP_ARCHS="" 20 | 21 | for cc in gcc ; do 22 | if which $cc >/dev/null 2>/dev/null ; then 23 | export CC=$cc 24 | break 25 | fi 26 | done 27 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/5.14-rhel9.3.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="5.14.0" 2 | lnxrel="362.24.1.el9_3" 3 | 4 | KERNEL_SRPM=kernel-${lnxmaj}-${lnxrel}.src.rpm 5 | SERIES="" 6 | EXTRA_VERSION=${lnxrel}_lustre.@VERSION@ 7 | LUSTRE_VERSION=@VERSION@ 8 | 9 | DEVEL_PATH_ARCH_DELIMETER="." 10 | OFED_VERSION=inkernel 11 | 12 | BASE_ARCHS="i686 x86_64 ia64 ppc64" 13 | BIGMEM_ARCHS="" 14 | BOOT_ARCHS="" 15 | JENSEN_ARCHS="" 16 | #SMP_ARCHS="i686 x86_64 ia64 ppc64" 17 | # RHEL8 doesn't use smp specific kernels 18 | SMP_ARCHS="" 19 | UP_ARCHS="" 20 | 21 | for cc in gcc ; do 22 | if which $cc >/dev/null 2>/dev/null ; then 23 | export CC=$cc 24 | break 25 | fi 26 | done 27 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/5.14-rhel9.4.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="5.14.0" 2 | lnxrel="427.42.1.el9_4" 3 | 4 | KERNEL_SRPM=kernel-${lnxmaj}-${lnxrel}.src.rpm 5 | SERIES="" 6 | EXTRA_VERSION=${lnxrel}_lustre.@VERSION@ 7 | LUSTRE_VERSION=@VERSION@ 8 | 9 | DEVEL_PATH_ARCH_DELIMETER="." 10 | OFED_VERSION=inkernel 11 | 12 | BASE_ARCHS="i686 x86_64 ia64 ppc64" 13 | BIGMEM_ARCHS="" 14 | BOOT_ARCHS="" 15 | JENSEN_ARCHS="" 16 | #SMP_ARCHS="i686 x86_64 ia64 ppc64" 17 | # RHEL8 doesn't use smp specific kernels 18 | SMP_ARCHS="" 19 | UP_ARCHS="" 20 | 21 | for cc in gcc ; do 22 | if which $cc >/dev/null 2>/dev/null ; then 23 | export CC=$cc 24 | break 25 | fi 26 | done 27 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/5.14-rhel9.5.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="5.14.0" 2 | lnxrel="503.40.1.el9_5" 3 | 4 | KERNEL_SRPM=kernel-${lnxmaj}-${lnxrel}.src.rpm 5 | SERIES="" 6 | EXTRA_VERSION=${lnxrel}_lustre.@VERSION@ 7 | LUSTRE_VERSION=@VERSION@ 8 | 9 | DEVEL_PATH_ARCH_DELIMETER="." 10 | OFED_VERSION=inkernel 11 | 12 | BASE_ARCHS="i686 x86_64 ia64 ppc64" 13 | BIGMEM_ARCHS="" 14 | BOOT_ARCHS="" 15 | JENSEN_ARCHS="" 16 | #SMP_ARCHS="i686 x86_64 ia64 ppc64" 17 | # RHEL8 doesn't use smp specific kernels 18 | SMP_ARCHS="" 19 | UP_ARCHS="" 20 | 21 | for cc in gcc ; do 22 | if which $cc >/dev/null 2>/dev/null ; then 23 | export CC=$cc 24 | break 25 | fi 26 | done 27 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/5.14-rhel9.6.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="5.14.0" 2 | lnxrel="570.17.1.el9_6" 3 | 4 | KERNEL_SRPM=kernel-${lnxmaj}-${lnxrel}.src.rpm 5 | SERIES="" 6 | EXTRA_VERSION=${lnxrel}_lustre.@VERSION@ 7 | LUSTRE_VERSION=@VERSION@ 8 | 9 | DEVEL_PATH_ARCH_DELIMETER="." 10 | OFED_VERSION=inkernel 11 | 12 | BASE_ARCHS="i686 x86_64 ia64 ppc64" 13 | BIGMEM_ARCHS="" 14 | BOOT_ARCHS="" 15 | JENSEN_ARCHS="" 16 | #SMP_ARCHS="i686 x86_64 ia64 ppc64" 17 | # RHEL8 doesn't use smp specific kernels 18 | SMP_ARCHS="" 19 | UP_ARCHS="" 20 | 21 | for cc in gcc ; do 22 | if which $cc >/dev/null 2>/dev/null ; then 23 | export CC=$cc 24 | break 25 | fi 26 | done 27 | -------------------------------------------------------------------------------- /lustre/osd-zfs/Makefile.in: -------------------------------------------------------------------------------- 1 | MODULES := osd_zfs 2 | osd_zfs-objs := osd_handler.o osd_lproc.o osd_quota.o 3 | osd_zfs-objs += osd_object.o osd_io.o osd_oi.o osd_xattr.o osd_index.o 4 | osd_zfs-objs += osd_scrub.o 5 | 6 | @SPL_ENABLED_TRUE@EXTRA_PRE_CFLAGS += -include @SPL_OBJ@/spl_config.h 7 | @SPL_ENABLED_TRUE@EXTRA_PRE_CFLAGS += -I@SPL@ -I@SPL@/include 8 | EXTRA_PRE_CFLAGS += -include @ZFS_OBJ@/zfs_config.h 9 | EXTRA_PRE_CFLAGS += -I@ZFS@/include/os/linux/kernel 10 | EXTRA_PRE_CFLAGS += -I@ZFS@/include/os/linux/spl -I@ZFS@/include/os/linux/zfs 11 | EXTRA_PRE_CFLAGS += -I@ZFS@ -I@ZFS@/include 12 | @SPL_ENABLED_FALSE@EXTRA_PRE_CFLAGS += -I@ZFS@/include/spl 13 | 14 | @INCLUDE_RULES@ 15 | -------------------------------------------------------------------------------- /lustre/utils/ofd_access_batch.h: -------------------------------------------------------------------------------- 1 | #ifndef _OFD_ACCESS_BATCH_H_ 2 | #define _OFD_ACCESS_BATCH_H_ 3 | #include 4 | #include 5 | #include 6 | 7 | struct lu_fid; 8 | struct alr_batch; 9 | 10 | struct alr_batch *alr_batch_create(unsigned int shift); 11 | void alr_batch_destroy(struct alr_batch *alrb); 12 | int alr_batch_add(struct alr_batch *alrb, const char *obd_name, 13 | const struct lu_fid *pfid, time_t time, __u64 begin, __u64 end, 14 | __u32 size, __u32 segment_count, __u32 flags); 15 | int alr_batch_print(struct alr_batch *alrb, FILE *file, 16 | pthread_mutex_t *file_mutex, int fraction); 17 | 18 | #endif /* _OFD_ACCESS_BATCH_H_ */ 19 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/4.18-rhel8.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="4.18.0" 2 | lnxrel="80.11.2.el8_0" 3 | 4 | KERNEL_SRPM=kernel-${lnxmaj}-${lnxrel}.src.rpm 5 | SERIES=4.18-rhel8.series 6 | EXTRA_VERSION=${lnxrel}_lustre.@VERSION@ 7 | LUSTRE_VERSION=@VERSION@ 8 | 9 | DEVEL_PATH_ARCH_DELIMETER="." 10 | OFED_VERSION=inkernel 11 | 12 | BASE_ARCHS="i686 x86_64 ia64 ppc64" 13 | BIGMEM_ARCHS="" 14 | BOOT_ARCHS="" 15 | JENSEN_ARCHS="" 16 | #SMP_ARCHS="i686 x86_64 ia64 ppc64" 17 | # RHEL8 doesn't use smp specific kernels 18 | SMP_ARCHS="" 19 | UP_ARCHS="" 20 | 21 | for cc in gcc ; do 22 | if which $cc >/dev/null 2>/dev/null ; then 23 | export CC=$cc 24 | break 25 | fi 26 | done 27 | -------------------------------------------------------------------------------- /contrib/git-hooks/tests/commit.nosign: -------------------------------------------------------------------------------- 1 | LU-553 build: improve checks for commit-msg 2 | 3 | Improve the checks done by the commit-msg script. It now ensures 4 | that all the parts of the commit message are present. 5 | - validate that the Change-Id: generated from 'git hash-object' is 6 | not empty, since this can happen if git is unhappy with the options 7 | - check for only one Change-Id: line (multiple Signed-off-by: OK) 8 | - describe the "component:" field better, with examples 9 | 10 | If there was an error committing the message, save a copy to a 11 | temporary file, so that it can be edited and re-used, instead of 12 | having to recreate it each time, or fetch it from .git/COMMIT_MSG. 13 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/3.10-rhel7.5.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="3.10.0" 2 | lnxrel="862.14.4.el7" 3 | 4 | KERNEL_SRPM=kernel-${lnxmaj}-${lnxrel}.src.rpm 5 | SERIES=3.10-rhel7.5.series 6 | EXTRA_VERSION=${lnxrel}_lustre.@VERSION@ 7 | LUSTRE_VERSION=@VERSION@ 8 | 9 | DEVEL_PATH_ARCH_DELIMETER="." 10 | OFED_VERSION=inkernel 11 | 12 | BASE_ARCHS="i686 x86_64 ia64 ppc64" 13 | BIGMEM_ARCHS="" 14 | BOOT_ARCHS="" 15 | JENSEN_ARCHS="" 16 | #SMP_ARCHS="i686 x86_64 ia64 ppc64" 17 | # RHEL5 doesn't use smp specific kernels 18 | SMP_ARCHS="" 19 | UP_ARCHS="" 20 | 21 | for cc in gcc ; do 22 | if which $cc >/dev/null 2>/dev/null ; then 23 | export CC=$cc 24 | break 25 | fi 26 | done 27 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/3.10-rhel7.6.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="3.10.0" 2 | lnxrel="957.27.2.el7" 3 | 4 | KERNEL_SRPM=kernel-${lnxmaj}-${lnxrel}.src.rpm 5 | SERIES=3.10-rhel7.6.series 6 | EXTRA_VERSION=${lnxrel}_lustre.@VERSION@ 7 | LUSTRE_VERSION=@VERSION@ 8 | 9 | DEVEL_PATH_ARCH_DELIMETER="." 10 | OFED_VERSION=inkernel 11 | 12 | BASE_ARCHS="i686 x86_64 ia64 ppc64" 13 | BIGMEM_ARCHS="" 14 | BOOT_ARCHS="" 15 | JENSEN_ARCHS="" 16 | #SMP_ARCHS="i686 x86_64 ia64 ppc64" 17 | # RHEL5 doesn't use smp specific kernels 18 | SMP_ARCHS="" 19 | UP_ARCHS="" 20 | 21 | for cc in gcc ; do 22 | if which $cc >/dev/null 2>/dev/null ; then 23 | export CC=$cc 24 | break 25 | fi 26 | done 27 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/3.10-rhel7.7.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="3.10.0" 2 | lnxrel="1062.18.1.el7" 3 | 4 | KERNEL_SRPM=kernel-${lnxmaj}-${lnxrel}.src.rpm 5 | SERIES=3.10-rhel7.7.series 6 | EXTRA_VERSION=${lnxrel}_lustre.@VERSION@ 7 | LUSTRE_VERSION=@VERSION@ 8 | 9 | DEVEL_PATH_ARCH_DELIMETER="." 10 | OFED_VERSION=inkernel 11 | 12 | BASE_ARCHS="i686 x86_64 ia64 ppc64" 13 | BIGMEM_ARCHS="" 14 | BOOT_ARCHS="" 15 | JENSEN_ARCHS="" 16 | #SMP_ARCHS="i686 x86_64 ia64 ppc64" 17 | # RHEL5 doesn't use smp specific kernels 18 | SMP_ARCHS="" 19 | UP_ARCHS="" 20 | 21 | for cc in gcc ; do 22 | if which $cc >/dev/null 2>/dev/null ; then 23 | export CC=$cc 24 | break 25 | fi 26 | done 27 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/3.10-rhel7.8.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="3.10.0" 2 | lnxrel="1127.19.1.el7" 3 | 4 | KERNEL_SRPM=kernel-${lnxmaj}-${lnxrel}.src.rpm 5 | SERIES=3.10-rhel7.8.series 6 | EXTRA_VERSION=${lnxrel}_lustre.@VERSION@ 7 | LUSTRE_VERSION=@VERSION@ 8 | 9 | DEVEL_PATH_ARCH_DELIMETER="." 10 | OFED_VERSION=inkernel 11 | 12 | BASE_ARCHS="i686 x86_64 ia64 ppc64" 13 | BIGMEM_ARCHS="" 14 | BOOT_ARCHS="" 15 | JENSEN_ARCHS="" 16 | #SMP_ARCHS="i686 x86_64 ia64 ppc64" 17 | # RHEL5 doesn't use smp specific kernels 18 | SMP_ARCHS="" 19 | UP_ARCHS="" 20 | 21 | for cc in gcc ; do 22 | if which $cc >/dev/null 2>/dev/null ; then 23 | export CC=$cc 24 | break 25 | fi 26 | done 27 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/3.10-rhel7.9.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="3.10.0" 2 | lnxrel="1160.88.1.el7" 3 | 4 | KERNEL_SRPM=kernel-${lnxmaj}-${lnxrel}.src.rpm 5 | SERIES=3.10-rhel7.9.series 6 | EXTRA_VERSION=${lnxrel}_lustre.@VERSION@ 7 | LUSTRE_VERSION=@VERSION@ 8 | 9 | DEVEL_PATH_ARCH_DELIMETER="." 10 | OFED_VERSION=inkernel 11 | 12 | BASE_ARCHS="i686 x86_64 ia64 ppc64" 13 | BIGMEM_ARCHS="" 14 | BOOT_ARCHS="" 15 | JENSEN_ARCHS="" 16 | #SMP_ARCHS="i686 x86_64 ia64 ppc64" 17 | # RHEL5 doesn't use smp specific kernels 18 | SMP_ARCHS="" 19 | UP_ARCHS="" 20 | 21 | for cc in gcc ; do 22 | if which $cc >/dev/null 2>/dev/null ; then 23 | export CC=$cc 24 | break 25 | fi 26 | done 27 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/4.18-rhel8.1.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="4.18.0" 2 | lnxrel="147.8.1.el8_1" 3 | 4 | KERNEL_SRPM=kernel-${lnxmaj}-${lnxrel}.src.rpm 5 | SERIES=4.18-rhel8.1.series 6 | EXTRA_VERSION=${lnxrel}_lustre.@VERSION@ 7 | LUSTRE_VERSION=@VERSION@ 8 | 9 | DEVEL_PATH_ARCH_DELIMETER="." 10 | OFED_VERSION=inkernel 11 | 12 | BASE_ARCHS="i686 x86_64 ia64 ppc64" 13 | BIGMEM_ARCHS="" 14 | BOOT_ARCHS="" 15 | JENSEN_ARCHS="" 16 | #SMP_ARCHS="i686 x86_64 ia64 ppc64" 17 | # RHEL8 doesn't use smp specific kernels 18 | SMP_ARCHS="" 19 | UP_ARCHS="" 20 | 21 | for cc in gcc ; do 22 | if which $cc >/dev/null 2>/dev/null ; then 23 | export CC=$cc 24 | break 25 | fi 26 | done 27 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/4.18-rhel8.2.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="4.18.0" 2 | lnxrel="193.28.1.el8_2" 3 | 4 | KERNEL_SRPM=kernel-${lnxmaj}-${lnxrel}.src.rpm 5 | SERIES=4.18-rhel8.2.series 6 | EXTRA_VERSION=${lnxrel}_lustre.@VERSION@ 7 | LUSTRE_VERSION=@VERSION@ 8 | 9 | DEVEL_PATH_ARCH_DELIMETER="." 10 | OFED_VERSION=inkernel 11 | 12 | BASE_ARCHS="i686 x86_64 ia64 ppc64" 13 | BIGMEM_ARCHS="" 14 | BOOT_ARCHS="" 15 | JENSEN_ARCHS="" 16 | #SMP_ARCHS="i686 x86_64 ia64 ppc64" 17 | # RHEL8 doesn't use smp specific kernels 18 | SMP_ARCHS="" 19 | UP_ARCHS="" 20 | 21 | for cc in gcc ; do 22 | if which $cc >/dev/null 2>/dev/null ; then 23 | export CC=$cc 24 | break 25 | fi 26 | done 27 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/4.18-rhel8.3.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="4.18.0" 2 | lnxrel="240.22.1.el8_3" 3 | 4 | KERNEL_SRPM=kernel-${lnxmaj}-${lnxrel}.src.rpm 5 | SERIES=4.18-rhel8.3.series 6 | EXTRA_VERSION=${lnxrel}_lustre.@VERSION@ 7 | LUSTRE_VERSION=@VERSION@ 8 | 9 | DEVEL_PATH_ARCH_DELIMETER="." 10 | OFED_VERSION=inkernel 11 | 12 | BASE_ARCHS="i686 x86_64 ia64 ppc64" 13 | BIGMEM_ARCHS="" 14 | BOOT_ARCHS="" 15 | JENSEN_ARCHS="" 16 | #SMP_ARCHS="i686 x86_64 ia64 ppc64" 17 | # RHEL8 doesn't use smp specific kernels 18 | SMP_ARCHS="" 19 | UP_ARCHS="" 20 | 21 | for cc in gcc ; do 22 | if which $cc >/dev/null 2>/dev/null ; then 23 | export CC=$cc 24 | break 25 | fi 26 | done 27 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/4.18-rhel8.4.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="4.18.0" 2 | lnxrel="305.25.1.el8_4" 3 | 4 | KERNEL_SRPM=kernel-${lnxmaj}-${lnxrel}.src.rpm 5 | SERIES=4.18-rhel8.4.series 6 | EXTRA_VERSION=${lnxrel}_lustre.@VERSION@ 7 | LUSTRE_VERSION=@VERSION@ 8 | 9 | DEVEL_PATH_ARCH_DELIMETER="." 10 | OFED_VERSION=inkernel 11 | 12 | BASE_ARCHS="i686 x86_64 ia64 ppc64" 13 | BIGMEM_ARCHS="" 14 | BOOT_ARCHS="" 15 | JENSEN_ARCHS="" 16 | #SMP_ARCHS="i686 x86_64 ia64 ppc64" 17 | # RHEL8 doesn't use smp specific kernels 18 | SMP_ARCHS="" 19 | UP_ARCHS="" 20 | 21 | for cc in gcc ; do 22 | if which $cc >/dev/null 2>/dev/null ; then 23 | export CC=$cc 24 | break 25 | fi 26 | done 27 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/4.18-rhel8.5.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="4.18.0" 2 | lnxrel="348.23.1.el8_5" 3 | 4 | KERNEL_SRPM=kernel-${lnxmaj}-${lnxrel}.src.rpm 5 | SERIES=4.18-rhel8.5.series 6 | EXTRA_VERSION=${lnxrel}_lustre.@VERSION@ 7 | LUSTRE_VERSION=@VERSION@ 8 | 9 | DEVEL_PATH_ARCH_DELIMETER="." 10 | OFED_VERSION=inkernel 11 | 12 | BASE_ARCHS="i686 x86_64 ia64 ppc64" 13 | BIGMEM_ARCHS="" 14 | BOOT_ARCHS="" 15 | JENSEN_ARCHS="" 16 | #SMP_ARCHS="i686 x86_64 ia64 ppc64" 17 | # RHEL8 doesn't use smp specific kernels 18 | SMP_ARCHS="" 19 | UP_ARCHS="" 20 | 21 | for cc in gcc ; do 22 | if which $cc >/dev/null 2>/dev/null ; then 23 | export CC=$cc 24 | break 25 | fi 26 | done 27 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/4.18-rhel8.6.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="4.18.0" 2 | lnxrel="372.32.1.el8_6" 3 | 4 | KERNEL_SRPM=kernel-${lnxmaj}-${lnxrel}.src.rpm 5 | SERIES=4.18-rhel8.6.series 6 | EXTRA_VERSION=${lnxrel}_lustre.@VERSION@ 7 | LUSTRE_VERSION=@VERSION@ 8 | 9 | DEVEL_PATH_ARCH_DELIMETER="." 10 | OFED_VERSION=inkernel 11 | 12 | BASE_ARCHS="i686 x86_64 ia64 ppc64" 13 | BIGMEM_ARCHS="" 14 | BOOT_ARCHS="" 15 | JENSEN_ARCHS="" 16 | #SMP_ARCHS="i686 x86_64 ia64 ppc64" 17 | # RHEL8 doesn't use smp specific kernels 18 | SMP_ARCHS="" 19 | UP_ARCHS="" 20 | 21 | for cc in gcc ; do 22 | if which $cc >/dev/null 2>/dev/null ; then 23 | export CC=$cc 24 | break 25 | fi 26 | done 27 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/4.18-rhel8.7.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="4.18.0" 2 | lnxrel="425.3.1.el8" 3 | 4 | KERNEL_SRPM=kernel-${lnxmaj}-${lnxrel}.src.rpm 5 | SERIES=4.18-rhel8.7.series 6 | EXTRA_VERSION=${lnxrel}_lustre.@VERSION@ 7 | LUSTRE_VERSION=@VERSION@ 8 | 9 | DEVEL_PATH_ARCH_DELIMETER="." 10 | OFED_VERSION=inkernel 11 | 12 | BASE_ARCHS="i686 x86_64 ia64 ppc64" 13 | BIGMEM_ARCHS="" 14 | BOOT_ARCHS="" 15 | JENSEN_ARCHS="" 16 | #SMP_ARCHS="i686 x86_64 ia64 ppc64" 17 | # RHEL8 doesn't use smp specific kernels 18 | SMP_ARCHS="" 19 | UP_ARCHS="" 20 | 21 | for cc in gcc ; do 22 | if which $cc >/dev/null 2>/dev/null ; then 23 | export CC=$cc 24 | break 25 | fi 26 | done 27 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/4.18-rhel8.8.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="4.18.0" 2 | lnxrel="477.27.1.el8_8" 3 | 4 | KERNEL_SRPM=kernel-${lnxmaj}-${lnxrel}.src.rpm 5 | SERIES=4.18-rhel8.8.series 6 | EXTRA_VERSION=${lnxrel}_lustre.@VERSION@ 7 | LUSTRE_VERSION=@VERSION@ 8 | 9 | DEVEL_PATH_ARCH_DELIMETER="." 10 | OFED_VERSION=inkernel 11 | 12 | BASE_ARCHS="i686 x86_64 ia64 ppc64" 13 | BIGMEM_ARCHS="" 14 | BOOT_ARCHS="" 15 | JENSEN_ARCHS="" 16 | #SMP_ARCHS="i686 x86_64 ia64 ppc64" 17 | # RHEL8 doesn't use smp specific kernels 18 | SMP_ARCHS="" 19 | UP_ARCHS="" 20 | 21 | for cc in gcc ; do 22 | if which $cc >/dev/null 2>/dev/null ; then 23 | export CC=$cc 24 | break 25 | fi 26 | done 27 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/4.18-rhel8.9.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="4.18.0" 2 | lnxrel="513.24.1.el8_9" 3 | 4 | KERNEL_SRPM=kernel-${lnxmaj}-${lnxrel}.src.rpm 5 | SERIES=4.18-rhel8.9.series 6 | EXTRA_VERSION=${lnxrel}_lustre.@VERSION@ 7 | LUSTRE_VERSION=@VERSION@ 8 | 9 | DEVEL_PATH_ARCH_DELIMETER="." 10 | OFED_VERSION=inkernel 11 | 12 | BASE_ARCHS="i686 x86_64 ia64 ppc64" 13 | BIGMEM_ARCHS="" 14 | BOOT_ARCHS="" 15 | JENSEN_ARCHS="" 16 | #SMP_ARCHS="i686 x86_64 ia64 ppc64" 17 | # RHEL8 doesn't use smp specific kernels 18 | SMP_ARCHS="" 19 | UP_ARCHS="" 20 | 21 | for cc in gcc ; do 22 | if which $cc >/dev/null 2>/dev/null ; then 23 | export CC=$cc 24 | break 25 | fi 26 | done 27 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/4.14-rhel7.5.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="4.14.0" 2 | lnxrel="49.13.1.el7a" 3 | 4 | KERNEL_SRPM=kernel-${lnxmaj}-${lnxrel}.src.rpm 5 | SERIES=4.14-rhel7.5.series 6 | EXTRA_VERSION=${lnxrel}_lustre.@VERSION@ 7 | LUSTRE_VERSION=@VERSION@ 8 | 9 | DEVEL_PATH_ARCH_DELIMETER="." 10 | OFED_VERSION=inkernel 11 | 12 | BASE_ARCHS="i686 x86_64 ia64 ppc64 aarch64" 13 | BIGMEM_ARCHS="" 14 | BOOT_ARCHS="" 15 | JENSEN_ARCHS="" 16 | #SMP_ARCHS="i686 x86_64 ia64 ppc64" 17 | # RHEL5 doesn't use smp specific kernels 18 | SMP_ARCHS="" 19 | UP_ARCHS="" 20 | 21 | for cc in gcc ; do 22 | if which $cc >/dev/null 2>/dev/null ; then 23 | export CC=$cc 24 | break 25 | fi 26 | done 27 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/4.14-rhel7.6.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="4.14.0" 2 | lnxrel="115.2.2.el7a" 3 | 4 | KERNEL_SRPM=kernel-${lnxmaj}-${lnxrel}.src.rpm 5 | SERIES=4.14-rhel7.6.series 6 | EXTRA_VERSION=${lnxrel}_lustre.@VERSION@ 7 | LUSTRE_VERSION=@VERSION@ 8 | 9 | DEVEL_PATH_ARCH_DELIMETER="." 10 | OFED_VERSION=inkernel 11 | 12 | BASE_ARCHS="i686 x86_64 ia64 ppc64 aarch64" 13 | BIGMEM_ARCHS="" 14 | BOOT_ARCHS="" 15 | JENSEN_ARCHS="" 16 | #SMP_ARCHS="i686 x86_64 ia64 ppc64" 17 | # RHEL5 doesn't use smp specific kernels 18 | SMP_ARCHS="" 19 | UP_ARCHS="" 20 | 21 | for cc in gcc ; do 22 | if which $cc >/dev/null 2>/dev/null ; then 23 | export CC=$cc 24 | break 25 | fi 26 | done 27 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/4.18-rhel8.10.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="4.18.0" 2 | lnxrel="553.53.1.el8_10" 3 | 4 | KERNEL_SRPM=kernel-${lnxmaj}-${lnxrel}.src.rpm 5 | SERIES=4.18-rhel8.10.series 6 | EXTRA_VERSION=${lnxrel}_lustre.@VERSION@ 7 | LUSTRE_VERSION=@VERSION@ 8 | 9 | DEVEL_PATH_ARCH_DELIMETER="." 10 | OFED_VERSION=inkernel 11 | 12 | BASE_ARCHS="i686 x86_64 ia64 ppc64" 13 | BIGMEM_ARCHS="" 14 | BOOT_ARCHS="" 15 | JENSEN_ARCHS="" 16 | #SMP_ARCHS="i686 x86_64 ia64 ppc64" 17 | # RHEL8 doesn't use smp specific kernels 18 | SMP_ARCHS="" 19 | UP_ARCHS="" 20 | 21 | for cc in gcc ; do 22 | if which $cc >/dev/null 2>/dev/null ; then 23 | export CC=$cc 24 | break 25 | fi 26 | done 27 | -------------------------------------------------------------------------------- /contrib/git-hooks/tests/commit.nosum: -------------------------------------------------------------------------------- 1 | Improve the checks done by the commit-msg script. It now ensures 2 | that all the parts of the commit message are present. 3 | - validate that the Change-Id: generated from 'git hash-object' is 4 | not empty, since this can happen if git is unhappy with the options 5 | - check for only one Change-Id: line (multiple Signed-off-by: OK) 6 | - describe the "component:" field better, with examples 7 | 8 | If there was an error committing the message, save a copy to a 9 | temporary file, so that it can be edited and re-used, instead of 10 | having to recreate it each time, or fetch it from .git/COMMIT_MSG. 11 | 12 | Signed-off-by: Andreas Dilger 13 | -------------------------------------------------------------------------------- /lustre/scripts/ko2iblnd-probe: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # flags of IB devices which present 4 | HFI=0 5 | QIB=0 6 | 7 | # no profile name by default 8 | PROFILE="" 9 | 10 | INFINIBAND="/sys/class/infiniband" 11 | 12 | if [ -d $INFINIBAND ]; then 13 | for dev in `ls -d $INFINIBAND/* | sed -e "s#^$INFINIBAND/##" -e 's#_[0-9]*$##'`; do 14 | ver=`echo $dev | sed -ne 's#[^0-9]*##p'` 15 | case $dev in 16 | hfi*) HFI=1 ;; 17 | qib*) QIB=1 ;; 18 | esac 19 | done 20 | 21 | # Set profile name according priority 22 | if [ $HFI -ne 0 ]; then 23 | PROFILE="-opa" 24 | elif [ $QIB -ne 0 ]; then 25 | PROFILE="-opa" 26 | fi 27 | fi 28 | 29 | exec /sbin/modprobe --ignore-install ko2iblnd$PROFILE $CMDLINE_OPTS 30 | -------------------------------------------------------------------------------- /contrib/scripts/crypto_patches/0003_keyring_search_4args.patch: -------------------------------------------------------------------------------- 1 | Linux 5.2 commit dcf49dbc8077) adds a 'recurse' flag for keyring searches. 2 | 3 | --- a/libcfs/libcfs/crypto/keyring.c 4 | +++ b/libcfs/libcfs/crypto/keyring.c 5 | @@ -138,7 +138,11 @@ static struct key *search_llcrypt_keyrin 6 | */ 7 | key_ref_t keyref = make_key_ref(keyring, true /* possessed */); 8 | 9 | +#ifdef HAVE_KEYRING_SEARCH_4ARGS 10 | keyref = keyring_search(keyref, type, description, false); 11 | +#else 12 | + keyref = keyring_search(keyref, type, description); 13 | +#endif 14 | if (IS_ERR(keyref)) { 15 | if (PTR_ERR(keyref) == -EAGAIN || /* not found */ 16 | PTR_ERR(keyref) == -EKEYREVOKED) /* recently invalidated */ 17 | -------------------------------------------------------------------------------- /contrib/scripts/crypto_patches/0012_igrab.patch: -------------------------------------------------------------------------------- 1 | As __iget is not exported by the kernel, replace it with igrab. 2 | 3 | --- a/libcfs/libcfs/crypto/keyring.c 4 | +++ b/libcfs/libcfs/crypto/keyring.c 5 | @@ -660,13 +660,8 @@ static void evict_dentries_for_decrypted 6 | 7 | list_for_each_entry(ci, &mk->mk_decrypted_inodes, ci_master_key_link) { 8 | inode = ci->ci_inode; 9 | - spin_lock(&inode->i_lock); 10 | - if (inode->i_state & (I_FREEING | I_WILL_FREE | I_NEW)) { 11 | - spin_unlock(&inode->i_lock); 12 | + if (igrab(inode) == NULL) 13 | continue; 14 | - } 15 | - __iget(inode); 16 | - spin_unlock(&inode->i_lock); 17 | spin_unlock(&mk->mk_decrypted_inodes_lock); 18 | 19 | shrink_dcache_inode(inode); 20 | -------------------------------------------------------------------------------- /lustre/BUILDING: -------------------------------------------------------------------------------- 1 | BUILDING LUSTRE 2 | --------------- 3 | 4 | You must already have a Lustre-patched kernel, which is outside of the 5 | scope of this document. For more information on this process, see the 6 | web sites below. Also consider downloading a pre-packaged Lustre 7 | kernel and utilities from https://downloads.whamcloud.com/ 8 | 9 | To build: 10 | sh autogen.sh 11 | ./configure --with-linux=/usr/src/lustre_patched_kernel_tree 12 | make 13 | 14 | To play with Lustre: 15 | cd tests 16 | sh llmount.sh 17 | 18 | To clean up: 19 | sh llmountcleanup.sh 20 | 21 | More information about Lustre: 22 | http://www.lustre.org/ 23 | 24 | Feedback: 25 | lustre-discuss@lists.lustre.org 26 | 27 | - The Lustre Team - 28 | -------------------------------------------------------------------------------- /lustre/tests/lutf/src/lutf_python.h: -------------------------------------------------------------------------------- 1 | #ifndef LUTF_PYTHON_H 2 | #define LUTF_PYTHON_H 3 | 4 | #include 5 | #include "lutf.h" 6 | 7 | typedef struct python_thread_data_s { 8 | char **argv; 9 | } python_thread_data_t; 10 | 11 | /* 12 | * python_init 13 | * Initialize the python interpreter. 14 | */ 15 | lutf_rc_t python_init(void); 16 | 17 | /* 18 | * python_collect_agent_core 19 | * Collect core information from the specified agent 20 | */ 21 | lutf_rc_t python_collect_agent_core(char *ip); 22 | 23 | /* 24 | * python_handle_rpc_request 25 | * Received an RPC now execute the operation in the python interpreter 26 | */ 27 | lutf_rc_t python_handle_rpc_request(char *rpc); 28 | 29 | #endif /* LUTF_PYTHON_H */ 30 | -------------------------------------------------------------------------------- /ldiskfs/kernel_patches/patches/suse15/ext4-print-inum-in-htree-warning.patch: -------------------------------------------------------------------------------- 1 | Index: linux-stage/fs/ext4/namei.c 2 | =================================================================== 3 | --- linux-stage.orig/fs/ext4/namei.c 4 | +++ linux-stage/fs/ext4/namei.c 5 | @@ -371,6 +371,6 @@ dx_probe(const struct qstr *d_name, stru 6 | if (root->info.hash_version != DX_HASH_TEA && 7 | root->info.hash_version != DX_HASH_HALF_MD4 && 8 | root->info.hash_version != DX_HASH_LEGACY) { 9 | - ext4_warning_inode(dir, "Unrecognised inode hash code %u", 10 | - root->info.hash_version); 11 | + ext4_warning_inode(dir, "Unrecognised inode hash code %u for directory " 12 | + "%lu", root->info.hash_version, dir->i_ino); 13 | goto fail; 14 | -------------------------------------------------------------------------------- /lustre/tests/racer/dir_remote.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | trap 'kill $(jobs -p)' EXIT 3 | 4 | DIR=$1 5 | MAX=$2 6 | 7 | MDTCOUNT=${MDSCOUNT:-$($LFS df $DIR 2> /dev/null | grep -c MDT)} 8 | while /bin/true ; do 9 | remote_dir=$((RANDOM % MAX)) 10 | file=$((RANDOM % MAX)) 11 | mdt_idx=$((RANDOM % MDTCOUNT)) 12 | 13 | if $RACER_ENABLE_STRIPED_DIRS; then 14 | # stripe_count in range [1,MDTCOUNT] 15 | # $LFS mkdir treats stripe_count 0 and 1 the same 16 | stripe_count_opt="-c$((RANDOM % MDTCOUNT + 1))" 17 | else 18 | stripe_count_opt="" 19 | fi 20 | 21 | $LFS mkdir -i$mdt_idx $stripe_count_opt $DIR/$remote_dir 2> /dev/null 22 | touch $DIR/$remote_dir/$file 2> /dev/null 23 | $LFS getdirstripe $DIR/$remote_dir > /dev/null 2>&1 24 | done 25 | -------------------------------------------------------------------------------- /contrib/git-hooks/tests/commit.badname: -------------------------------------------------------------------------------- 1 | LU-553 build: improve checks for commit-msg 2 | 3 | Improve the checks done by the commit-msg script. It now ensures 4 | that all the parts of the commit message are present. 5 | - validate that the Change-Id: generated from 'git hash-object' is 6 | not empty, since this can happen if git is unhappy with the options 7 | - check for only one Change-Id: line (multiple Signed-off-by: OK) 8 | - describe the "component:" field better, with examples 9 | 10 | If there was an error committing the message, save a copy to a 11 | temporary file, so that it can be edited and re-used, instead of 12 | having to recreate it each time, or fetch it from .git/COMMIT_MSG. 13 | 14 | Signed-off-by: Joe 15 | -------------------------------------------------------------------------------- /contrib/git-hooks/tests/commit.bademail: -------------------------------------------------------------------------------- 1 | LU-553 build: improve checks for commit-msg 2 | 3 | Improve the checks done by the commit-msg script. It now ensures 4 | that all the parts of the commit message are present. 5 | - validate that the Change-Id: generated from 'git hash-object' is 6 | not empty, since this can happen if git is unhappy with the options 7 | - check for only one Change-Id: line (multiple Signed-off-by: OK) 8 | - describe the "component:" field better, with examples 9 | 10 | If there was an error committing the message, save a copy to a 11 | temporary file, so that it can be edited and re-used, instead of 12 | having to recreate it each time, or fetch it from .git/COMMIT_MSG. 13 | 14 | Signed-off-by: Andreas Dilger 15 | -------------------------------------------------------------------------------- /contrib/git-hooks/tests/commit.badsign: -------------------------------------------------------------------------------- 1 | LU-553 build: improve checks for commit-msg 2 | 3 | Improve the checks done by the commit-msg script. It now ensures 4 | that all the parts of the commit message are present. 5 | - validate that the Change-Id: generated from 'git hash-object' is 6 | not empty, since this can happen if git is unhappy with the options 7 | - check for only one Change-Id: line (multiple Signed-off-by: OK) 8 | - describe the "component:" field better, with examples 9 | 10 | If there was an error committing the message, save a copy to a 11 | temporary file, so that it can be edited and re-used, instead of 12 | having to recreate it each time, or fetch it from .git/COMMIT_MSG. 13 | 14 | Signed-off-by Andreas Dilger 15 | -------------------------------------------------------------------------------- /contrib/git-hooks/tests/commit.nocmp: -------------------------------------------------------------------------------- 1 | LU-553 improve checks for commit-msg 2 | 3 | Improve the checks done by the commit-msg script. It now ensures 4 | that all the parts of the commit message are present. 5 | - validate that the Change-Id: generated from 'git hash-object' is 6 | not empty, since this can happen if git is unhappy with the options 7 | - check for only one Change-Id: line (multiple Signed-off-by: OK) 8 | - describe the "component:" field better, with examples 9 | 10 | If there was an error committing the message, save a copy to a 11 | temporary file, so that it can be edited and re-used, instead of 12 | having to recreate it each time, or fetch it from .git/COMMIT_MSG. 13 | 14 | Signed-off-by: Andreas Dilger 15 | -------------------------------------------------------------------------------- /contrib/git-hooks/tests/commit.nojira: -------------------------------------------------------------------------------- 1 | build: improve checks for commit-msg 2 | 3 | Improve the checks done by the commit-msg script. It now ensures 4 | that all the parts of the commit message are present. 5 | - validate that the Change-Id: generated from 'git hash-object' is 6 | not empty, since this can happen if git is unhappy with the options 7 | - check for only one Change-Id: line (multiple Signed-off-by: OK) 8 | - describe the "component:" field better, with examples 9 | 10 | If there was an error committing the message, save a copy to a 11 | temporary file, so that it can be edited and re-used, instead of 12 | having to recreate it each time, or fetch it from .git/COMMIT_MSG. 13 | 14 | Signed-off-by: Andreas Dilger 15 | -------------------------------------------------------------------------------- /ldiskfs/kernel_patches/patches/base/ext4-reset-exts-for-gcc10.patch: -------------------------------------------------------------------------------- 1 | Index: linux-4.18.0-32.el8/fs/ext4/extents.c 2 | =================================================================== 3 | --- linux-4.18.0-32.el8/fs.orig/ext4/extents.c 2020-11-27 10:01:19.149710442 +0300 4 | +++ linux-4.18.0-32.el8/fs/ext4/extents.c 2020-11-27 10:01:25.462844639 +0300 5 | @@ -3431,8 +3431,8 @@ static int ext4_ext_convert_to_initia 6 | ex = path[depth].p_ext; 7 | ee_block = le32_to_cpu(ex->ee_block); 8 | ee_len = ext4_ext_get_actual_len(ex); 9 | - zero_ex1.ee_len = 0; 10 | - zero_ex2.ee_len = 0; 11 | + memset(&zero_ex1, 0, sizeof(zero_ex1)); 12 | + memset(&zero_ex2, 0, sizeof(zero_ex2)); 13 | 14 | trace_ext4_ext_convert_to_initialized_enter(inode, map, ex); 15 | 16 | -------------------------------------------------------------------------------- /contrib/git-hooks/tests/commit.ok_nocid: -------------------------------------------------------------------------------- 1 | LU-553 build: improve checks for commit-msg 2 | 3 | Improve the checks done by the commit-msg script. It now ensures 4 | that all the parts of the commit message are present. 5 | - validate that the Change-Id: generated from 'git hash-object' is 6 | not empty, since this can happen if git is unhappy with the options 7 | - check for only one Change-Id: line (multiple Signed-off-by: OK) 8 | - describe the "component:" field better, with examples 9 | 10 | If there was an error committing the message, save a copy to a 11 | temporary file, so that it can be edited and re-used, instead of 12 | having to recreate it each time, or fetch it from .git/COMMIT_MSG. 13 | 14 | Signed-off-by: Andreas Dilger 15 | -------------------------------------------------------------------------------- /contrib/git-hooks/tests/commit.ok_params: -------------------------------------------------------------------------------- 1 | LU-1145 test: allow Test-Parameters tag for autotest 2 | 3 | Allow Test-Parameters line to specify extra tests that should be run 4 | to properly validate a change made to code or a regression test. 5 | 6 | The Test-Parameters line can be quite long, depending on the number 7 | of parameters specified. A single set of test parameters can be 8 | split over multiple lines by escaping the linefeed, though the 9 | individual lines should still be kept below the 70-character limit. 10 | 11 | Test-Parameters: ostcount=5 clientarch=i686 clientdistro=rhel5 12 | Test-Parameters: ostcount=1 testlist=ost-pools,sanity,sanityn,lfsck \ 13 | filesystemtype=ldiskfs,zfs serverarch=x86_64 14 | Signed-off-by: Andreas Dilger 15 | -------------------------------------------------------------------------------- /ldiskfs/kernel_patches/patches/rhel8/ext4-nocmtime.patch: -------------------------------------------------------------------------------- 1 | Index: linux-4.18.0-32.el8.x86_64/fs/ext4/ext4.h 2 | =================================================================== 3 | --- linux-4.18.0-32.el8.x86_64.orig/fs/ext4/ext4.h 4 | +++ linux-4.18.0-32.el8.x86_64/fs/ext4/ext4.h 5 | @@ -655,6 +655,13 @@ enum { 6 | #define EXT4_GOING_FLAGS_LOGFLUSH 0x1 /* flush log but not data */ 7 | #define EXT4_GOING_FLAGS_NOLOGFLUSH 0x2 /* don't flush log nor data */ 8 | 9 | +static inline struct timespec64 ext4_current_time(struct inode *inode) 10 | +{ 11 | + if (IS_NOCMTIME(inode)) 12 | + return inode->i_ctime; 13 | + return current_time(inode); 14 | +} 15 | +#define current_time(a) ext4_current_time(a) 16 | 17 | #if defined(__KERNEL__) && defined(CONFIG_COMPAT) 18 | /* 19 | -------------------------------------------------------------------------------- /lustre/tests/fadvise_dontneed_helper.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | int main(int argc, char *argv[]) 8 | { 9 | int fd; 10 | int rc; 11 | 12 | if (argc != 2) { 13 | fprintf(stderr, "usage: %s file\n", argv[0]); 14 | return 1; 15 | } 16 | 17 | fd = open(argv[1], O_RDWR, 0); 18 | if (fd <= 0) { 19 | fprintf(stderr, 20 | "open failed on %s, error: %s\n", 21 | argv[1], strerror(errno)); 22 | return errno; 23 | } 24 | 25 | rc = posix_fadvise(fd, 0, 1024 * 1024, POSIX_FADV_DONTNEED); 26 | if (rc) { 27 | fprintf(stderr, 28 | "fadvise FADV_DONTNEED failed on %s, error: %s\n", 29 | argv[1], strerror(errno)); 30 | return errno; 31 | } 32 | return 0; 33 | } 34 | -------------------------------------------------------------------------------- /lustre/tests/socketserver: -------------------------------------------------------------------------------- 1 | #! /usr/bin/perl -w 2 | use strict; 3 | use Socket; 4 | 5 | BEGIN { $ENV{PATH} = '/usr/ucb:/bin' } 6 | sub logmsg { print "$0 $$: @_ at ", scalar localtime, "\n" } 7 | 8 | my $NAME = <@ARGV>; 9 | my $uaddr = sockaddr_un($NAME); 10 | 11 | socket(Server,AF_UNIX,SOCK_STREAM,0) || die "socket: $!"; 12 | unlink($NAME); 13 | bind (Server, $uaddr) || die "bind: $!"; 14 | listen(Server,SOMAXCONN) || die "listen: $!"; 15 | 16 | logmsg "server started on $NAME"; 17 | 18 | my $rc = fork(); 19 | if ($rc > 0) { #parent 20 | exit(); 21 | } elsif ($rc < 0) { # error 22 | logmsg "fork failed: $rc"; 23 | exit(); 24 | } 25 | 26 | accept(Client,Server); 27 | logmsg "connection on $NAME"; 28 | print Client "from server\n"; 29 | close Client; 30 | -------------------------------------------------------------------------------- /contrib/debug_tools/epython_scripts/crashlib/addrlib.py: -------------------------------------------------------------------------------- 1 | 2 | """ 3 | Set of routines for manipulating addresses. 4 | Copyright 2014 Cray Inc. All Rights Reserved 5 | """ 6 | 7 | import crashlib.cid 8 | import crashlib.cid.machdep_table 9 | 10 | # -------------------------------------------------------------------------- 11 | 12 | def ptov(physaddr): 13 | """Convert a physical address to a kernel virtual address.""" 14 | return int(physaddr) + crashlib.cid.mdtbl.kvbase 15 | 16 | def phys2pfn(physaddr): 17 | """Convert a physical address to a page offset.""" 18 | return physaddr >> crashlib.cid.mdtbl.pageshift 19 | 20 | def pfn2phys(pfn): 21 | """Convert a page offset into a physical address.""" 22 | return int(pfn) << int(crashlib.cid.mdtbl.pageshift) 23 | -------------------------------------------------------------------------------- /lustre/tests/lutf/src/lutf_global.h: -------------------------------------------------------------------------------- 1 | #ifndef LUTF_CONNECT_H 2 | #define LUTF_CONNECT_H 3 | 4 | #include "lutf_common.h" 5 | 6 | /* accessor functions to get global information */ 7 | 8 | char *get_lutf_path(void); 9 | char *get_py_path(void); 10 | char *get_master_name(void); 11 | char *get_suite_name(void); 12 | char *get_script_name(void); 13 | char *get_matching_pattern(void); 14 | int get_master_listen_port(void); 15 | char *get_node_name(void); 16 | int get_agent_telnet_port(void); 17 | char *get_master_address(void); 18 | int get_master_port(void); 19 | lutf_run_mode_t get_lutf_mode(void); 20 | lutf_type_t get_lutf_type(void); 21 | char *get_lutf_results_file_path(void); 22 | char *get_lutf_cfg_file_path(void); 23 | char *get_lutf_tmp_dir(void); 24 | 25 | #endif /* LUTF_CONNECT_H */ 26 | -------------------------------------------------------------------------------- /ldiskfs/kernel_patches/patches/rhel7.6/ext4-nocmtime.patch: -------------------------------------------------------------------------------- 1 | We won't change i_xtime in ldiskfs code path. But also 2 | need keep normal function out of Lustre. So we using 3 | S_NOCMTIME to indicate invoked from Lustre. 4 | 5 | Index: linux-3.10.0-123.13.2.el7.x86_64/fs/ext4/ext4.h 6 | =================================================================== 7 | --- linux-3.10.0-123.13.2.el7.x86_64.orig/fs/ext4/ext4.h 8 | +++ linux-3.10.0-123.13.2.el7.x86_64/fs/ext4/ext4.h 9 | @@ -1336,6 +1336,8 @@ static inline struct ext4_inode_info *EX 10 | 11 | static inline struct timespec ext4_current_time(struct inode *inode) 12 | { 13 | + if (IS_NOCMTIME(inode)) 14 | + return inode->i_ctime; 15 | return (inode->i_sb->s_time_gran < NSEC_PER_SEC) ? 16 | current_fs_time(inode->i_sb) : CURRENT_TIME_SEC; 17 | } 18 | -------------------------------------------------------------------------------- /lustre/llite/Makefile.in: -------------------------------------------------------------------------------- 1 | MODULES := lustre 2 | lustre-objs := dcache.o dir.o file.o llite_lib.o llite_nfs.o 3 | lustre-objs += rw.o lproc_llite.o namei.o symlink.o llite_mmap.o 4 | lustre-objs += xattr.o xattr_cache.o 5 | lustre-objs += rw26.o super25.o statahead.o xattr_security.o 6 | lustre-objs += glimpse.o 7 | lustre-objs += lcommon_cl.o 8 | lustre-objs += lcommon_misc.o 9 | lustre-objs += vvp_dev.o vvp_page.o vvp_io.o vvp_object.o 10 | lustre-objs += pcc.o crypto.o 11 | lustre-objs += llite_foreign.o llite_foreign_symlink.o 12 | 13 | lustre-$(CONFIG_FS_POSIX_ACL) += acl.o 14 | lustre-objs += $(lustre-y) 15 | 16 | EXTRA_DIST := $(lustre-objs:.o=.c) xattr.c rw26.c super25.c acl.c 17 | EXTRA_DIST += llite_internal.h vvp_internal.h pcc.h 18 | EXTRA_DIST += foreign_symlink.h 19 | 20 | @INCLUDE_RULES@ 21 | -------------------------------------------------------------------------------- /lustre/tests/lutf/swig_templates/generate_lutf_swig_i.py: -------------------------------------------------------------------------------- 1 | import sys 2 | import os 3 | 4 | intf = open(sys.argv[2], 'r') 5 | contents = intf.readlines() 6 | intf.close() 7 | 8 | idx = 0 9 | for c in contents: 10 | idx += 1 11 | if "%}" in c: 12 | break 13 | 14 | #typemap_path = sys.argv[1] + '/lustre/tests/lutf/swig_templates/typemap.template' 15 | typemap_path = os.path.join(sys.argv[1], 'typemap.template') 16 | i_typemap = open(typemap_path) 17 | l_typemap = i_typemap.readlines() 18 | i_typemap.close() 19 | 20 | j = 0 21 | for i in range(idx, idx + len(l_typemap)): 22 | contents.insert(i, l_typemap[j]) 23 | j += 1 24 | 25 | new_i_file = os.path.splitext(sys.argv[2])[0]+'.i' 26 | 27 | intf = open(new_i_file, 'w') 28 | contents = "".join(contents) 29 | intf.write(contents) 30 | intf.close() 31 | 32 | -------------------------------------------------------------------------------- /lustre/tests/run-llog.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | LUSTRE=${LUSTRE:-$(dirname $0)/..} 4 | . $LUSTRE/tests/test-framework.sh 5 | init_test_env $@ 6 | 7 | TMP=${TMP:-/tmp} 8 | 9 | set -x 10 | MGS=$($LCTL dl | awk '/mgs/ { print $4 }') 11 | [ -z "$MGS" ] && echo "$0: SKIP: no MGS available, skipping llog test" && exit 0 12 | 13 | load_module obdclass/llog_test || exit 1 14 | $LCTL modules > $TMP/ogdb-$(hostname) 15 | echo "NOW reload debugging syms.." 16 | 17 | RC=0 18 | # Using ignore_errors will allow lctl to cleanup even if the test fails. 19 | eval "$LCTL <<-EOF || RC=2 20 | attach llog_test llt_name llt_uuid 21 | ignore_errors 22 | setup $MGS 23 | --device llt_name cleanup 24 | --device llt_name detach 25 | EOF" 26 | rmmod -v llog_test || RC2=3 27 | [ $RC -eq 0 -a "$RC2" ] && RC=$RC2 28 | 29 | exit $RC 30 | -------------------------------------------------------------------------------- /contrib/git-hooks/tests/commit.ok_cid: -------------------------------------------------------------------------------- 1 | LU-553 build: improve checks for commit-msg 2 | 3 | Improve the checks done by the commit-msg script. It now ensures 4 | that all the parts of the commit message are present. 5 | - validate that the Change-Id: generated from 'git hash-object' is 6 | not empty, since this can happen if git is unhappy with the options 7 | - check for only one Change-Id: line (multiple Signed-off-by: OK) 8 | - describe the "component:" field better, with examples 9 | 10 | If there was an error committing the message, save a copy to a 11 | temporary file, so that it can be edited and re-used, instead of 12 | having to recreate it each time, or fetch it from .git/COMMIT_MSG. 13 | 14 | Signed-off-by: Andreas Dilger 15 | Change-Id: I15cb3690560400a591598997424cf79dee3a039d 16 | -------------------------------------------------------------------------------- /ldiskfs/kernel_patches/patches/rhel7.6/ext4-print-inum-in-htree-warning.patch: -------------------------------------------------------------------------------- 1 | Index: linux-stage/fs/ext4/namei.c 2 | =================================================================== 3 | --- linux-stage.orig/fs/ext4/namei.c 4 | +++ linux-stage/fs/ext4/namei.c 5 | @@ -371,8 +371,8 @@ dx_probe(const struct qstr *d_name, stru 6 | if (root->info.hash_version != DX_HASH_TEA && 7 | root->info.hash_version != DX_HASH_HALF_MD4 && 8 | root->info.hash_version != DX_HASH_LEGACY) { 9 | - ext4_warning(dir->i_sb, "Unrecognised inode hash code %d", 10 | - root->info.hash_version); 11 | + ext4_warning(dir->i_sb, "Unrecognised inode hash code %d for directory " 12 | + "#%lu", root->info.hash_version, dir->i_ino); 13 | brelse(bh); 14 | *err = ERR_BAD_DX_DIR; 15 | goto fail; 16 | -------------------------------------------------------------------------------- /lustre/tests/resolveip: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | =pod 3 | 4 | =head1 NAME 5 | 6 | resolveip - Resolve IP address for given hostname 7 | 8 | =head1 DESCRIPTION 9 | 10 | Tries to resolve IP address of given hostname and return its value, 11 | returns empty value if unable to detect it. 12 | 13 | =cut 14 | 15 | use Socket; 16 | $hostname = $ARGV[0]; 17 | 18 | sub resolve_ip { 19 | ($hostname) = @_; 20 | 21 | return unless defined $hostname; 22 | 23 | $packed_ip = gethostbyname($hostname); 24 | if (defined $packed_ip) { 25 | $ip_address = inet_ntoa($packed_ip); 26 | return $ip_address; 27 | } 28 | } 29 | 30 | $ip = resolve_ip($hostname); 31 | 32 | if (not $ip or $ip eq '') { 33 | print STDERR "Unable to detect ip address for host: '$hostname'\n"; 34 | exit 1; 35 | } 36 | 37 | print $ip; 38 | 39 | exit 0; 40 | -------------------------------------------------------------------------------- /contrib/git-hooks/tests/commit.badcid: -------------------------------------------------------------------------------- 1 | LU-553 build: improve checks for commit-msg 2 | 3 | Improve the checks done by the commit-msg script. It now ensures 4 | that all the parts of the commit message are present. 5 | - validate that the Change-Id: generated from 'git hash-object' is 6 | not empty, since this can happen if git is unhappy with the options 7 | - check for only one Change-Id: line (multiple Signed-off-by: OK) 8 | - describe the "component:" field better, with examples 9 | 10 | If there was an error committing the message, save a copy to a 11 | temporary file, so that it can be edited and re-used, instead of 12 | having to recreate it each time, or fetch it from .git/COMMIT_MSG. 13 | 14 | Signed-off-by: Andreas Dilger 15 | 16 | Change-Id: 0cb839bbc0ebcea4fcf515a5da2221c8f1b353ac 17 | -------------------------------------------------------------------------------- /contrib/git-hooks/tests/commit.ok_dupsign: -------------------------------------------------------------------------------- 1 | LU-553 build: improve checks for commit-msg 2 | 3 | Improve the checks done by the commit-msg script. It now ensures 4 | that all the parts of the commit message are present. 5 | - validate that the Change-Id: generated from 'git hash-object' is 6 | not empty, since this can happen if git is unhappy with the options 7 | - check for only one Change-Id: line (multiple Signed-off-by: OK) 8 | - describe the "component:" field better, with examples 9 | 10 | If there was an error committing the message, save a copy to a 11 | temporary file, so that it can be edited and re-used, instead of 12 | having to recreate it each time, or fetch it from .git/COMMIT_MSG. 13 | 14 | Signed-off-by: Andreas Dilger 15 | Signed-off-by: Andrew Dillinger 16 | -------------------------------------------------------------------------------- /ldiskfs/kernel_patches/patches/rhel7.6/ext4-mmp-brelse.patch: -------------------------------------------------------------------------------- 1 | --- linux-stage.orig/fs/ext4/mmp.c 2015-10-06 08:21:12.013939184 +0530 2 | +++ linux-stage/fs/ext4/mmp.c 2015-10-06 08:20:35.242939292 +0530 3 | @@ -99,8 +99,11 @@ static int read_mmp_block(struct super_b 4 | 5 | mmp = (struct mmp_struct *)((*bh)->b_data); 6 | if (le32_to_cpu(mmp->mmp_magic) != EXT4_MMP_MAGIC || 7 | - !ext4_mmp_csum_verify(sb, mmp)) 8 | + !ext4_mmp_csum_verify(sb, mmp)) { 9 | + brelse(*bh); 10 | + *bh = NULL; 11 | return -EINVAL; 12 | + } 13 | 14 | return 0; 15 | } 16 | @@ -219,6 +221,7 @@ static int kmmpd(void *data) 17 | "The filesystem seems to have been" 18 | " multiply mounted."); 19 | ext4_error(sb, "abort"); 20 | + put_bh(bh_check); 21 | goto failed; 22 | } 23 | put_bh(bh_check); 24 | -------------------------------------------------------------------------------- /lustre/tests/lutf/src/lutf_message.h: -------------------------------------------------------------------------------- 1 | #ifndef LUTF_MESSAGE_H 2 | #define LUTF_MESSAGE_H 3 | 4 | #include "lutf_common.h" 5 | 6 | typedef enum { 7 | EN_MSG_TYPE_HB = 0, 8 | EN_MSG_TYPE_GET_NUM_AGENTS, 9 | EN_MSG_TYPE_RPC_REQUEST, 10 | EN_MSG_TYPE_RPC_RESPONSE, 11 | EN_MSG_TYPE_MAX 12 | } lutf_msg_type_t; 13 | 14 | typedef struct lutf_message_hdr_s { 15 | lutf_msg_type_t type; 16 | unsigned int len; 17 | struct in_addr ip; 18 | unsigned int version; 19 | } lutf_message_hdr_t; 20 | 21 | typedef struct lutf_msg_hb_s { 22 | unsigned int telnet_port; 23 | lutf_type_t node_type; 24 | char node_name[MAX_STR_LEN]; 25 | char node_hostname[MAX_STR_LEN]; 26 | } lutf_msg_hb_t; 27 | 28 | typedef struct lutf_msg_num_agents_query_s { 29 | int num_agents; 30 | } lutf_msg_num_agents_query_t; 31 | 32 | #endif /* LUTF_MESSAGE_H */ 33 | -------------------------------------------------------------------------------- /lustre/scripts/license-status: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # license-status - Display the status of files in the current directory 3 | # Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. 4 | # 5 | # This code is issued under the GNU General Public License. 6 | # See the file COPYING in this distribution 7 | # 8 | # Gordon Matzigkeit , 2001-09-27 9 | 10 | for f in `find . -type f | sort`; do 11 | case "$f" in 12 | *~ | *.orig | *.gz | */config.* | *.o | \ 13 | */CVS/* | */.cvsignore | */.depfiles/* | \ 14 | */COPYING | */ChangeLog) 15 | continue 16 | ;; 17 | esac 18 | 19 | if head -20 "$f" | egrep -e 'GNU' > /dev/null; then 20 | echo "gpled $f" 21 | elif head -20 "$f" | egrep -e '\([Cc]\)' > /dev/null; then 22 | echo "copyrighted $f" 23 | else 24 | echo "bare $f" 25 | fi 26 | done | sort 27 | -------------------------------------------------------------------------------- /contrib/lbuild/rhel7/kmodtool.patch: -------------------------------------------------------------------------------- 1 | lbuild does not install the kernel source in the standard RHEL7 location. 2 | RHEL's kmodtool (starting in RHEL7) expects the source to be in the standard 3 | location, and when it fails to find it it adds an extra $arch onto the end 4 | of verrel. With lbuild, verrel already contains the arch, so we change the 5 | kmodtool script so that it does not add another. 6 | 7 | --- old/kmodtool 2016-06-07 14:36:20.810907740 -0700 8 | +++ new/kmodtool 2016-06-07 14:37:55.335652424 -0700 9 | @@ -62,7 +62,7 @@ get_kernel_release () 10 | local versuffix=${verrel#$verprefix} 11 | verrel=$(ls -Ud /usr/src/kernels/$verprefix*$versuffix.$arch | sort -V | tail -n 1) 12 | verrel=${verrel##*/} 13 | - [[ -z $verrel ]] && verrel=$1.$arch 14 | + [[ -z $verrel ]] && verrel=$1 15 | echo "$verrel" 16 | } 17 | 18 | -------------------------------------------------------------------------------- /lustre/utils/gss/krb5_util.h: -------------------------------------------------------------------------------- 1 | #ifndef KRB5_UTIL_H 2 | #define KRB5_UTIL_H 3 | 4 | #include 5 | 6 | /* 7 | * List of principals from our keytab that we 8 | * may try to get credentials for 9 | */ 10 | struct gssd_k5_kt_princ { 11 | struct gssd_k5_kt_princ *next; 12 | krb5_principal princ; 13 | unsigned int fl_root:1, 14 | fl_mds:1; 15 | char *ccname; 16 | char *realm; 17 | krb5_timestamp endtime; 18 | }; 19 | 20 | 21 | void gssd_setup_krb5_user_gss_ccache(uid_t uid, char *servername); 22 | int gssd_get_krb5_machine_cred_list(char ***list); 23 | int gssd_refresh_krb5_machine_creds(void); 24 | void gssd_free_krb5_machine_cred_list(char **list); 25 | void gssd_setup_krb5_machine_gss_ccache(char *servername); 26 | void gssd_destroy_krb5_machine_creds(void); 27 | void gssd_obtain_kernel_krb5_info(void); 28 | 29 | 30 | #endif /* KRB5_UTIL_H */ 31 | -------------------------------------------------------------------------------- /contrib/git-hooks/tests/commit.dupcid: -------------------------------------------------------------------------------- 1 | LU-553 build: improve checks for commit-msg 2 | 3 | Improve the checks done by the commit-msg script. It now ensures 4 | that all the parts of the commit message are present. 5 | - validate that the Change-Id: generated from 'git hash-object' is 6 | not empty, since this can happen if git is unhappy with the options 7 | - check for only one Change-Id: line (multiple Signed-off-by: OK) 8 | - describe the "component:" field better, with examples 9 | 10 | If there was an error committing the message, save a copy to a 11 | temporary file, so that it can be edited and re-used, instead of 12 | having to recreate it each time, or fetch it from .git/COMMIT_MSG. 13 | 14 | Signed-off-by: Andreas Dilger 15 | Change-Id: Ic228da9320229feaab5f70d2a2f4f4ddc6eb32dc 16 | Change-Id: I15cb3690560400a591598997424cf79dee3a039d 17 | -------------------------------------------------------------------------------- /libcfs/libcfs/Makefile.in: -------------------------------------------------------------------------------- 1 | MODULES = libcfs 2 | 3 | libcfs-linux-objs := linux-prim.o 4 | libcfs-linux-objs += linux-hash.o 5 | libcfs-linux-objs += linux-wait.o 6 | libcfs-linux-objs += glob.o 7 | libcfs-linux-objs += xarray.o 8 | 9 | libcfs-crypto-objs := crypto.o fname.o hkdf.o hooks.o keyring.o 10 | libcfs-crypto-objs += keysetup.o keysetup_v1.o policy.o 11 | 12 | default: all 13 | 14 | libcfs-linux-objs := $(addprefix linux/,$(libcfs-linux-objs)) 15 | libcfs-crypto-objs := $(addprefix crypto/,$(libcfs-crypto-objs)) 16 | 17 | libcfs-all-objs := debug.o fail.o module.o tracefile.o \ 18 | libcfs_string.o hash.o \ 19 | linux-crypto.o linux-crypto-adler.o 20 | 21 | libcfs-objs := $(libcfs-linux-objs) $(libcfs-all-objs) 22 | @LLCRYPT_TRUE@libcfs-objs += $(libcfs-crypto-objs) 23 | 24 | EXTRA_PRE_CFLAGS := -I@LUSTRE@/../libcfs/libcfs 25 | 26 | @INCLUDE_RULES@ 27 | -------------------------------------------------------------------------------- /lustre/utils/gss/l_idmap.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | /* For basename() */ 6 | #include 7 | #include "lsupport.h" 8 | 9 | int main(int argc, char **argv) 10 | { 11 | lnet_nid_t nid; 12 | uid_t uid; 13 | int rc; 14 | 15 | if (argc < 3) { 16 | printf("Usage:\n" 17 | "%s \n", 18 | basename(argv[0])); 19 | return 1; 20 | } 21 | 22 | nid = libcfs_str2nid(argv[2]); 23 | if (nid == LNET_NID_ANY) { 24 | printf("parse nid %s failed\n", argv[2]); 25 | return 1; 26 | } 27 | rc = lookup_mapping(argv[1], nid, &uid); 28 | if (rc == -1) { 29 | printf("lookup mapping failed\n"); 30 | return 1; 31 | } 32 | 33 | printf("principal: %s\n" 34 | "nid: %#llx\n" 35 | "uid: %u\n", 36 | argv[1], nid, uid); 37 | 38 | return 0; 39 | } 40 | -------------------------------------------------------------------------------- /ldiskfs/Makefile.in: -------------------------------------------------------------------------------- 1 | default: all 2 | 3 | MODULES := ldiskfs 4 | 5 | # copy makefile over to not break patches 6 | backfs_extra := $(wildcard @LINUX@/fs/ext4/Makefile) 7 | 8 | backfs_headers := $(wildcard @EXT4_SRC_DIR@/*.h) 9 | linux_headers := $(wildcard @LINUX@/include/linux/ext4*.h) 10 | linux_new_headers := htree_lock.h 11 | trace_headers := $(wildcard @LINUX@/include/trace/events/ext4*.h) 12 | 13 | backfs_sources := $(filter-out %.mod.c %/inode-test.c @EXT4_CRYPTO@,$(wildcard @EXT4_SRC_DIR@/*.c)) 14 | 15 | new_sources := mmp.c htree_lock.c critical_encode.h 16 | new_headers := 17 | 18 | ldiskfs_patched_sources := $(notdir $(backfs_sources) $(backfs_headers)) $(new_sources) $(new_headers) 19 | ldiskfs_sources := $(ldiskfs_patched_sources) 20 | 21 | ldiskfs-objs := $(filter %.o,$(ldiskfs_sources:.c=.o)) 22 | 23 | EXTRA_PRE_CFLAGS := -I@LINUX@/fs -I@abs_top_srcdir@/ldiskfs 24 | 25 | @INCLUDE_RULES@ 26 | -------------------------------------------------------------------------------- /lustre/kernel_patches/patches/raid5-mmp-unplug-dev-rhel7.6.patch: -------------------------------------------------------------------------------- 1 | Index: linux-3.10.0-957.el7.x86_64/drivers/md/raid5.c 2 | =================================================================== 3 | --- linux-3.10.0-957.el7.x86_64.orig/drivers/md/raid5.c 4 | +++ linux-3.10.0-957.el7.x86_64/drivers/md/raid5.c 5 | @@ -3266,6 +3266,8 @@ static int add_stripe_bio(struct stripe_ 6 | *bip = bi; 7 | bio_inc_remaining(bi); 8 | md_write_inc(conf->mddev, bi); 9 | + if ((bi->bi_rw & REQ_SYNC) && !forwrite) 10 | + clear_bit(R5_UPTODATE, &sh->dev[dd_idx].flags); /* force to read from disk. */ 11 | 12 | if (forwrite) { 13 | /* check if page is covered */ 14 | @@ -5753,6 +5755,10 @@ static bool raid5_make_request(struct md 15 | if (rw == WRITE) 16 | md_write_end(mddev); 17 | bio_endio(bi, 0); 18 | + 19 | + if (bi->bi_rw & REQ_SYNC) 20 | + md_wakeup_thread(mddev->thread); 21 | + 22 | return true; 23 | } 24 | 25 | -------------------------------------------------------------------------------- /LUSTRE-VERSION-GEN: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | DEFAULT_VERSION=2.15.7 4 | LVF=LUSTRE-VERSION-FILE 5 | 6 | LF=' 7 | ' 8 | 9 | if test -d ${GIT_DIR:-.git} -o -f .git && 10 | VN=$(git describe --match "[0-9]*" --abbrev=7 HEAD 2>/dev/null) && 11 | case "$VN" in 12 | *$LF*) (exit 1) ;; 13 | [0-9]*) 14 | git update-index -q --refresh 15 | test -z "$(git diff-index --name-only HEAD --)" || 16 | VN="$VN-dirty" ;; 17 | esac 18 | then 19 | VN=$(echo "$VN" | sed -e 's/-/_/g'); 20 | elif test -r $LVF 21 | then 22 | VN=$(sed -e 's/^LUSTRE_VERSION = //' <$LVF) 23 | else 24 | VN="$DEFAULT_VERSION" 25 | fi 26 | 27 | if test -r $LVF 28 | then 29 | VC=$(sed -e 's/^LUSTRE_VERSION = //' <$LVF) 30 | else 31 | VC=unset 32 | fi 33 | test "$VN" = "$VC" || { 34 | echo "LUSTRE_VERSION = $VN" >$LVF 35 | } 36 | 37 | echo $VN 38 | -------------------------------------------------------------------------------- /lustre/doc/llapi_param_get_paths.3: -------------------------------------------------------------------------------- 1 | .TH llapi_param_get_paths 3 "2020 Feb 24" "Lustre User API" 2 | .SH NAME 3 | llapi_param_get_paths \- get a list of Lustre parameter file paths 4 | that match the given pattern 5 | .SH SYNOPSIS 6 | .B #include 7 | .nf 8 | .BI "int llapi_param_get_paths(const char" " *pattern, " "glob_t" \ 9 | " *paths" ")" 10 | .SH DESCRIPTION 11 | The 12 | .B llapi_param_get_paths(\|) 13 | function searches the locations in the filesystem that expose 14 | Lustre parameters. All file names that match 15 | .I pattern 16 | and are in 17 | the correct locations in the file system are returned. 18 | 19 | .SH RETURN VALUES 20 | .TP 21 | .B 0 22 | on success with the parameter paths stored in 23 | .IR paths . 24 | .TP 25 | -ve 26 | error code on failure and sets errno appropriately. 27 | 28 | .SH SEE ALSO 29 | .BR llapi_param_get_value (3), 30 | .BR lustreapi (7), 31 | .BR lctl-get_param (8) 32 | -------------------------------------------------------------------------------- /lustre/tests/lutf/swig_templates/liblnetconfig.template: -------------------------------------------------------------------------------- 1 | %inline %{ 2 | PyObject *lutf_parse_nidlist(char *str, int len, int max_nids) { 3 | int rc, num_nids, i; 4 | lnet_nid_t *nidl = calloc(sizeof(*nidl) * max_nids, 1); 5 | struct list_head *l = calloc(sizeof(*l), 1); 6 | PyObject *pylist; 7 | if (!l || !nidl) { 8 | if (l) 9 | free(l); 10 | if (nidl) 11 | free(nidl); 12 | return NULL; 13 | } 14 | INIT_LIST_HEAD(l); 15 | rc = cfs_parse_nidlist(str, len, l); 16 | if (!rc) { 17 | free(l); 18 | return NULL; 19 | } 20 | num_nids = cfs_expand_nidlist(l, nidl, max_nids); 21 | cfs_free_nidlist(l); 22 | pylist = PyList_New(num_nids); 23 | for (i = 0; i < num_nids; i++) { 24 | PyList_SetItem(pylist, i, PyLong_FromUnsignedLongLong(nidl[i])); 25 | } 26 | free(l); 27 | free(nidl); 28 | return pylist; 29 | } 30 | char *lutf_nid2str(unsigned long nid) { 31 | return libcfs_nid2str(nid); 32 | } 33 | %} 34 | 35 | -------------------------------------------------------------------------------- /contrib/scripts/crypto_patches/series: -------------------------------------------------------------------------------- 1 | contrib/scripts/crypto_patches/0001_llcrypt_private_include.patch 2 | contrib/scripts/crypto_patches/0002_dcache_encrypted_name.patch 3 | contrib/scripts/crypto_patches/0003_keyring_search_4args.patch 4 | contrib/scripts/crypto_patches/0004_master_keys.patch 5 | contrib/scripts/crypto_patches/0005_crypto_tfm_req_forbid_weak_keys.patch 6 | contrib/scripts/crypto_patches/0006_bvec_iter_all.patch 7 | contrib/scripts/crypto_patches/0007_crypto_init.patch 8 | contrib/scripts/crypto_patches/0008_key_desc_prefix.patch 9 | contrib/scripts/crypto_patches/0009_lsi_cop.patch 10 | contrib/scripts/crypto_patches/0010_llcrypt_info.patch 11 | contrib/scripts/crypto_patches/0011_llcrypt_cleanup.patch 12 | contrib/scripts/crypto_patches/0012_igrab.patch 13 | contrib/scripts/crypto_patches/0013_dentry_path_raw.patch 14 | contrib/scripts/crypto_patches/0014_cdebug.patch 15 | contrib/scripts/crypto_patches/0015_llcrypt_include.patch 16 | -------------------------------------------------------------------------------- /lustre-iokit/ost-survey/README.ost-survey: -------------------------------------------------------------------------------- 1 | ost-survey (OST performance survey) 2 | =================================== 3 | This script is designed to test the client-to-disk performance 4 | of the individual OSTs in a Lustre filesystem. The network transfer 5 | time from the client is included; to get a better idea of the isolated 6 | disk perfomance, run this script on a client running on the OST. 7 | 8 | Syntax: 9 | $ ost-survey [-h] [-s ] 10 | where -s : size in MB 11 | -h : help 12 | : mount point of lustre client 13 | 14 | Assumptions 15 | - Lustre filesystem is up and running 16 | - Script is being run on a client 17 | 18 | 19 | iokit-plot-ost (OST survey graph) 20 | =========================== 21 | The iokit-plot-ost script can be used to plot the results from the 22 | ost-survey script using gnuplot. 23 | 24 | Syntax: $ ost-survey /mnt/lustre > ost_log 25 | $ iokit-plot-ost ost_log 26 | 27 | -------------------------------------------------------------------------------- /lustre/tests/lutf/python/infra/lutf_utils.py: -------------------------------------------------------------------------------- 1 | import random, os, threading 2 | 3 | class LutfThread(threading.Thread): 4 | def __init__(self, name, function, exception=False, *args, **kwargs): 5 | threading.Thread.__init__(self) 6 | self.name = name 7 | self.thread_id = threading.get_ident() 8 | self.rc = None 9 | self.exception = exception 10 | self.args = args 11 | self.kwargs = kwargs 12 | self.function = function 13 | 14 | def run(self): 15 | self.rc = self.function(*self.args, **self.kwargs) 16 | 17 | def raise_exception(self): 18 | res = ctypes.pythonapi.PyThreadState_SetAsyncExc(self.thread_id, 19 | ctypes.py_object(SystemExit)) 20 | if res > 1: 21 | ctypes.pythonapi.PyThreadState_SetAsyncExc(self.thread_id, 0) 22 | 23 | def generate_random_int_array(size, minimum=1, maximum=3000): 24 | return random.sample(range(minimum, maximum), size) 25 | 26 | def generate_random_bytes(size): 27 | return os.urandom(size) 28 | -------------------------------------------------------------------------------- /contrib/scripts/confirmpatches.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | PROG=$(basename $0) 3 | [ "$1" = "-h" -o "$1" = "--help" ] && echo "usage: $PROG [patch dir]" && exit 0 4 | [ "$1" = "-v" ] && shift && VERBOSE="echo" || VERBOSE=":" 5 | 6 | [ "$1" ] && BASEDIR="$1" 7 | BASEDIR=${BASEDIR:-lustre/kernel_patches} 8 | SERIESPATH=${SERIESPATH:-$BASEDIR/series} 9 | PATCHPATH=${PATCHPATH:-$BASEDIR/patches} 10 | 11 | [ ! -d "$BASEDIR" ] && echo "$PROG: missing base directory '$BASEDIR'" && exit 1 12 | [ ! -d "$SERIESPATH" ] && echo "$PROG: missing series '$SERIESPATH'" && exit 2 13 | [ ! -d "$PATCHPATH" ] && echo "$PROG: missing patches '$PATCHPATH'" && exit 3 14 | 15 | for SERIES in $(ls $SERIESPATH | egrep -v "~$|.orig|.rej") ; do 16 | $VERBOSE "series: $SERIES" 17 | for PATCH in $(grep -v "^#" $SERIESPATH/$SERIES); do 18 | $VERBOSE $PATCH 19 | if [ ! -e $PATCHPATH/$PATCH ]; then 20 | echo "$SERIESPATH/$SERIES: patch '$PATCH' not found!" 21 | fi 22 | done 23 | done 24 | -------------------------------------------------------------------------------- /contrib/scripts/crypto_patches/0007_crypto_init.patch: -------------------------------------------------------------------------------- 1 | Make llcrypt_init visible outside of llcrypt. 2 | 3 | --- a/libcfs/include/libcfs/crypto/llcrypt.h 4 | +++ b/libcfs/include/libcfs/crypto/llcrypt.h 5 | @@ -105,6 +105,7 @@ static inline void llcrypt_handle_d_move 6 | } 7 | 8 | /* crypto.c */ 9 | +extern int __init llcrypt_init(void); 10 | extern void llcrypt_enqueue_decrypt_work(struct work_struct *); 11 | extern struct llcrypt_ctx *llcrypt_get_ctx(gfp_t); 12 | extern void llcrypt_release_ctx(struct llcrypt_ctx *); 13 | --- a/libcfs/libcfs/crypto/crypto.c 14 | +++ b/libcfs/libcfs/crypto/crypto.c 15 | @@ -476,7 +476,7 @@ void llcrypt_msg(const struct inode *ino 16 | /** 17 | * llcrypt_init() - Set up for fs encryption. 18 | */ 19 | -static int __init llcrypt_init(void) 20 | +int __init llcrypt_init(void) 21 | { 22 | int err = -ENOMEM; 23 | 24 | @@ -517,4 +517,3 @@ fail_free_queue: 25 | fail: 26 | return err; 27 | } 28 | -late_initcall(llcrypt_init) 29 | -------------------------------------------------------------------------------- /ldiskfs/kernel_patches/patches/ubuntu18/ext4-jcb-optimization.patch: -------------------------------------------------------------------------------- 1 | Change list_add_tail to list_add. It gives advantages to ldiskfs 2 | in tgt_cb_last_committed. In the beginning of list will be placed 3 | thandles with the highest transaction numbers. So at the first 4 | iterations we will have the highest transno. It will save from 5 | extra call of ptlrpc_commit_replies. 6 | 7 | Index: linux-4.15.0/fs/ext4/ext4_jbd2.h 8 | =================================================================== 9 | --- linux-4.15.0.orig/fs/ext4/ext4_jbd2.h 10 | +++ linux-4.15.0/fs/ext4/ext4_jbd2.h 11 | @@ -172,7 +172,7 @@ static inline void _ext4_journal_callbac 12 | struct ext4_journal_cb_entry *jce) 13 | { 14 | /* Add the jce to transaction's private list */ 15 | - list_add_tail(&jce->jce_list, &handle->h_transaction->t_private_list); 16 | + list_add(&jce->jce_list, &handle->h_transaction->t_private_list); 17 | } 18 | 19 | static inline void ext4_journal_callback_add(handle_t *handle, 20 | -------------------------------------------------------------------------------- /contrib/scripts/crypto_patches/0008_key_desc_prefix.patch: -------------------------------------------------------------------------------- 1 | Keep 'fscrypt' as key desc prefix, for compatibility with third party tools. 2 | 3 | --- a/libcfs/include/uapi/linux/llcrypt.h 4 | +++ b/libcfs/include/uapi/linux/llcrypt.h 5 | @@ -48,7 +48,7 @@ struct llcrypt_policy_v1 { 6 | * Process-subscribed "logon" key description prefix and payload format. 7 | * Deprecated; prefer LL_IOC_ADD_ENCRYPTION_KEY instead. 8 | */ 9 | -#define LLCRYPT_KEY_DESC_PREFIX "llcrypt:" 10 | +#define LLCRYPT_KEY_DESC_PREFIX "fscrypt:" 11 | #define LLCRYPT_KEY_DESC_PREFIX_SIZE 8 12 | #define LLCRYPT_MAX_KEY_SIZE 64 13 | struct llcrypt_key { 14 | --- a/libcfs/libcfs/crypto/hkdf.c 15 | +++ b/libcfs/libcfs/crypto/hkdf.c 16 | @@ -129,7 +129,7 @@ int llcrypt_hkdf_expand(struct llcrypt_h 17 | 18 | desc->tfm = hkdf->hmac_tfm; 19 | 20 | - memcpy(prefix, "llcrypt\0", 8); 21 | + memcpy(prefix, "fscrypt\0", 8); 22 | prefix[8] = context; 23 | 24 | for (i = 0; i < okmlen; i += HKDF_HASHLEN) { 25 | -------------------------------------------------------------------------------- /lustre/doc/llapi_pccdev_get.3: -------------------------------------------------------------------------------- 1 | .TH llapi_pccdev_get 3 "2019 April 20" "Lustre User API" 2 | .SH NAME 3 | llapi_pccdev_get \- List all PCC backends on a client 4 | .SH SYNOPSIS 5 | .nf 6 | .B #include 7 | .PP 8 | .BI "int llapi_pccdev_get(const char *" path ");" 9 | .fi 10 | .SH DESCRIPTION 11 | .PP 12 | The function 13 | .BR llapi_pccdev_get() 14 | lists all PCC backends on the client with the mount point referenced by 15 | .IR path , 16 | and output the results to stdout in YAML format. 17 | .SH RETURN VALUES 18 | .PP 19 | .B llapi_pccdev_get() 20 | return 0 on success or a negative errno value on failure. 21 | .SH ERRORS 22 | .TP 15 23 | .SM -ENOMEM 24 | Insufficient memory to complete operation. 25 | .TP 26 | .SM -EFAULT 27 | Memory region is not properly mapped. 28 | .TP 29 | .SM -EINVAL 30 | One or more invalid arguments are given. 31 | .TP 32 | .SM -EOPNOTSUPP 33 | PCC backend operation is not supported. 34 | .SH "SEE ALSO" 35 | .BR llapi_pccdev_set (3) 36 | .BR lustreapi (7) 37 | -------------------------------------------------------------------------------- /ldiskfs/kernel_patches/patches/rhel8/ext4-old_ea_inodes_handling_fix.patch: -------------------------------------------------------------------------------- 1 | Index: linux-stage/fs/ext4/xattr.c 2 | =================================================================== 3 | --- linux-stage.orig/fs/ext4/xattr.c 4 | +++ linux-stage/fs/ext4/xattr.c 5 | @@ -415,10 +415,11 @@ static int ext4_xattr_inode_iget(struct 6 | 7 | /* 8 | * Check whether this is an old Lustre-style xattr inode. Lustre 9 | - * implementation does not have hash validation, rather it has a 10 | - * backpointer from ea_inode to the parent inode. 11 | + * implementation sets ea_inode->i_atime.tv_sec to 0 12 | + * (when md csum is off, means always) 13 | + * and backpointer from ea_inode to the parent inode. 14 | */ 15 | - if (ea_inode_hash != ext4_xattr_inode_get_hash(inode) && 16 | + if (ext4_xattr_inode_get_hash(inode) == 0 && 17 | EXT4_XATTR_INODE_GET_PARENT(inode) == parent->i_ino && 18 | inode->i_generation == parent->i_generation) { 19 | ext4_set_inode_state(inode, EXT4_STATE_LUSTRE_EA_INODE); 20 | -------------------------------------------------------------------------------- /lustre/tests/acl/make-tree: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # reduce LEVELS from 3 => 2 by CFS 4 | LEVELS=2 ; [ -z "$1" ] || LEVELS=$1 5 | DIRS=10 ; [ -z "$2" ] || DIRS=$2 6 | FILES=10 ; [ -z "$2" ] || FILES=$3 7 | NUMBER_OF_ACLS=50 ; [ -z "$3" ] || NUMBER_OF_ACLS=$4 8 | 9 | function random_dir() { 10 | mkdir -p $1 11 | #setfacl -s "u::rwx,u:$[($RANDOM % $NUMBER_OF_ACLS)+1000]:rwx,g::rx,o:-" $1 12 | } 13 | 14 | function random_file() { 15 | touch $1 16 | #setfacl -s "u::rw,u:$[($RANDOM % $NUMBER_OF_ACLS)+1000]:rw,g::r,o:-" $1 17 | } 18 | 19 | function create () { 20 | local LEVEL=$1 21 | if [ $LEVEL -eq 0 ]; then 22 | local I=0 23 | while [ $I -lt $FILES ]; do 24 | random_file file$I 25 | I=$[$I+1] 26 | done 27 | else 28 | local I=0 29 | while [ $I -lt $DIRS ]; do 30 | random_dir dir$I 31 | cd dir$I 32 | create $[$LEVEL-1] 33 | cd .. 34 | I=$[$I+1] 35 | done 36 | fi 37 | return 38 | } 39 | 40 | mkdir -p tree 41 | cd tree 42 | create $LEVELS 43 | cd .. 44 | exit 0 45 | 46 | -------------------------------------------------------------------------------- /lustre-iokit/README: -------------------------------------------------------------------------------- 1 | This bundle includes four tools: 2 | In order of preference: 3 | 4 | sgpdd-survey: - a test of the 'bare metal' performance, bypassing 5 | as much of the kernel as we can. Does not require Lustre, does 6 | require the sgp_dd package. WILL ERASE ALL DATA ON DEVICE. 7 | 8 | obdfilter-survey: 9 | Shell script - tests performance of isolated OSTS, network 10 | via echo clients, end-to-end test. 11 | 12 | obdsurvey: - a test of Lustre performance with three modes: 13 | Maintained by Scali, included here as an extra. 14 | Requires Python > 2.2 15 | Requires Lustre 16 | 17 | - local disk test - requires one OST 18 | - network performance test - requires two Lustre machines 19 | - network + disk test - requires Lustre filesystem and client 20 | 21 | ior-survey: 22 | A script to run the IOR benchmark. Version 2.8.6 of IOR is included 23 | 24 | ost-survey: 25 | This is OST performance survey, designed to test the client-to-disk 26 | performance of the individual OSTs in a Lustre filesystem. 27 | -------------------------------------------------------------------------------- /ldiskfs/kernel_patches/patches/rhel7.6/ext4-jcb-optimization.patch: -------------------------------------------------------------------------------- 1 | Change list_add_tail to list_add. It gives advantages to ldiskfs 2 | in tgt_cb_last_committed. In the beginning of list will be placed 3 | thandles with the highest transaction numbers. So at the first 4 | iterations we will have the highest transno. It will save from 5 | extra call of ptlrpc_commit_replies. 6 | 7 | Index: linux-3.10.0-229.1.2.fc21.x86_64/fs/ext4/ext4_jbd2.c 8 | =================================================================== 9 | --- linux-3.10.0-229.1.2.fc21.x86_64.orig/fs/ext4/ext4_jbd2.h 10 | +++ linux-3.10.0-229.1.2.fc21.x86_64/fs/ext4/ext4_jbd2.h 11 | @@ -3644,7 +3644,7 @@ void ext4_truncate(struct inode *inode) 12 | /* Add the jce to transaction's private list */ 13 | jce->jce_func = func; 14 | spin_lock(&sbi->s_md_lock); 15 | - list_add_tail(&jce->jce_list, &handle->h_transaction->t_private_list); 16 | + list_add(&jce->jce_list, &handle->h_transaction->t_private_list); 17 | spin_unlock(&sbi->s_md_lock); 18 | } 19 | 20 | -------------------------------------------------------------------------------- /lustre/tests/mpi/Makefile.am: -------------------------------------------------------------------------------- 1 | # Lustre MPI test Makefile 2 | AM_CFLAGS := -fPIC -D_GNU_SOURCE -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 3 | 4 | CC = @MPICC_WRAPPER@ 5 | 6 | THETESTS = parallel_grouplock write_append_truncate createmany_mpi \ 7 | mdsrate write_disjoint cascading_rw rr_alloc 8 | 9 | if TESTS 10 | if MPITESTS 11 | if RHEL 12 | testdir = @MPI_BIN@ 13 | else 14 | testdir = $(libdir)/lustre/tests 15 | endif 16 | test_PROGRAMS = $(THETESTS) 17 | else 18 | noinst_PROGRAMS = $(THETESTS) 19 | endif 20 | endif 21 | 22 | write_append_truncate_SOURCES=write_append_truncate.c 23 | write_disjoint_SOURCES=write_disjoint.c 24 | createmany_mpi_SOURCES=createmany-mpi.c 25 | parallel_grouplock_SOURCES=parallel_grouplock.c lp_utils.c lp_utils.h 26 | rr_alloc_SOURCES=rr_alloc.c 27 | 28 | cascading_rw_SOURCES=cascading_rw.c lp_utils.c lp_utils.h 29 | cascading_rw_LDADD=$(top_builddir)/lustre/utils/liblustreapi.la 30 | 31 | mdsrate_SOURCES=mdsrate.c 32 | mdsrate_LDADD=$(top_builddir)/lustre/utils/liblustreapi.la 33 | -------------------------------------------------------------------------------- /lustre/doc/lctl-nodemap-activate.8: -------------------------------------------------------------------------------- 1 | .TH LCTL-NODEMAP_ACTIVATE 8 "2015-01-20" Lustre "configuration utilities" 2 | .SH NAME 3 | lctl-nodemap_activate \- activate or deactivate the nodemap feature 4 | .SH SYNOPSIS 5 | .br 6 | .B lctl nodemap_activate "<0|1>" 7 | .br 8 | .SH DESCRIPTION 9 | .B nodemap_activate 10 | is used to activate or deactivate the nodemap feature. When nodemap is 11 | active, all client operations are mapped based on rules created by the 12 | administrator. 13 | 14 | .SH OPTIONS 15 | Passing 0 disables the nodemap feature, while 1 activates the feature. 16 | 17 | .SH EXAMPLES 18 | .nf 19 | # lctl nodemap_activate 1 20 | .fi 21 | 22 | .SH AVAILABILITY 23 | .B lctl 24 | is part of the 25 | .BR Lustre (7) 26 | filesystem package. 27 | .SH SEE ALSO 28 | .BR lustre (7), 29 | .BR lctl-nodemap-add (8), 30 | .BR lctl-nodemap-del (8), 31 | .BR lctl-nodemap-add-range (8), 32 | .BR lctl-nodemap-del-range (8), 33 | .BR lctl-nodemap-add-idmap (8), 34 | .BR lctl-nodemap-del-idmap (8), 35 | .BR lctl-nodemap-modify (8) 36 | -------------------------------------------------------------------------------- /lustre/doc/llapi_layout_file_comp_add.3: -------------------------------------------------------------------------------- 1 | .TH llapi_layout_file_comp_add 3 "2017 Apr 7" "Lustre User API" 2 | .SH NAME 3 | llapi_layout_file_comp_add \- add one or more components into an 4 | existing file. 5 | .SH SYNOPSIS 6 | .nf 7 | .B #include 8 | .PP 9 | .BI "int llapi_layout_file_comp_add(const char *" path ", 10 | .BI " const struct llapi_layout *" layout ); 11 | .fi 12 | .SH DESCRIPTION 13 | .PP 14 | Add component(s) specified in 15 | .I layout 16 | into the existing file 17 | .IR path . 18 | .PP 19 | .SH RETURN VALUES 20 | Return 0 on success, or -1 if an error occurred (in which case, errno is 21 | set appropriately). 22 | .SH ERRORS 23 | .TP 15 24 | .SM EINVAL 25 | An invalid argument was specified. 26 | .TP 27 | .SM ENOENT 28 | .I path 29 | doesn't exist. 30 | .SH "SEE ALSO" 31 | .BR llapi_layout_alloc (3), 32 | .BR llapi_layout_file_open (3), 33 | .BR llapi_layout_comp_add (3), 34 | .BR llapi_layout_comp_del (3), 35 | .BR llapi_layout (7), 36 | .BR lustreapi (7) 37 | -------------------------------------------------------------------------------- /lustre/tests/maloo_upload.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | FILENAME=$1 6 | 7 | if [ -r ~/.maloorc ] ; then 8 | source ~/.maloorc 9 | else 10 | echo "Error: ~/.maloorc not found." \ 11 | "Please obtain this file from the maloo web interface," \ 12 | "under 'Upload results'" 13 | exit 1 14 | fi 15 | 16 | if [ -z $FILENAME ] ; then 17 | echo "Usage: ${0} " 18 | exit 2 19 | fi 20 | 21 | if [ ! -r $FILENAME ] ; then 22 | echo "Input file '$FILENAME' not found" 23 | exit 3 24 | fi 25 | 26 | echo Uploading $FILENAME to $MALOO_URL 27 | if [ -d $FILENAME ] ; then 28 | pushd $FILENAME 29 | tar czf upload.tar.gz * | 30 | curl -F "user_id=${MALOO_USER_ID}" -F "upload=@upload.tar.gz" \ 31 | -F "user_upload_token=${MALOO_UPLOAD_TOKEN}" ${MALOO_URL} \ 32 | > /dev/null 33 | popd 34 | else 35 | curl -F "user_id=${MALOO_USER_ID}" -F "upload=@${FILENAME}" \ 36 | -F "user_upload_token=${MALOO_UPLOAD_TOKEN}" ${MALOO_URL} \ 37 | > /dev/null 38 | fi 39 | echo Complete. 40 | -------------------------------------------------------------------------------- /lustre/tests/acl/cp.test: -------------------------------------------------------------------------------- 1 | The cp utility should only copy ACLs if `-p' is given. 2 | 3 | $ umask 022 4 | $ mkdir d 5 | $ cd d 6 | $ touch f 7 | $ setfacl -m u:bin:rw f 8 | $ ls -l f | awk -- '{ print $1 }' 9 | > -rw-rw-r--+ 10 | 11 | $ cp f g 12 | $ ls -l g | awk -- '{sub(/\\./, "", $1); print $1 }' 13 | > -rw-r--r-- 14 | 15 | $ rm g 16 | $ cp -p f g 17 | $ ls -l f | awk -- '{ print $1 }' 18 | > -rw-rw-r--+ 19 | 20 | $ mkdir h 21 | $ echo blubb > h/x 22 | $ cp -rp h i 23 | $ cat i/x 24 | > blubb 25 | 26 | $ rm -r i 27 | 28 | Use to be "$setfacl -R -m u:bin:rwX h", but RHEL4 uncorrectly set the x flag, 29 | so we change to the following test 30 | 31 | $ setfacl -R -m u:bin:rwx h 32 | $ getfacl --omit-header h/x 33 | > user::rw- 34 | > user:bin:rwx 35 | > group::r-- 36 | > mask::rwx 37 | > other::r-- 38 | > 39 | 40 | $ cp -rp h i 41 | $ getfacl --omit-header i/x 42 | > user::rw- 43 | > user:bin:rwx 44 | > group::r-- 45 | > mask::rwx 46 | > other::r-- 47 | > 48 | 49 | $ cd .. 50 | $ rm -r d 51 | -------------------------------------------------------------------------------- /lustre/conf/ko2iblnd.conf: -------------------------------------------------------------------------------- 1 | # Currently it isn't possible to auto-tune the o2iblnd parameters optimally 2 | # inside the kernel since the OFED API hides the details from us. 3 | # Unfortunately, there isn't a single set of parameters that provide optimal 4 | # performance on different HCA/HFI types. This file provides optimized 5 | # tunables for the OPA cards. 6 | # 7 | # ** Please note that the below settings are the recommended settings only for 8 | # OPA cards. If other IB cards are also present along with OPA cards then 9 | # these settings will be applied across all the configured IB interfaces. 10 | # 11 | # Card detection and tunable selection is handled via /usr/sbin/ko2iblnd-probe 12 | # at runtime when the ko2iblnd module is installed, either at boot or when 13 | # Lustre is first mounted. 14 | 15 | alias ko2iblnd-opa ko2iblnd 16 | options ko2iblnd-opa peer_credits=32 peer_credits_hiw=16 credits=1024 ntx=2048 map_on_demand=32 fmr_pool_size=2048 fmr_flush_trigger=512 fmr_cache=1 17 | 18 | install ko2iblnd /usr/sbin/ko2iblnd-probe 19 | -------------------------------------------------------------------------------- /lustre/doc/lctl-nodemap-del.8: -------------------------------------------------------------------------------- 1 | .TH LCTL-NODEMAP_DEL 8 "2015-01-20" Lustre "configuration utilities" 2 | .SH NAME 3 | lctl-nodemap_del \- delete an existing nodemap 4 | .SH SYNOPSIS 5 | .br 6 | .B lctl nodemap_del "" 7 | .br 8 | .SH DESCRIPTION 9 | .B nodemap_del deletes an existing nodemap. All of the associated mappings and 10 | NID ranges will be removed as well, and existing clients will be moved to the 11 | default nodemap. 12 | 13 | .SH OPTIONS 14 | .I name 15 | is the name of the nodemap to delete. The default nodemap cannot be deleted. 16 | 17 | .SH EXAMPLES 18 | .nf 19 | # lctl nodemap_del remotesite 20 | # lctl nodemap_del otherremotesite 21 | .fi 22 | 23 | .SH AVAILABILITY 24 | .B lctl 25 | is part of the 26 | .BR Lustre (7) 27 | filesystem package. 28 | .SH SEE ALSO 29 | .BR lustre (7), 30 | .BR lctl-nodemap-activate (8), 31 | .BR lctl-nodemap-add (8), 32 | .BR lctl-nodemap-add-range (8), 33 | .BR lctl-nodemap-del-range (8), 34 | .BR lctl-nodemap-add-idmap (8), 35 | .BR lctl-nodemap-del-idmap (8), 36 | .BR lctl-nodemap-modify (8) 37 | -------------------------------------------------------------------------------- /contrib/scripts/clearpatches.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | PROG=$(basename $0) 3 | [ "$1" = "-h" -o "$1" = "--help" ] && echo "usage: $PROG [patch dir]" && exit 0 4 | [ "$1" = "-d" ] && shift && DELETE="git rm" || DELETE="echo Unused" 5 | [ "$1" = "-v" ] && shift && VERBOSE="echo Checking" || VERBOSE=":" 6 | 7 | [ "$1" ] && BASEDIR="$1" 8 | BASEDIR=${BASEDIR:-lustre/kernel_patches} 9 | SERIESPATH=${SERIESPATH:-$BASEDIR/series} 10 | PATCHPATH=${PATCHPATH:-$BASEDIR/patches} 11 | 12 | [ ! -d "$BASEDIR" ] && echo "$PROG: missing base directory '$BASEDIR'" && exit 1 13 | [ ! -d "$SERIESPATH" ] && echo "$PROG: missing series '$SERIESPATH'" && exit 2 14 | [ ! -d "$PATCHPATH" ] && echo "$PROG: missing patches '$PATCHPATH'" && exit 3 15 | 16 | CANONICAL_SERIESPATH=$(readlink -f ${SERIESPATH}) 17 | pushd $PATCHPATH > /dev/null 18 | for PATCH in $(find -name "*.patch"); do 19 | # Remove the leading "./" 20 | PATCH=${PATCH##./} 21 | $VERBOSE $PATCH 22 | if ! grep -q -e "^$PATCH" $CANONICAL_SERIESPATH/*.series ; then 23 | $DELETE $PATCH 24 | fi 25 | done 26 | popd > /dev/null 27 | -------------------------------------------------------------------------------- /lustre/doc/llapi_layout_comp_use_id.3: -------------------------------------------------------------------------------- 1 | .TH llapi_layout_comp_use_id 3 "2017 Apr 7" "Lustre User API" 2 | .SH NAME 3 | llapi_layout_comp_use_id \- set currently active component to given ID 4 | .SH SYNOPSIS 5 | .nf 6 | .B #include 7 | .PP 8 | .BI "int llapi_layout_comp_use_id(struct llapi_layout *" layout ", 9 | .BI " uint32_t *" comp_id ); 10 | .fi 11 | .SH DESCRIPTION 12 | .PP 13 | Sets currently active component of 14 | .I layout 15 | to the component with specified 16 | .IR comp_id . 17 | .SH RETURN VALUES 18 | Return 0 on success. Otherwise, if an error occurred -1 is returned and 19 | .I errno 20 | is set appropriately. 21 | .SH ERRORS 22 | .TP 15 23 | .SM ENOENT 24 | No such component ID exists. 25 | .TP 15 26 | .SM EINVAL 27 | An invalid argument was specified. 28 | .SH "SEE ALSO" 29 | .BR llapi_layout_alloc (3), 30 | .BR llapi_layout_file_open (3), 31 | .BR llapi_layout_comp_del (3), 32 | .BR llapi_layout_comp_id_get (3), 33 | .BR llapi_layout_comp_use (3), 34 | .BR llapi_layout (7), 35 | .BR lustreapi (7) 36 | -------------------------------------------------------------------------------- /lustre/doc/lfs-rmfid.1: -------------------------------------------------------------------------------- 1 | .TH LFS-RMFID 1 2017-07-25 "Lustre" "Lustre Utilities" 2 | .SH NAME 3 | lfs rmfid \- remove file by FID 4 | .SH SYNOPSIS 5 | .B lfs rmfid 6 | <\fIdirectory\fR> <\fIFID1\fR> [<\fIFID2\fR>...] 7 | .SH DESCRIPTION 8 | This command removes file(s) specified by the \fIFID\fR. 9 | .br 10 | In some cases it is more optimal to remove files by their FIDs. 11 | The \fBdirectory\fR specifies a mountpoint of Lustre filesystem where given 12 | \fBFIDs\fR are stored. The mountpoint should be mounted with 13 | \fBuser_fid2path\fR mount option and the caller has to have a right to 14 | modify the given files. rmfid will be trying to remove all hardlinks of the 15 | given file. FIDs can be wrapped with square brackets. 16 | .SH EXAMPLES 17 | .TP 18 | .B lfs rmfid /mnt/lustre [0x200000400:0x1:0x0] [0x200000402:0x20:0x0] 19 | Remove files with FIDs [0x200000400:0x1:0x0] [0x200000402:0x20:0x0] 20 | .SH AUTHOR 21 | The \fBlfs rmfid\fR command is part of the Lustre filesystem. 22 | .SH SEE ALSO 23 | .BR lfs (1), 24 | .BR lfs-path2fid (1), 25 | .BR lfs-fid2path (1) 26 | -------------------------------------------------------------------------------- /lustre/tests/lutf/python/config/lutf_start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # note the cfg/.sh should export all environment variables 3 | # required. EX: export ost4_HOST=lustre01 4 | 5 | export PYTHONPATH=$PYTHONPATH:$LUSTRE/tests/lutf/:$LUSTRE/tests/lutf/src/:$LUSTRE/tests/lutf/python:$LUSTRE/tests/lutf/python/tests/:$LUSTRE/tests/lutf/python/config/:$LUSTRE/tests/lutf/python/deploy:$LUSTRE/tests/lutf/python/infra 6 | 7 | export LUTFPATH=$LUSTRE/tests/lutf/ 8 | 9 | export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$LUTFPATH:$LUTFPATH/src:$LUSTRE/lnet/utils/lnetconfig/.libs/ 10 | 11 | export PATH=$PATH:$LUSTRE/tests/lutf/src:$LUSTRE/tests/lutf 12 | 13 | if [[ -z "${TELNET_PORT}" ]]; then 14 | export TELNET_PORT=8181 15 | fi 16 | 17 | if [[ -z "${MASTER_PORT}" ]]; then 18 | export MASTER_PORT=8282 19 | fi 20 | 21 | if [[ -z "${LUTF_SHELL}" ]]; then 22 | export LUTF_SHELL=batch 23 | fi 24 | 25 | if [[ -z "${PYTHONBIN}" ]]; then 26 | export PYTHONBIN=python3 27 | fi 28 | 29 | export LUTF_ENV_VARS=$1 30 | $PYTHONBIN "$LUSTRE/tests/lutf/python/config/lutf_start.py" 31 | -------------------------------------------------------------------------------- /lustre/utils/pid_file.h: -------------------------------------------------------------------------------- 1 | /* 2 | * LGPL HEADER START 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU Lesser General Public License as 8 | * published by the Free Software Foundation; either version 2.1 of the 9 | * License, or (at your option) any later version. 10 | * 11 | * This library is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with this library. If not, see . 18 | * 19 | * LGPL HEADER END 20 | * 21 | * Copyright 2020, DataDirect Networks Storage. 22 | */ 23 | 24 | #ifndef _PID_FILE_H_ 25 | #define _PID_FILE_H_ 26 | 27 | int create_pid_file(const char *path); 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /lnet/doc/get.fig: -------------------------------------------------------------------------------- 1 | #FIG 3.2 2 | Landscape 3 | Center 4 | Inches 5 | Letter 6 | 100.00 7 | Single 8 | -2 9 | 1200 2 10 | 6 2775 900 3525 1200 11 | 4 0 0 100 0 0 10 0.0000 0 105 720 2775 1200 Translation\001 12 | 4 0 0 100 0 0 10 0.0000 0 105 405 2850 1050 Portal\001 13 | -6 14 | 6 1350 1725 2175 2025 15 | 4 0 0 100 0 0 10 0.0000 0 105 825 1350 2025 Transmission\001 16 | 4 0 0 100 0 0 10 0.0000 0 105 285 1620 1875 Data\001 17 | -6 18 | 2 1 0 1 0 7 100 0 -1 4.000 0 0 -1 1 0 2 19 | 0 0 1.00 60.00 120.00 20 | 900 525 2700 750 21 | 2 1 0 1 0 7 100 0 -1 4.000 0 0 -1 1 0 2 22 | 0 0 1.00 60.00 120.00 23 | 2700 825 2700 1275 24 | 2 1 0 1 0 7 100 0 -1 3.000 0 0 7 1 0 2 25 | 0 0 1.00 60.00 120.00 26 | 2700 1350 900 1950 27 | 2 2 0 1 0 7 100 0 -1 4.000 0 0 7 0 0 5 28 | 2400 300 3600 300 3600 2250 2400 2250 2400 300 29 | 2 2 0 1 0 7 100 0 -1 4.000 0 0 7 0 0 5 30 | 0 300 1200 300 1200 2250 0 2250 0 300 31 | 4 1 0 100 0 0 10 0.0000 4 135 495 1800 825 Request\001 32 | 4 1 0 100 0 0 10 0.0000 0 105 540 600 525 Initiator\001 33 | 4 1 0 100 0 0 10 0.0000 0 135 405 3000 525 Target\001 34 | -------------------------------------------------------------------------------- /lustre/doc/llstat.8: -------------------------------------------------------------------------------- 1 | .TH llstat 1 "Jul 7, 2008" Lustre "utilities" 2 | .SH NAME 3 | llstat \- print Lustre statistics 4 | .SH SYNOPSIS 5 | .B "llstat [-c] [-g] [-i interval] stats_file" 6 | .br 7 | .SH DESCRIPTION 8 | .B llstat 9 | can display statistics from any of several lustre stats files that 10 | share a common format, updated every \fIinterval\fR seconds. 11 | Use control-C to stop statistics printing. 12 | .TP 13 | .I "\-c" 14 | Clear the stats file first. 15 | .TP 16 | .I "\-i interval" 17 | Polling period in seconds. 18 | .TP 19 | .I "\-g" 20 | Graphable output format. 21 | .TP 22 | .I "\-h" 23 | Display help information. 24 | .TP 25 | .I "stats_file" 26 | Either the full path to a stats file, or the shorthand: 27 | \fImds\fR or \fIost\fR. 28 | .SH EXAMPLE 29 | To monitor the OST RPC stats every second: 30 | .IP 31 | llstat -i 1 ost 32 | .SH FILES 33 | .nf 34 | llite.*.stats 35 | lwp.*.stats 36 | mdc.*.stats 37 | obdfilter.*.stats 38 | osc.*.stats 39 | osd-ldiskfs.*.stats 40 | osp.*.stats 41 | ldlm.services.*.stats 42 | mds.MDS.*.stats 43 | ost.OSS.*.stats 44 | .fi 45 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/4.12-sles12sp4.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="4.12" 2 | lnxmin=".14" 3 | lnxrel="95.48" 4 | # use this when there is an "RPM fix" which means that the name of the 5 | # (source) RPM has been updated but the version of the kernel inside the 6 | # RPM is not also updated 7 | rpmfix=".1" 8 | 9 | # this is the delimeter that goes before the "smp" at the end of the version 10 | # defaults to empty 11 | FLAVOR_DELIMITER="-" 12 | 13 | KERNEL_SRPM=kernel-source-${lnxmaj}${lnxmin}-${lnxrel}${rpmfix}.src.rpm 14 | SERIES="" 15 | VERSION=$lnxmaj 16 | EXTRA_VERSION="${lnxmin#.}-${lnxrel}_lustre.@VERSION@" 17 | LUSTRE_VERSION=@VERSION@ 18 | 19 | OFED_VERSION=inkernel 20 | 21 | BASE_ARCHS="i686 ppc x86_64 ia64 ppc64" 22 | BIGMEM_ARCHS="" 23 | BOOT_ARCHS="" 24 | JENSEN_ARCHS="" 25 | DEFAULT_ARCHS="i686 x86_64 ia64 ppc64" 26 | BIGSMP_ARCHS="" 27 | PSERIES64_ARCHS="ppc" 28 | UP_ARCHS="" 29 | SRC_ARCHS="" 30 | #RPMSMPTYPE="smp" 31 | 32 | for cc in gcc ; do 33 | if which $cc >/dev/null 2>/dev/null ; then 34 | export CC=$cc 35 | break 36 | fi 37 | done 38 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/4.12-sles12sp5.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="4.12" 2 | lnxmin=".14" 3 | lnxrel="122.91" 4 | # use this when there is an "RPM fix" which means that the name of the 5 | # (source) RPM has been updated but the version of the kernel inside the 6 | # RPM is not also updated 7 | rpmfix=".2" 8 | 9 | # this is the delimeter that goes before the "smp" at the end of the version 10 | # defaults to empty 11 | FLAVOR_DELIMITER="-" 12 | 13 | KERNEL_SRPM=kernel-source-${lnxmaj}${lnxmin}-${lnxrel}${rpmfix}.src.rpm 14 | SERIES="" 15 | VERSION=$lnxmaj 16 | EXTRA_VERSION="${lnxmin#.}-${lnxrel}_lustre.@VERSION@" 17 | LUSTRE_VERSION=@VERSION@ 18 | 19 | OFED_VERSION=inkernel 20 | 21 | BASE_ARCHS="i686 ppc x86_64 ia64 ppc64" 22 | BIGMEM_ARCHS="" 23 | BOOT_ARCHS="" 24 | JENSEN_ARCHS="" 25 | DEFAULT_ARCHS="i686 x86_64 ia64 ppc64" 26 | BIGSMP_ARCHS="" 27 | PSERIES64_ARCHS="ppc" 28 | UP_ARCHS="" 29 | SRC_ARCHS="" 30 | #RPMSMPTYPE="smp" 31 | 32 | for cc in gcc ; do 33 | if which $cc >/dev/null 2>/dev/null ; then 34 | export CC=$cc 35 | break 36 | fi 37 | done 38 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/4.12-sles15sp1.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="4.12" 2 | lnxmin=".14" 3 | lnxrel="197.75" 4 | # use this when there is an "RPM fix" which means that the name of the 5 | # (source) RPM has been updated but the version of the kernel inside the 6 | # RPM is not also updated 7 | rpmfix=".1" 8 | 9 | # this is the delimeter that goes before the "smp" at the end of the version 10 | # defaults to empty 11 | FLAVOR_DELIMITER="-" 12 | 13 | KERNEL_SRPM=kernel-source-${lnxmaj}${lnxmin}-${lnxrel}${rpmfix}.src.rpm 14 | SERIES="" 15 | VERSION=$lnxmaj 16 | EXTRA_VERSION="${lnxmin#.}-${lnxrel}_lustre.@VERSION@" 17 | LUSTRE_VERSION=@VERSION@ 18 | 19 | OFED_VERSION=inkernel 20 | 21 | BASE_ARCHS="i686 ppc x86_64 ia64 ppc64" 22 | BIGMEM_ARCHS="" 23 | BOOT_ARCHS="" 24 | JENSEN_ARCHS="" 25 | DEFAULT_ARCHS="i686 x86_64 ia64 ppc64" 26 | BIGSMP_ARCHS="" 27 | PSERIES64_ARCHS="ppc" 28 | UP_ARCHS="" 29 | SRC_ARCHS="" 30 | #RPMSMPTYPE="smp" 31 | 32 | for cc in gcc ; do 33 | if which $cc >/dev/null 2>/dev/null ; then 34 | export CC=$cc 35 | break 36 | fi 37 | done 38 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/5.3-sles15sp2.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="5.3" 2 | lnxmin=".18" 3 | lnxrel="24.96" 4 | # use this when there is an "RPM fix" which means that the name of the 5 | # (source) RPM has been updated but the version of the kernel inside the 6 | # RPM is not also updated 7 | rpmfix=".1" 8 | 9 | # this is the delimeter that goes before the "smp" at the end of the version 10 | # defaults to empty 11 | FLAVOR_DELIMITER="-" 12 | 13 | KERNEL_SRPM=kernel-source-${lnxmaj}${lnxmin}-${lnxrel}${rpmfix}.src.rpm 14 | SERIES="" 15 | VERSION=$lnxmaj 16 | EXTRA_VERSION="${lnxmin#.}-${lnxrel}_lustre.@VERSION@" 17 | LUSTRE_VERSION=@VERSION@ 18 | 19 | OFED_VERSION=inkernel 20 | 21 | BASE_ARCHS="i686 ppc x86_64 ia64 ppc64" 22 | BIGMEM_ARCHS="" 23 | BOOT_ARCHS="" 24 | JENSEN_ARCHS="" 25 | DEFAULT_ARCHS="i686 x86_64 ia64 ppc64" 26 | BIGSMP_ARCHS="" 27 | PSERIES64_ARCHS="ppc" 28 | UP_ARCHS="" 29 | SRC_ARCHS="" 30 | #RPMSMPTYPE="smp" 31 | 32 | for cc in gcc ; do 33 | if which $cc >/dev/null 2>/dev/null ; then 34 | export CC=$cc 35 | break 36 | fi 37 | done 38 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/6.4-sles15sp6.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="6.4" 2 | lnxmin=".0" 3 | lnxrel="150600.23.50" 4 | # use this when there is an "RPM fix" which means that the name of the 5 | # (source) RPM has been updated but the version of the kernel inside the 6 | # RPM is not also updated 7 | rpmfix=".1" 8 | 9 | # this is the delimeter that goes before the "smp" at the end of the version 10 | # defaults to empty 11 | FLAVOR_DELIMITER="-" 12 | 13 | KERNEL_SRPM=kernel-source-${lnxmaj}${lnxmin}-${lnxrel}${rpmfix}.src.rpm 14 | SERIES="" 15 | VERSION=$lnxmaj 16 | EXTRA_VERSION="${lnxmin#.}-${lnxrel}_lustre.@VERSION@" 17 | LUSTRE_VERSION=@VERSION@ 18 | 19 | OFED_VERSION=inkernel 20 | 21 | BASE_ARCHS="i686 ppc x86_64 ia64 ppc64" 22 | BIGMEM_ARCHS="" 23 | BOOT_ARCHS="" 24 | JENSEN_ARCHS="" 25 | DEFAULT_ARCHS="i686 x86_64 ia64 ppc64" 26 | BIGSMP_ARCHS="" 27 | PSERIES64_ARCHS="ppc" 28 | UP_ARCHS="" 29 | SRC_ARCHS="" 30 | #RPMSMPTYPE="smp" 31 | 32 | for cc in gcc ; do 33 | if which $cc >/dev/null 2>/dev/null ; then 34 | export CC=$cc 35 | break 36 | fi 37 | done 38 | -------------------------------------------------------------------------------- /ldiskfs/kernel_patches/patches/ubuntu18/ext4-nocmtime.patch: -------------------------------------------------------------------------------- 1 | We won't change i_xtime in ldiskfs code path. But also 2 | need keep normal function out of Lustre. So we using 3 | S_NOCMTIME to indicate invoked from Lustre. 4 | 5 | Index: linux-4.15.0/fs/ext4/ext4.h 6 | =================================================================== 7 | --- linux-4.15.0.orig/fs/ext4/ext4.h 8 | +++ linux-4.15.0/fs/ext4/ext4.h 9 | @@ -655,6 +655,20 @@ enum { 10 | #define EXT4_GOING_FLAGS_LOGFLUSH 0x1 /* flush log but not data */ 11 | #define EXT4_GOING_FLAGS_NOLOGFLUSH 0x2 /* don't flush log nor data */ 12 | 13 | +#define current_time(a) ext4_current_time(a) 14 | +static inline struct timespec ext4_current_time(struct inode *inode) 15 | +{ 16 | + struct timespec now = current_kernel_time(); 17 | + 18 | + if (IS_NOCMTIME(inode)) 19 | + return inode->i_ctime; 20 | + 21 | + /* Copy from fs/inode.c */ 22 | + if (unlikely(!inode->i_sb)) 23 | + return now; 24 | + 25 | + return timespec_trunc(now, inode->i_sb->s_time_gran); 26 | +} 27 | 28 | #if defined(__KERNEL__) && defined(CONFIG_COMPAT) 29 | /* 30 | -------------------------------------------------------------------------------- /lustre/doc/nids.5: -------------------------------------------------------------------------------- 1 | .TH nids 5 Lustre nids /etc/nids 2 | .SH NAME 3 | /etc/nids \- The static lookup table for Lustre NIDs 4 | .SH DESCRIPTION 5 | The nids file maps host names to NIDs and vice-versa. 6 | .SH FORMAT 7 | Comments beginning with a hash (#) are ignored. Each line represents one 8 | host and includes the following information separated by white space: 9 | .TP 10 | .I "hostname" 11 | The primary hostname of the node, e.g. \fIuname -n\fR. 12 | .TP 13 | .I "primary nid" 14 | The primary NID of the node. 15 | .TP 16 | .I "other nid ..." 17 | Any additional NIDs. 18 | .SH EXAMPLE 19 | .nf 20 | ## Tycho 21 | tycho-mds1 172.16.2.200@tcp 172.16.10.200@tcp 22 | tycho1 172.16.2.1@tcp 172.16.10.1@tcp 23 | tycho2 172.16.2.2@tcp 172.16.10.2@tcp 24 | tycho3 172.16.2.3@tcp 172.16.10.3@tcp 25 | tycho4 172.16.2.4@tcp 172.16.10.4@tcp 26 | tycho5 172.16.2.5@tcp 172.16.10.5@tcp 27 | tycho6 172.16.2.6@tcp 172.16.10.6@tcp 28 | tycho7 172.16.2.7@tcp 172.16.10.7@tcp 29 | tycho8 172.16.2.8@tcp 172.16.10.8@tcp 30 | .fi 31 | 32 | .SH FILES 33 | /etc/nids 34 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/5.14-sles15sp4.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="5.14" 2 | lnxmin=".21" 3 | lnxrel="150400.24.100" 4 | # use this when there is an "RPM fix" which means that the name of the 5 | # (source) RPM has been updated but the version of the kernel inside the 6 | # RPM is not also updated 7 | rpmfix=".2" 8 | 9 | # this is the delimeter that goes before the "smp" at the end of the version 10 | # defaults to empty 11 | FLAVOR_DELIMITER="-" 12 | 13 | KERNEL_SRPM=kernel-source-${lnxmaj}${lnxmin}-${lnxrel}${rpmfix}.src.rpm 14 | SERIES="" 15 | VERSION=$lnxmaj 16 | EXTRA_VERSION="${lnxmin#.}-${lnxrel}_lustre.@VERSION@" 17 | LUSTRE_VERSION=@VERSION@ 18 | 19 | OFED_VERSION=inkernel 20 | 21 | BASE_ARCHS="i686 ppc x86_64 ia64 ppc64" 22 | BIGMEM_ARCHS="" 23 | BOOT_ARCHS="" 24 | JENSEN_ARCHS="" 25 | DEFAULT_ARCHS="i686 x86_64 ia64 ppc64" 26 | BIGSMP_ARCHS="" 27 | PSERIES64_ARCHS="ppc" 28 | UP_ARCHS="" 29 | SRC_ARCHS="" 30 | #RPMSMPTYPE="smp" 31 | 32 | for cc in gcc ; do 33 | if which $cc >/dev/null 2>/dev/null ; then 34 | export CC=$cc 35 | break 36 | fi 37 | done 38 | -------------------------------------------------------------------------------- /lustre/kernel_patches/targets/5.14-sles15sp5.target.in: -------------------------------------------------------------------------------- 1 | lnxmaj="5.14" 2 | lnxmin=".21" 3 | lnxrel="150500.55.65" 4 | # use this when there is an "RPM fix" which means that the name of the 5 | # (source) RPM has been updated but the version of the kernel inside the 6 | # RPM is not also updated 7 | rpmfix=".1" 8 | 9 | # this is the delimeter that goes before the "smp" at the end of the version 10 | # defaults to empty 11 | FLAVOR_DELIMITER="-" 12 | 13 | KERNEL_SRPM=kernel-source-${lnxmaj}${lnxmin}-${lnxrel}${rpmfix}.src.rpm 14 | SERIES="" 15 | VERSION=$lnxmaj 16 | EXTRA_VERSION="${lnxmin#.}-${lnxrel}_lustre.@VERSION@" 17 | LUSTRE_VERSION=@VERSION@ 18 | 19 | OFED_VERSION=inkernel 20 | 21 | BASE_ARCHS="i686 ppc x86_64 ia64 ppc64" 22 | BIGMEM_ARCHS="" 23 | BOOT_ARCHS="" 24 | JENSEN_ARCHS="" 25 | DEFAULT_ARCHS="i686 x86_64 ia64 ppc64" 26 | BIGSMP_ARCHS="" 27 | PSERIES64_ARCHS="ppc" 28 | UP_ARCHS="" 29 | SRC_ARCHS="" 30 | #RPMSMPTYPE="smp" 31 | 32 | for cc in gcc ; do 33 | if which $cc >/dev/null 2>/dev/null ; then 34 | export CC=$cc 35 | break 36 | fi 37 | done 38 | --------------------------------------------------------------------------------