Lustre 2.12.3 Changelog

Server support for kernels: 


 * RHEL 7.7 (3.10.0-1062.1.1.el7)

Client support for unpatched kernels: 


 * RHEL 7.7 (3.10.0-1062.1.1.el7)
 * SLES12 SP4 (4.12.14-95.29.1)
 * Ubuntu 18.04 (4.15.0-64)

Recommended e2fsprogs version: 


 * v1.45.2.wc1-0

Interoperability Support: 


 * Clients & Servers: Latest 2.10.X and Latest 2.11.X

Issues fixed between 2.12.2 and 2.12.3
 New Feature 
 * LU-11297: Need to align LNet routing with Multi-Rail and LNet health

 Improvement 
 * LU-9625: remove &quot;lfs ls&quot; and &quot;lfs cp&quot; and references
 * LU-10258: lfs mirror command to open fd on component
 * LU-10885: enable flock by default
 * LU-11233: gcc8 support
 * LU-11285: don't stop on the first blocked lock in ldlm_reprocess_queue
 * LU-11296: page cache cleanup improvement on lock flush
 * LU-11355: Add Lustre trim support
 * LU-11830: Quiet compiler warnings on ARM
 * LU-11838: Support linux kernel version 4.18
 * LU-11845: Support encrypted ZFS volumes
 * LU-11963: Add nonrotational flag to obd_statfs
 * LU-12045: Ability to split test script execution into parts
 * LU-12090: Create an lfs command to remove files by FID
 * LU-12093: CAP_SYS_RESOURCE capability check overhead
 * LU-12270: Support linux kernel version 4.19
 * LU-12331: hardened usercopy whitelisting
 * LU-12516: volatile file creation in .lustre/fid/
 * LU-12553: polling mode for changelog driver
 * LU-12621: o2iblnd QP sizing -EINVAL retries
 * LU-12789: Mellanox MOFED 4.7 support.
 * LU-12802: racer test stucks after test finishes
 * LU-12825: Build MOFED 4.7

 Bug 
 * LU-8047: optimize ll_md_blocking_ast for a failed lock
 * LU-10094: sanity test_17f: 'ls' fails with &quot;ls: reading directory *: Input/output error&quot;
 * LU-10100: sanity test_27a: setstripe failed with &quot;error on ioctl 0x8008669a for '*' (3): Invalid argument&quot;
 * LU-10717: several conf-sanity tests failed: FAIL: start mgs failed
 * LU-11359: racer test 1 times out with client hung in dir_create.sh, ls, … and MDS in ldlm_completion_ast
 * LU-11403: lov_io_init_empty Page fault on a file without stripes
 * LU-11426: 2/2 Olafs agree: changelog entries are emitted out of order
 * LU-11453: sanity test 184a: Basic layout swap panics on Power8
 * LU-11485: MDS allows &quot;lfs setstripe&quot; to mark last mirror as stale
 * LU-11537: Fix assertion: osd_trans_exec_op) ASSERTION( !ldiskfs_track_declares_assert )
 * LU-11542: Race between imp_state and imp_invalid
 * LU-11566: sanity test_60aa: llog_print_cb) not enough space for print log records
 * LU-11617: lockdep exposed a possible deadlock in chlg_open
 * LU-11634: sanityn/test_77 improvements
 * LU-11672: improving lru_max_age policy when lru resize is disabled
 * LU-11675: Don't allow new HSM requests during CDT_INIT
 * LU-11678: sanity-quota test 1 fails with 'user write success, but expect EDQUOT'
 * LU-11690: LBUG with very wide striping: lod_ea_store_resize) ASSERTION( round &lt;= lov_mds_md_size(2000, (0x0BD30000 | 0x0BD0))
 * LU-11721: &quot;lfs df -i&quot; prints used blocks percentage instead of inodes
 * LU-11729: ARM: sanity test_810: BAD WRITE CHECKSUM with adler
 * LU-11742: ERROR: RPATH is not allowed
 * LU-11743: lctl pool operations cannot be run on separate MGS system
 * LU-11755: Remove redundant LASSERT in ns_is_{client,server}
 * LU-11756: kib_conn leak
 * LU-11760: formatted OST recognition change
 * LU-11761: blocked MDT mount and high cpu usage from lodXXXX_recYYYY threads
 * LU-11771: bad output in target_handle_reconnect: Recovery already passed deadline 71578:57
 * LU-11796: Remove LASSERT(r0-&gt;lo_nr &lt;= lov_targets_nr(dev)) in maintenance branches
 * LU-11816: LNet Health: Correct timeout defaults
 * LU-11851: kernel BUG at ...ldiskfs/htree_lock.c:665
 * LU-11873: sanity test_801a: FAIL: (2) unexpected barrier status 'expired'
 * LU-11925: Attributes not updated after open+append and write to archived,released file
 * LU-11946: configure --enable-dist fails if libyaml-devel or zlib-devel are not installed
 * LU-12017: Truncate vs setxattr deadlock with DoM
 * LU-12034: env allocation in ptlrpc_set_wait causes slowdown on the client
 * LU-12080: LNet Health: references left on eq
 * LU-12095: ocd_connect_flags are wrong during reconnect
 * LU-12098: changelog_deregister appears not to reliably clear all changelog entries
 * LU-12120: LustreError: 15069:0:(tgt_grant.c:561:tgt_grant_incoming) LBUG
 * LU-12131: Improve GSS/SSK handling in Lustre test suite
 * LU-12152: lnetctl export corrupts memory on routers
 * LU-12165: Enable quota enforcement crashed kernel
 * LU-12166: Tests if ZFS backend project supported is broken
 * LU-12169: Assertion on mdc_pack_name
 * LU-12178: MDS deadlock with 2.12.0 (quotas?)
 * LU-12195: sanity/43 and sanityn/14 fail on local setups
 * LU-12199: md's are not detached from uncommitted messages that have health check performed on them
 * LU-12225: jobid_get_from_cache stalled on spin_lock(&amp;pidmap-&gt;jp_lock)
 * LU-12229: ost-pools test 1j fails with 'test_1j returned 1'
 * LU-12232: replay-ost-single test 6 fails with space grew after dd: before:13442048 after_dd:13442048
 * LU-12248: sanity test_418: df and lfs df inodes output mismatch
 * LU-12264: The lnet peer discovery queue (lnet_peer.lp_dc_pendq) is susceptible to concurrent manipulation
 * LU-12267: sanity test_103a: some ACL tests fail with SELinux enforced
 * LU-12282: Pass IB_OPTIONS to debian rules doesn't work
 * LU-12309: write fails with -EOPNOTSUPP with zfs 0.8.0-rc5 using 0.7.x pool
 * LU-12314: Add Missing Description to sanity test 258a
 * LU-12323: save_stack_trace_tsk is not exported on arm architectures
 * LU-12324: zero transno on transaction commit
 * LU-12342: lsvcgss config file overwritten on update
 * LU-12343: osc_lock.c:687:osc_ldlm_weigh_ast) LBUG
 * LU-12350: sanity-flr test_33: file content error: expected: ost1, actual: ost2
 * LU-12361: cp --sparse doesn't work correctly in
 * LU-12374: client went down w/ panic during lustre_rmmod
 * LU-12375: lnet should start after opa service
 * LU-12381: o2iblnd uses wrong IB interface
 * LU-12382: Deadloop on tiny write
 * LU-12383: lfs project inhert difference between ldiskfs and zfs
 * LU-12385: 2.12.2: IOR read testing reliably inducing LNetError: Timed out RDMA with ...@o2ib1 (6): c: 0, oc: 0, rc: 63
 * LU-12387: l_tunedisk does not properly handle multipath devices
 * LU-12394: lctl get_param llite.lfs*.extents_stats only displays first two buckets
 * LU-12395: Failed dependencies while installing lustre-client-tests and lustre-iokit rpms on RHEL 8.0 client
 * LU-12399: sanity test_420: FAIL: incorrect perms on /mnt/lustre/d420.sanity/testdir/testfile
 * LU-12401: Various issues with checksum calculation for Kerberos and SSK
 * LU-12447: Fedora28 Lustre client build failure
 * LU-12456: kernel update [RHEL8.0 4.18.0-80.4.2.el8_0]
 * LU-12457: support for RHEL 7.7
 * LU-12458: kernel update [RHEL7.6 3.10.0-957.21.3.el7]
 * LU-12478: RHEL8 packaging
 * LU-12479: gcc8 warnings
 * LU-12485: (osd_handler.c:2146:osd_object_release) ASSERTION( !(o-&gt;oo_destroyed == 0 &amp;&amp; o-&gt;oo_inode &amp;&amp; o-&gt;oo_inode-&gt;i_nlink == 0) ) faile
 * LU-12491: large-scale: crash in lu_env_remove RIP: memcmp+0x9/0x50
 * LU-12494: kernel update [SLES12 SP4 4.12.14-95.19.1]
 * LU-12498: kernel update [SLES12 SP3 4.4.180-94.97.1]
 * LU-12501: lfs df can never return
 * LU-12510: mds server hangs cv_wait_common
 * LU-12539: Pass --with-o2ib option along when building deb packages
 * LU-12559: Reconnecting from idle exposes import in IMP_NEW state, resulting in EIO
 * LU-12566: GPF when umounting client
 * LU-12569: IBLND_CREDITS_HIGHWATER does not check connection queue depth
 * LU-12570: sanity test 134a crash with SSK in use
 * LU-12575: lbuild: build MOFED on el8
 * LU-12581: Slab object &quot;Freechain corrupt&quot; on client
 * LU-12586: truncate to start of uninstantiated PFL component silently fails
 * LU-12589: sanity test_102a: setfattr: /mnt/lustre/f102a.sanity: Numerical result out of range
 * LU-12590: Lustre lustre_msg_hdr_size_v2 bug
 * LU-12600: Lustre tgt_brw_write bug
 * LU-12602: Lustre mdt_getxattr_pack_reply bug
 * LU-12603: Lustre ldlm_request_cancel bug
 * LU-12604: Lustre mdt_file_secctx_unpack bug
 * LU-12605: Lustre target_handle_connect bug
 * LU-12608: kernel update [RHEL7.6 3.10.0-957.27.2.el7]
 * LU-12612: Lustre osd_bufs_get bug
 * LU-12613: Lustre lustre_msg_string bug
 * LU-12614: Lustre ldlm_cancel_hpreq_check bug
 * LU-12615: Lustre mdt_object_remote bug
 * LU-12620: kernel update [RHEL8.0 4.18.0-80.7.1.el8_0]
 * LU-12626: Attempt to create existing net returns EINVAL
 * LU-12650: get_root_path filesystem name compare error that leads to fid2path fail
 * LU-12657: sanity/103 and sanityn/25 fail with 4.18 kernel
 * LU-12660: kernel update [SLES12 SP4 4.12.14-95.29.1]
 * LU-12690: error handling of ll_och_fill
 * LU-12705: build fails on power9 client
 * LU-12724: kernel update [RHEL7.7 3.10.0-1062.1.1.el7]
 * LU-12755: CPU soft lockup on mkfs.lustre
 * LU-12777: conf-sanity test 103 fails with ‘set mdt quota type failed’
 * LU-12790: LustreError: 96800:0:(jobid.c:103:jobid_get_from_environ) jobid: get 'PBS_JOBID' failed: rc = -75

 Task 
 * LU-10171: define pct(a,b) once

 Technical task 
 * LU-10777: DoM performance is bad with FIO write
 * LU-11478: LNet: discovery sequence numbers could be misleading
 * LU-12163: Fix cpt confusion
 * LU-12201: LNet: detach response tracker
 * LU-12249: LNet Health: list corruption
 * LU-12254: lnet: correct discovery event queue release
 * LU-12339: LNet Health: selecting loopback interface for sending
 * LU-12344: LNet Health: tweak health errors