Lustre 2.15.0 Changelog

Server support for kernels: 


 * RHEL 8.5 (4.18.0-348.2.1.el8)

Client support for unpatched kernels: 


 * RHEL 8.5 (4.18.0-348.2.1.el8)
 * SLES15 SP3 (5.3.18-59.27)
 * Ubuntu 20.04 (5.4.0-40)

Recommended e2fsprogs version: 


 * v1.46.2.wc5

Interoperability Support: 


 * Clients & Servers: Latest 2.12.X, 2.14

Issues fixed between 2.14.0 and 2.15.0
Bug


 * [LU-2084] - Kernel freeze allocating more memory than there is RAM
 * [LU-5369] - servers should reject invalid FIDs, requests, ...
 * [LU-7853] - Fixes bitfield in lod qos code
 * [LU-8962] - lfs df prints nothing and exits with status 0 when given a non-lustre argument
 * [LU-9272] - "fail mgs" does not work
 * [LU-9510] - Kernel panic - not syncing: LDISKFS-fs (device md1): panic forced after error: LDISKFS-fs error (device md1): ldiskfs_mb_release_inode_pa: pa free mismatch: [pa ffff8807c80eb828] [phy 32256] [logic 20] [len 20] [free 19] [error 0] [inode 80] [freed 20]
 * [LU-9699] - osp_obd_connect) ASSERTION( osp->opd_connects == 1 ) failed
 * [LU-9704] - ofd_grant_check claims GRANT, real grant 0
 * [LU-9820] - sanity-scrub test_9 fails with "(9) Expected 'scanning' on mds*"
 * [LU-10350] - ost-pools test 1n fails with 'failed to write to /mnt/lustre/d1n.ost-pools/file: 1'
 * [LU-10632] - recovery-small test 26a fails with ‘client not evicted from OST’
 * [LU-10848] - sanity-lfsck test_8: Expect 'scanned-once,inconsistent',but got 'scanned-once'
 * [LU-11289] - ptlrpc_service_purge_all) ASSERTION( list_empty(&svcpt->scp_rqbd_posted) ) failed
 * [LU-11290] - Batch callbacks in osc_page_gang_lookup
 * [LU-11303] - slow chgrp as user when quotas are enabled
 * [LU-11558] - t32_verify_quota not being called by t32_test
 * [LU-11596] - sanity test 42d: FAIL: failed: client:143294464 server: 143110144
 * [LU-11597] - sanityn test 16a failed with direct I/O
 * [LU-11667] - sanity test 317: FAIL: Expected Block 8 got 48 for f317.sanity
 * [LU-11952] - open+create resend can recreate a file after unlink
 * [LU-12022] - sanity-flr: test_200 'checksum error for mirror 3'
 * [LU-12056] - tar doesn't support project id
 * [LU-12058] - sanity test_51d: @@@@@@ FAIL: OST 1 has less #0 objects vs OST 0 (0 < 1000
 * [LU-12214] - lustre spec file don't provide a right build requirements
 * [LU-12262] - Improve sbi_flags checking
 * [LU-12268] - LDISKFS-fs error: ldiskfs_find_dest_de:2066: bad entry in directory: rec_len is smaller than minimal - offset=0( 0), inode=201, rec_len=0, name_len=0
 * [LU-12347] - lustre write: do not enqueue rpc holding osc/mdc ldlm lock held
 * [LU-12362] - kernel warning 'do not call blocking ops when !TASK_RUNNING ' in ptlrpcd
 * [LU-12391] - improve mdsrate to work with striped dirs
 * [LU-12567] - ha-all-ior-ssf-fpp-mdtest: IOR fpp: cannot close file. ERROR: Input/output error
 * [LU-12577] - chlg_load failed to process llog -2 or -5 on client
 * [LU-12585] - obdfilter read_bytes stat reports requested read bytes and not actual read bytes
 * [LU-12752] - osc_page.c:osc_page_delete ASSERTION( 0 ) failed
 * [LU-12766] - sanity-quota test 3 fails with 'write success, but expect EDQUOT'
 * [LU-12807] - runtests test 1 fails with Space not all freed: now 180500kB, was 180424kB.
 * [LU-12828] - FLOCK request can be processed twice during resend
 * [LU-12836] - target's degraded property not reset after drive replaced
 * [LU-12848] - Add test case for LU-11549
 * [LU-12857] - recovery-mds-scale test_failover_ost fails with “import is not in FULL state”
 * [LU-12888] - sanity.sh to remove big files
 * [LU-12961] - Oops in mdd_changelog_fini
 * [LU-12982] - interop: conf-sanity test 5i fails with “ start mdt should fail “
 * [LU-13073] - Multiple MDS deadlocks (in lod_qos_prep_create) after OSS crash
 * [LU-13086] - 3c7aca747 LU-12395 breaks compatibility mpi tests with mpich
 * [LU-13100] - Several file components with objects on same OST causes a deadlock while obtaining grants
 * [LU-13195] - replay-single test_118: dt_declare_record_write ASSERTION( dt->do_body_ops ) failed
 * [LU-13212] - Lustre client hangs machine under memory pressure
 * [LU-13284] - few tests fail locall due to missing local_recov mount option
 * [LU-13358] - sanityn test_43j: Timeout occurred after 348 mins, last suite running was sanityn
 * [LU-13397] - lfs migrate/mirror extend/resync does not preserve sparse file
 * [LU-13439] - DNE3: MDT QOS tuning to avoid full MDTs completely
 * [LU-13453] - ENOSPC on OI insert should't leak inodes
 * [LU-13456] - Fix LU-12017
 * [LU-13468] - Timeout-ed FLD_QUERY rpc leads to client operation failure.
 * [LU-13513] - osp_precreate_reserve should not take d->opd_pre_status == -EIO as fatal
 * [LU-13514] - conf-sanity test_32a: Timeout occurred after 143 mins
 * [LU-13542] - osd stats are initialized too late
 * [LU-13578] - sanity test_39r: atime on client != ost
 * [LU-13584] - t-f defect: gather_logs expects that server can access clients
 * [LU-13587] - sanity-quota test_68: Oops: RIP: qpi_state_seq_show+0x86/0xe0 [lquota]
 * [LU-13601] - page allocation failure during mount
 * [LU-13602] - Skip unknown FLR component types
 * [LU-13609] - lctl --device MGS llog_catlist doesn't list all config files.
 * [LU-13620] - pool_add_targets defect
 * [LU-13636] - local agent on ldiskfs can introduce quota inconsistency on MDT
 * [LU-13708] - lnet_notify can set route aliveness incorrectly
 * [LU-13714] - LNet Router: ni status flip flopping unnecessarily
 * [LU-13716] - Interop: sanity test_205b: wrong job_stats format found
 * [LU-13722] - LNet lnetctl discrepancy in YAML output
 * [LU-13756] - qmt_pool_lock leak in qmt_pool_lookup
 * [LU-13779] - Correct asymmetric route detection
 * [LU-13781] - Local NI selection needs to be restricted on the net of the next-hop
 * [LU-13785] - router ib interface was not configured on boot. gni clients mis-classified the router as multi-hop leading to evictions
 * [LU-13799] - DIO/AIO efficiency improvements
 * [LU-13806] - LNetError: 7229:0:(peer.c:529:lnet_peer_del_nid) ASSERTION( lpni2 ) failed:
 * [LU-13852] - PCC lookup(IT_OPEN) shouldn't alloc FID in LLITE
 * [LU-13857] - jobstats output can produce invalid yaml
 * [LU-13883] - LNetPrimaryNID assumes lpni for a particular NID will not change through discovery but lnet_peer_add_nid may allocate a new one for it.
 * [LU-13894] - lnet_peer_data_present needs to transfer the lp_disc_src_nid if it is merging two peers
 * [LU-13895] - Prevent discovery on peer that is being deleted
 * [LU-13911] - sanity.sh:test_115: sanity check for max_rpcs_in_flight set
 * [LU-13912] - lnet_check_routes sends pings too frequently
 * [LU-13929] - NULL pointer dereference in lnet_post_send_locked
 * [LU-13939] - No message is displayed if some of nid was not processed during replace_nids
 * [LU-13941] - parallel-scale/run_rr_alloc: Restrict create_count to valid range
 * [LU-13942] - Сheck if exp_obd initialised and return error code to lctl user if not initialised
 * [LU-13950] - Do not crash if lnet_sock_getaddr returns error
 * [LU-13974] - Wrong behavior for out operations create+write especially for update log
 * [LU-13991] - speedup flock reprocess
 * [LU-14004] - memory leak in ll_update_default_lsm_md
 * [LU-14008] - avoid data copy with immediate message sending.
 * [LU-14021] - NULL pointer dereference in _raw_write_lock
 * [LU-14033] - panic after "ldiskfs_free_blocks:5437: IO failure"
 * [LU-14044] - Check llogid to avoid crash the server.
 * [LU-14048] - Unable stop all OSTs due to obd_unlinked_exports
 * [LU-14055] - Write performance regression caused by an commit from LU-13344
 * [LU-14074] - LNet: lustre_rmmod fails after lnetctl is used
 * [LU-14090] - lctl replace_nids and starting target with local copy of logs
 * [LU-14093] - gcc10 fails to build Lustre
 * [LU-14098] - LustreError: 19003:0:(osp_sync.c:350:osp_sync_declare_add) logging isn't available, run LFSCK
 * [LU-14099] - SUSE 15 SP2 aarch64 does not set arch_stackwalk missing print_stack_trace
 * [LU-14110] - Race during several client mount instances (--> rmmod lustre hang)
 * [LU-14114] - LNet: print device status in net show command
 * [LU-14119] - FID-in-LMA [fid1] does not match the object self-fid [fid2]
 * [LU-14124] - super slow i/o on client maybe related to low grant
 * [LU-14132] - lod_device_free) ASSERTION( atomic_read(&lu->ld_ref) == 0 )
 * [LU-14174] - errors from llapi_mirror_find are not checked correctly
 * [LU-14175] - OI Scrub triggered followed by LBUG ASSERTION( idx1 == 0 || idx1 == osd->od_index ) failed
 * [LU-14179] - lfs find: error: llapi_semantic_traverse: string buffer too small
 * [LU-14180] - "lfs setstripe -E" doesn't validate component end
 * [LU-14182] - cancel layout lock on replay - deadlock
 * [LU-14183] - broken ldlm_add_waiting_lock usage
 * [LU-14184] - a couple more DOM tests
 * [LU-14188] - rw_semaphore in the iam_container structure that never been used
 * [LU-14204] - sanity test_255c: syntax error in expression
 * [LU-14206] - Router ping timeouts don't mark routes down if DD is disabled
 * [LU-14207] - Replace_nids left old nids in add_conn field of failnid section of client llog
 * [LU-14268] - mirror split does not increase layout generation properly
 * [LU-14277] - any create blocked due any OST fail
 * [LU-14279] - sanity-quota test_3b: write success, but expect EDQUOT
 * [LU-14300] - sanity-sec test 18 hangs in txg_quiesce on MDS
 * [LU-14301] - EOPNOTSUPP, ENOTSUPP, ENOTSUP confusion
 * [LU-14313] - mount.lustre fails silently when built without server support
 * [LU-14314] - interop: sanityn test 16e fails with 'expected filesize 22020096 got 10485760'
 * [LU-14321] - Interop: sanityn test 106a fails with '/mnt/lustre/f106a.sanityn btime (0:1608796627) diff'
 * [LU-14322] - Interop: sanityn test 51e fails with 'multiop failed'
 * [LU-14323] - Interop: sanity-flr test 46 fails with 'Create /mnt/lustre/d46.sanity-flr/f46.sanity-flr failed'
 * [LU-14327] - Interop: sanity-sec test 55 fails with “test_55 failed with 13”
 * [LU-14337] - return valid stripe_count and stripe_size instead of 0 for DoM files
 * [LU-14344] - conf-sanity/23a get stack in ptlrpc_check_set
 * [LU-14362] - sanity-flr may fail if /mnt/lustre doesn't exist
 * [LU-14366] - "lfs mkdir" on existing directory returns "Operation not supported/already in progress"
 * [LU-14370] - sanity-quota test_12b: @@@@@@ FAIL: create failed, but expect success
 * [LU-14390] - A change in LU-13004 wrongly switched to round_up instead of DIV_ROUND_UP.
 * [LU-14392] - gnilnd: re-enable large I/o buffers
 * [LU-14397] - A race between lock enqueue and idle import
 * [LU-14398] - add llapi_fid2path_at
 * [LU-14399] - mount MDT takes very long with hsm enable
 * [LU-14401] - Fix migrate for encrypted directory
 * [LU-14405] - 'lfs fid2path' failed with -ERANGE if directory has 8 stripes
 * [LU-14413] - interop: sanity test 27M fails with '(1) stripe count 1, should be 4'
 * [LU-14423] - osd_is_mapped does not recognize holes
 * [LU-14427] - Restore --enable-panic-debuglog support
 * [LU-14430] - Amount of default ACLs is limited by 31 for new files
 * [LU-14433] - fallocate: osc_extent_make_ready) ASSERTION( last_oap_count > 0 ) failed
 * [LU-14435] - lfs-flushctx man page is not available
 * [LU-14436] - LustreError: 133-1: es01a-OST0001-osc-ffff88caa797d800: BAD READ CHECKSUM
 * [LU-14437] - Use NSEC_PER_USEC when converting between NSEC and USEC values
 * [LU-14444] - LBUG: client kernel panic with "ASSERTION( req->rq_reqmsg ) failed"
 * [LU-14448] - lod_get_default_lov_striping may crash for uninitialized .llc_pool
 * [LU-14455] - mdt_dom_resource_prolong can miss needed lock
 * [LU-14460] - lustre master build fail on ppcle64
 * [LU-14462] - Fix support for namespace in lgss_keyring
 * [LU-14468] - lfs rmfid should use strerror in error messages
 * [LU-14474] - Oops in llog_cat_prep_log in sanity-quota / recovery-small
 * [LU-14477] - lnet doesn't work with no IPV6 support in the kernel
 * [LU-14478] - Ubuntu 20.04.1 server build failed with kernel 5.4.0-66
 * [LU-14479] - lgss_sk may load keys with incorrect permissions
 * [LU-14480] - Setting specific OST's under pool failed with error message "invalid argument"
 * [LU-14489] - "lfs find --mdt-count +1" fails with "Operation not permitted"
 * [LU-14490] - extra getattr RPC if striped directory as subdirectory mount
 * [LU-14491] - ldiskfs_xattr_delete_inode modifies journalled buffers without get_write_access/handle_dirty_metadata
 * [LU-14492] - wrong OSTCOUNT checks in overstripe sanity tests
 * [LU-14494] - check object existence in mdt_close_handle_layouts
 * [LU-14502] - LBUG : lov_io.c:123:lov_io_sub_init) ASSERTION( ergo(lov_is_flr(lov), is_index_within_mirror(lov, index, lio->lis_mirror_index)) ) failed: [0x200004ac1:0x18ec:0x0]iot = 5, index = 0, mirror = 1
 * [LU-14504] - default LMV delete trigger asstion in osp_xattr_del
 * [LU-14506] - lhsmtool_posix uses invalid default values for import
 * [LU-14507] - 'lfs getdirstripe -D' prints stripe count -1 as 4294967295
 * [LU-14508] - lfs mirror operations do not preserve timestamps
 * [LU-14513] - sanity-quota test_1g: OST hangs
 * [LU-14514] - lod_declare_layout_del does not check for deletion of last non stale mirror
 * [LU-14521] - delete FLR mirrors without volatile files
 * [LU-14522] - missing ldlm lock processing causes timeouts in racer
 * [LU-14526] - SoM xattr not updated after mirror split
 * [LU-14531] - racer with DoM enabled crashes in ZFS
 * [LU-14533] - Interop: sanity-pfl test 0d fails with 'creating /mnt/lustre/d0d.sanity-pfl/f0d.sanity-pfl-1 failed'
 * [LU-14534] - Client eviction on blocking AST with Kerberos or SSK enabled
 * [LU-14536] - kiblnd does resend for IB_CM_REJ_INVALID_SERVICE_ID
 * [LU-14537] - directory migration failed with -EXDEV if parent directory and sub file have different project ID
 * [LU-14538] - Make namespace support optional in lgss_keyring
 * [LU-14540] - Connection failure does not cause peer NI health to decrement
 * [LU-14541] - Memory reclaim caused a stale data read
 * [LU-14542] - tunable for tgt_grant_sanity_check
 * [LU-14543] - tgt_grant_discard: avoid tgd->tgd_tot_granted overflowing
 * [LU-14544] - nfs server service fails to start/restart in RHEL 8 and SLES15
 * [LU-14545] - conf-sanity mount.lustre: mount /dev/loop1 at /tmp/t32/mnt/mdt1 failed: Cannot assign requested address
 * [LU-14546] - parallel-scale-cifs : FAIL: setup cifs failed: mount error(13): Permission denied
 * [LU-14547] - santyn/109 fails on a local setup
 * [LU-14549] - getxattr for lustre.lov and trusted.lov sometimes wrong after mirror split
 * [LU-14550] - "lctl set_param debug_path" does not change debug path
 * [LU-14552] - NULL pointer dereference in ptlrpc_watchdog_fire
 * [LU-14553] - Inappropriate console log messages due to lfs changelog_clear
 * [LU-14565] - Changing recordsize of OST Breaks 'df' (lfs df works correctly)
 * [LU-14575] - LustreError: 2153:0:(ofd_access_log.c:541:ofd_access) can't resolve [0x0:0x0:0x0]: -2
 * [LU-14577] - Ubuntu 20.04.1 server build failed with kernel 5.4.0-1007
 * [LU-14579] - GPF in lod_sub_declare_destroy
 * [LU-14583] - llapi_file_get_stripe should check for softlink
 * [LU-14586] - ha.sh defect: mpi_threads_per_client set incorrectly for NCLIENTSSET != 1
 * [LU-14587] - (lproc_ptlrpc.c:606:ptlrpc_lprocfs_nrs_seq_show) LBUG
 * [LU-14588] - LNet: make config script aware of the ofed symbols
 * [LU-14592] - lfsck errors: Unsupported LOV EA magic 198708176
 * [LU-14593] - libmount_utils_zfs miss libzpool
 * [LU-14594] - reply to the original RPC can land to the resent RPC reply buffer
 * [LU-14597] - Allow multiple preferred mirrors in a FLR file
 * [LU-14598] - Too many FIDs to precreate OST replaced. Wrong IDIF logic.
 * [LU-14603] - OST: no handlers for opcode 0x16
 * [LU-14606] - llog_changelog_cancel_cb returns ENOENT(-2)
 * [LU-14607] - osd xattr cache wasting memory
 * [LU-14612] - Add new functions llapi_group_lock64/unlock64
 * [LU-14613] - sanity/60f fails on a local setup
 * [LU-14616] - ra_cur_pages broken readahead
 * [LU-14618] - when lov sub-lock initialization fails, LBUG: ASSERTION( (!(result == 0) || (nr == lovlck->lls_nr)) ) ensues
 * [LU-14621] - Broken lock-transaction ordering in MDS code
 * [LU-14627] - Lost ref on lnet_peer in discovery leads to LNetError: 24909:0:(peer.c:292:lnet_destroy_peer_locked) ASSERTION( list_empty(&lp->lp_peer_nets) ) failed:
 * [LU-14629] - Prevent file renaming from encrypted to unencrypted dir
 * [LU-14631] - quota pools: bug in qunit sort may cause write to hang
 * [LU-14632] - sanity-hsm test_606: losetup: /dev/mapper/mds1_flakey: failed to set up loop dev
 * [LU-14637] - mirror_extend should not sanity-check the layout of the file
 * [LU-14640] - ASSERTION( !PageDirty(lnb[i].lnb_page) in osd_write_commit
 * [LU-14644] - IOR SSF PFL ill-formed I/O job aborted with EIO during automated FOFB testing
 * [LU-14645] - setstripe cleanup
 * [LU-14646] - seek over file size and write causes stat reporting wrong file size
 * [LU-14647] - mapwrite a FLR file does not stale other mirrors
 * [LU-14648] - Oops: 0000 [#1] SMP DEBUG_PAGEALLOC in sanity-flr / 70
 * [LU-14649] - LNetDist may not return 0 for local NID
 * [LU-14653] - sanity-lnet test_300 fails when run in tree
 * [LU-14654] - Need to check if lnet_recovery_limit is non-zero in lnet_peer_ni_add_to_recoveryq_locked
 * [LU-14655] - BUG: unable to handle kernel NULL pointer dereference at 0000000000000058
 * [LU-14658] - conf-sanity test_122b: failed to write file
 * [LU-14659] - sanity test_413a: subdirs shouldn't be evenly distributed
 * [LU-14660] - Fix destination NID for discovery PUSH
 * [LU-14663] - race in mdc changelog polling code
 * [LU-14669] - Reduce time spent by sanity-sec
 * [LU-14673] - panic: crc32-table: crc32 alg self test failed in fips mode!
 * [LU-14687] - aio incorrectly discards some errors
 * [LU-14694] - racer timeouts with LU-10948
 * [LU-14696] - read-only client mounts shouldn't allow quota changes
 * [LU-14699] - changelog garbage collection is too lax
 * [LU-14701] - sanity-dom sanityn test_19 defect: incorrectly skipped
 * [LU-14704] - sanity/29 fails due to opencache
 * [LU-14706] - Build fix for LU-10467 lustre: add wait_event macros suitable for upstream
 * [LU-14707] - explicitly use /bin/bash to avoid 'dash' or 'sh' being used with scripts with bash-isms
 * [LU-14709] - invalidate remote MDT object which is accessed without lock
 * [LU-14711] - Canceling lock with a lot of cached data can take a lot of time
 * [LU-14713] - Process hung with waiting for mmap_sem
 * [LU-14721] - wait_destroy_complete in tests should run on MDS(es)
 * [LU-14724] - Kernel crash when setting NRS TBF policy
 * [LU-14725] - zpool get stuck after sanity/27Q
 * [LU-14729] - read-only remount due to transaction error in __ldiskfs_handle_dirty_metadata
 * [LU-14731] - mdd_changelog_llog_init fails to clear orphans changelog entries when no users are registered
 * [LU-14732] - struct hsm_user_request extent fields set to random values.
 * [LU-14733] - brw_bulk_ready BRW bulk READ failed for RPC from 12345-192.168.128.126@o2ib18: -103
 * [LU-14734] - enable large_dir on existing MDTs
 * [LU-14739] - capablity check should be aware of root squash
 * [LU-14740] - LustreError: 76942:0:(qsd_entry.c:243:qsd_refresh_usage) $$$ failed to read disk usage, rc:-3 qsd:lustre-MDT0000 qtype:prj id:4294967295 enforced:0 granted: 0 pending:0 waiting:0 req:0 usage: 0 qunit:0 qtune:0 edquot:0 default:yes
 * [LU-14748] - gcc9 (RHEL 7.x with devtoolset-9) build failure (5.4.x kernel)
 * [LU-14750] - LNet: consider nis flagged for fatal error when calculating net health
 * [LU-14752] - LustreError: 3594004:0:(lu_object.c:2472:lu_object_assign_fid) ASSERTION( rc == 0 ) failed: failed hashtable insertion: rc = -16
 * [LU-14762] - qos subdirectory creation stay on parent MDT if less full than average doesn't work as expected
 * [LU-14767] - mkfs.lustre unable to disable lazy_itable_init=0
 * [LU-14777] - lod: fix E2BIG on create
 * [LU-14778] - WARNING: CPU: 54 PID: 25514 at ll_ra_count_get.isra.32+0x188/0x1a0 [lustre]
 * [LU-14780] - LustreError: 4936:0:(file.c:4985:ll_layout_lock_set) LBUG
 * [LU-14781] - sanity-flr test 70: mirror create and split race crash
 * [LU-14787] - Provide an abstraction for AS_EXITING
 * [LU-14788] - sanity test_133g: crash in __proc_lnet_portal_rotor
 * [LU-14793] - HSM: record the index when scan HSM action llog for new HSM requests
 * [LU-14797] - lfs setquota should be nodemap aware
 * [LU-14802] - MGS configuration problems - cannot add new OST, change parameters, hanging
 * [LU-14804] - Moving a directory to lustre reports Operation not permitted when nodemap is set
 * [LU-14805] - Do not do parallel DIO except when lockless
 * [LU-14806] - o2iblnd: IB HCA failover with o2ib bonding is broken
 * [LU-14807] - GPF in lfsck_namespace_record_failure
 * [LU-14808] - yaml support for DOM file
 * [LU-14814] - sanity test_398b: osc_cache_writeback_range ASSERTION( hp == 0 && discard == 0 ) failed:
 * [LU-14817] - configure pretends it checks for __xa_set_mark, whereas it is not checked anymore
 * [LU-14826] - enable striped directory as NFS export
 * [LU-14828] - Remove extra debug from 398m
 * [LU-14831] - the OI scrub is triggered repeatedly
 * [LU-14844] - mgc_requeue_timeout_min is missing on old lustre version
 * [LU-14847] - clients crash: __ldlm_replay_locks) ASSERTION( atomic_read(&imp->imp_replay_inflight) == 1 ) failed
 * [LU-14854] - LBUG mdd_swap_layouts) lfs-MDD0007: unable to roll back layout swap
 * [LU-14865] - ppc64le build failure: llog_reader.c:887:9: error: format '%llu' expects argument of type 'long long unsigned int', but argument 2 has type '__u64' [-Werror=format=]
 * [LU-14866] - code cleanup after "LU-13073 osp: don't block waiting for new objects"
 * [LU-14867] - doc: a few words about an asterisk in lfs quota
 * [LU-14876] - OUT: possible concurrent execution of UPDATE request and its resent
 * [LU-14877] - Lock inversion between inode mutex and layout mutex
 * [LU-14880] - linux crypto/sha.h was removed. This affects SUSE 15 SP3 (server)
 * [LU-14881] - SUSE 15 SP3 build fails with redefined tcp_sock_set_* functions
 * [LU-14893] - 'lctl --device scratch-MDT0000 changelog_deregister' seg faults with no changelog user
 * [LU-14896] - 'lfs migrate -p ' should migrate file to pool with default layout arg
 * [LU-14899] - Add 5.4.136 mainline kernel support
 * [LU-14900] - Do not fail if kmemleak is nto writeable
 * [LU-14904] - Current master fails to build on Ubuntu 20.04 Kernel : 5.4.0.80
 * [LU-14905] - lfsck linkEA handling failure on overflow
 * [LU-14909] - LU-13417 patch breaks few recovery tests
 * [LU-14911] - osp_statfs_update can leak transaction handle
 * [LU-14924] - LustreError: 133-1: nbp17-OST0064-osc-ffff9bf24bc99800: BAD READ CHECKSUM
 * [LU-14926] - enhance llog_reader to print unlink and setattr records
 * [LU-14927] - osd-zfs could not be loaded on 4.14+ and 5.9+ (gpl issue)
 * [LU-14928] - Allow MD target re-registered after writeconf
 * [LU-14929] - Lustre does not build with GSS support because of missing libkeyutils
 * [LU-14930] - Server has no clients to recover after failover
 * [LU-14937] - Re-use configure cache for 'make rpms'
 * [LU-14938] - fail_abort in t-f should take care of MDTs
 * [LU-14940] - Source specified send to NID on different net should fail if there is no route
 * [LU-14941] - Remote NI recovery pings do not work in routed environment
 * [LU-14945] - LNet: don't use hops to determine whether the route is up or down
 * [LU-14948] - Make debs fails if /usr/src/lustre.tar.bz2 exists
 * [LU-14949] - gap in rename atomicity: possible to get ENOENT when renaming over an existing file
 * [LU-14951] - client hung on ll_file_open/ll_file_release
 * [LU-14954] - socklnd: fix link state detection
 * [LU-14956] - fld_server_lookup should repeat failed RPC
 * [LU-14957] - mdd_migrate sends RPC with a local transaction running
 * [LU-14959] - Users of ldlm_resource_get much check return value
 * [LU-14962] - Bug in MR implementation reintroduced LU-8106
 * [LU-14965] - ldiskfs/namei.c:3331 ldiskfs_orphan_add+0x11e/0x290 [ldiskfs]
 * [LU-14967] - rhashtable_walk_next can return -EAGAIN
 * [LU-14971] - sanity-flr test_200: FAIL: checksum error for mirror 2
 * [LU-14989] - Access to encrypted file's xattrs
 * [LU-14991] - Whitespace issue with sanity-lnet test_100 and test_101
 * [LU-14999] - Deadlock on parent during resend
 * [LU-15007] - Test-framework cannot enable quota using lctl set_param -P
 * [LU-15009] - precreate should cleanup orphans upon error
 * [LU-15013] - potential null pointer access in osc_prep_async_page
 * [LU-15014] - lu_ref_add called in atomic context
 * [LU-15018] - o2iblnd: kiblnd_dev_failover should treat cmid->device == NULL as an error
 * [LU-15020] - OSP_DISCONNECT blocking MDT unmount
 * [LU-15021] - sanity-quota test_55: crash in qmt_seed_glbe_all
 * [LU-15025] - PQ: stale edquot after clearing limits for a user in a pool
 * [LU-15026] - Fix ZFS(2.0.0-1) build error on CentOS (3.10)
 * [LU-15027] - sanity-sec: crash in __list_add_valid during sanity-sec test_47
 * [LU-15031] - invalid EDQUOT after OST failover
 * [LU-15038] - mgc_fs_setup can leak cl_mgc_mutex reference
 * [LU-15039] - Reference leak in lnet_parse
 * [LU-15040] - update max_easize on reconnect
 * [LU-15045] - lfs_migrate does not handle files with spaces in them
 * [LU-15047] - GSS and multi-rail incompatibility
 * [LU-15048] - Pool Quota: ASSERTION( qmt_info(env)->qti_lqes_rstr ) failed
 * [LU-15049] - qti_pools_add) ASSERTION( qti->qti_pools_num >= QMT_MAX_POOL_NUM ) failed: Forgot init?
 * [LU-15050] - sanity-dom defect: SANITYN_ONLY and SANITY_ONLY are ignored
 * [LU-15052] - Can't compile lustre client with kernel 5.11.0.36 (ubuntu 20.04)
 * [LU-15056] - Overflow when setting a tbf rule name
 * [LU-15057] - quota pool usage is missing from the "setquota" man page and command usage statement
 * [LU-15059] - Setting several tbf rules at the same time causes crashes
 * [LU-15060] - sanity-flr test_208[a,b] defects
 * [LU-15061] - sanity-dom sanityn: Test return non-zero exit code :1
 * [LU-15064] - sanity-sec test 58 fails with 'fail to ls'
 * [LU-15065] - buffered write performance regression with PQ enabled
 * [LU-15066] - set pool quota hard limit failed if limit larger than existing user quota soft limit
 * [LU-15067] - Bugs in LOD pool code found during development of Pool Quotas
 * [LU-15068] - Race between commit callback and reply_out_callback::LNET_EVENT_SEND
 * [LU-15070] - client does not inherit default directory layout if changed
 * [LU-15071] - conf-sanity test_89: Segmentation fault tunefs.lustre --erase-params lustre-mdt (zfs)
 * [LU-15074] - Build needs a strlcpy fallback if strscpy is not available
 * [LU-15076] - Add locking to ksocknal_find_timed_out_conn for safe ksnc_tx_queue list processing
 * [LU-15079] - (lu_object.h:1274:lu_env_info) ASSERTION( info ) failed:
 * [LU-15081] - set_nlink can race with itself corrupting s_remove_count on the client
 * [LU-15083] - osp_last_used_init returns -28
 * [LU-15086] - replay-dual: test_10: @@@@@@ FAIL: test_10 failed with 2
 * [LU-15089] - sanity-lnet test_230: expected number of tcp connections 18
 * [LU-15092] - Fix logic for unaligned transfer with o2iblnd
 * [LU-15093] - Check if param_set_uint_minmax is provided
 * [LU-15094] - map_on_demand not needed for frag interop
 * [LU-15095] - lctl: error invoking upcall /usr/sbin/lctl set_param *.*.lbug_on_grant_miscount=1
 * [LU-15097] - ASSERTION( list_empty(&qmt->qmt_pool_list)
 * [LU-15098] - sanity-sec test_27a: FAIL: setquota -p 1 failed
 * [LU-15102] - Reset lnet_ni::ni_ping_count when rx is finalized, not tx
 * [LU-15103] - clean up busy cifs mount
 * [LU-15106] - deprecated obdfilter parameter warn on read
 * [LU-15107] - Exclusive create isn't replayed
 * [LU-15109] - add extra Pool Quota test
 * [LU-15110] - cosmetic changes in Pool Quotas code
 * [LU-15112] - attempt to register an OST with duplicated index should fail but it does not
 * [LU-15114] - ASSERTION( atomic_read(&d->opd_sync_changes) > 0
 * [LU-15115] - ptlrpc resend on EINPROGRESS timeouts can be not correct
 * [LU-15118] - There isn't any free thread to process resend request
 * [LU-15119] - BUG: unable to handle kernel paging request at tgt_brw_read+0x16bf/0x1d80
 * [LU-15121] - Racer deadlock with RACER_ENABLE_STRIPED_DIRS
 * [LU-15122] - Lustre ASSERTION( iobuf->dr_rw == 0 ) crash on Arm server end
 * [LU-15125] - kiblnd_connd kernel BUG at lib/list_debug.c:53!
 * [LU-15130] - Setting an incorrect tbf rule causes a crash
 * [LU-15131] - sanity test_254 is always skipped due to wrong parameter path
 * [LU-15133] - don't deactivate OST upon normal precreate error
 * [LU-15137] - socklnd: decrement typed connection counters on close
 * [LU-15138] - lnetctl peer add doesn't detect duplicate router peer
 * [LU-15140] - recovery-random-scale: No sub tests failed in this test set, FAIL: remove sub-test dirs failed
 * [LU-15141] - Optimize capability check in case of root squash
 * [LU-15142] - LCTL: permanent parameter deletion and llog_print issues
 * [LU-15143] - journal_dirty_metadata failed: handle type 0 started at line 1926, credits 9/0, errcode -28
 * [LU-15145] - hsm_cancel on an inactive HSM restore request do not free the EX lock
 * [LU-15146] - BUG: unable to handle kernel NULL pointer dereference at (null): IP: [ ] mdt_lvb2body+0x2e/0xe0 [mdt]
 * [LU-15149] - Missing newline character in CWARN in lnet_add_route
 * [LU-15150] - Correct sanity-lnet cleanup
 * [LU-15151] - conf-sanity test_119: mds1: ssh: Could not resolve hostname mds1: Name or service not known
 * [LU-15152] - auster does not report correct test suite exit status
 * [LU-15164] - sanity-quota test_62 defect: wrong chattr -h check
 * [LU-15166] - test_818 is supposed to leave osp-syn threads up after the test end
 * [LU-15167] - fallocate does not increase quota usage
 * [LU-15170] - PCC cache re-attach does not work in containers
 * [LU-15171] - corrupted in-inode xattr
 * [LU-15175] - conf-sanity ldev based tests not functional
 * [LU-15176] - Encrypted directory cannot be mounted as subdirectory
 * [LU-15179] - sanity-quota tests don't cleanup space causing later tests to fail
 * [LU-15181] - wrong LASSERT in osd_declare_write_commit
 * [LU-15184] - LBUG: ASSERTION( buf_size == strlen(secctx_name) + 1 ) failed
 * [LU-15190] - ptlrpc_server_check_resend_in_progress can miss duplicate RPC
 * [LU-15191] - sanity-quota_72 is hanging with OSTCOUNT=8 and MDSCOUNT=4
 * [LU-15195] - IOR SSF: ior ERROR: write failed, errno 11, Resource temporarily unavailable (aiori-POSIX.c:535)
 * [LU-15200] - "lfs getdirstripe -D subdir" does not show correct inherited layout
 * [LU-15208] - Lustre server build fails against Ubuntu 20.04 Kernel : 5.4.0-90-generic
 * [LU-15216] - improve MDT QOS space balance
 * [LU-15217] - disable PCC for encrypted files
 * [LU-15219] - DoM: lfs migrate doesn't work as expected
 * [LU-15232] - sanity-lnet : @@@@@@ FAIL: Found 2 interfaces for NID
 * [LU-15244] - sanity test_101j: FAIL: expected 4096 got 4100
 * [LU-15260] - recovery-random-scale test_fail_client_mds: recovery-random-scale.sh: line 69: trevis-10vm9_nums: bad substitution
 * [LU-15262] - T10 never work on the RHEL8
 * [LU-15263] - panic: null pointer in qmt_pool_free->lu_context_key_get
 * [LU-15268] - lfs mirror extend error propagation
 * [LU-15279] - don't calculate an early reply size each time.
 * [LU-15283] - The quota reint thread maybe dead lock with lquota_wb thread
 * [LU-15285] - same dir rename deadlock
 * [LU-15298] - t-f:init_param_vars defect: error: set_param: param_path 'lod/*/mdt_hash': No such file or directory
 * [LU-15328] - lnet_selftest_init does not set rc on allocation failure
 * [LU-15334] - conf-sanity test_30a defect
 * [LU-15338] - sanity test_205a: No jobstats for id.205a.dd.320 found on ost1::*.lustre-OST0000.job_stats
 * [LU-15340] - client stuck unable to complete eviction with "still on delayed list" messages printed
 * [LU-15342] - recovery-mds-scale test_failover_mds: sh: IDLE: command not found
 * [LU-15356] - t-f PERM_CMD defect
 * [LU-15358] - Fix shellcheck errors
 * [LU-15360] - Remove hard-coded restore value of "enable_chprojid_gid" from sanity-quota/66
 * [LU-15362] - silent failure of layout component delete
 * [LU-15364] - Kernel oops when stripe on Arm64 Server end multiple MDTs
 * [LU-15381] - Obtain file size information under locks for HSM release
 * [LU-15396] - missing  in osd-ldiskfs
 * [LU-15398] - MR peers may put their own interfaces into peer recovery mode
 * [LU-15400] - sanity-lfsck defect: global MDT_DEVNAME can not be used after stop
 * [LU-15401] - Nesting request under ldlm lock in lmv_unpackmd
 * [LU-15402] - Speedup flock read lock enqueue
 * [LU-15403] - improve a sanity 901 a bit.
 * [LU-15404] - kernel panic and filesystem corruption in setxattr due to journal transaction restart
 * [LU-15406] - Using the native fscrypt for Ubuntu20 5.4 kernel fails several migration test
 * [LU-15407] - fscrypt does not work on Ubuntu 5.8 kernel
 * [LU-15408] - Confirm encrypted file's hash
 * [LU-15415] - Server build failure el8.5 in testing
 * [LU-15421] - Missing error calls in test scripts
 * [LU-15428] - add branch comparison script to contrib/scripts
 * [LU-15429] - mount_mds_client / umount_mds_client defects
 * [LU-15435] - __req_capsule_get: ASSERTION( msg != ((void *)0) ) failed
 * [LU-15440] - Memory leak in discovery
 * [LU-15445] - sanity test_160p defect: wrong start mds1 call
 * [LU-15455] - recovery-small.sh: line 3034: [: ==: unary operator expected
 * [LU-15456] - deadlock in ll_new_node when running racer
 * [LU-15459] - close(2) fails with EIO on enosp
 * [LU-15462] - build fix for gnilnd typo in extend nids in struct lnet_msg ...
 * [LU-15465] - conf-sanity test_27b, test_47, test_84 failed with exitcode 95
 * [LU-15467] - sanity-hsm test_103a: Timeout occurred after x min
 * [LU-15471] - sanity 17m, 17n, 228b, 256, 804 defect
 * [LU-15477] - osc_extent_wait deadlock
 * [LU-15478] - Regression in 005bd7075c LU-10391 lnet: Change lnet_send to take large-addr nids
 * [LU-15503] - Crash in qsd_upd_thread trying to print a debug message.
 * [LU-15506] - conf-sanity test_32b failed with 2: sha1sum verification failed
 * [LU-15512] - Infinite loop in lnet_discover_peer_locked
 * [LU-15545] - lgss_sk crash because of freeing twice
 * [LU-15546] - Shared Directory File Creates regression seen in 2.15 when comparing to 2.12.6
 * [LU-15548] - Interop: sanity-quota test 40b fails with ‘project id expected 2 not 1'
 * [LU-15551] - Interop: Various tests fail with fallocate “Protocol error” errors
 * [LU-15555] - directories may become corrupted when 10+ mln files are created
 * [LU-15571] - iotrace debug mask causing interop testing failures
 * [LU-15572] - Interop sanity-flr failing with "cannot get UNLOCK lease"
 * [LU-15574] - interop sanity test_77o: found 0 checksums, not $MDSCOUNT
 * [LU-15576] - Interop sanity test_823: Create count not set to max precreate
 * [LU-15577] - Interop sanity test_831: osp changes throttling failed, 999>110
 * [LU-15584] - ppc64le build failure: llog_reader.c:921:42: error: format '%llx' expects argument of type 'long long unsigned int', but argument 3 has type 'long unsigned int'
 * [LU-15589] - interop sanity test_230s: lfs mkdir doesn't return -EEXIST if target exists
 * [LU-15601] - osd_inode_iteration err ptr dereference, wrong bitmap checks in osd scrub
 * [LU-15608] - DIO broken for encrypted files
 * [LU-15612] - Replace unicode double quotes with ASCII(text)
 * [LU-15614] - Variable incorrectly used in sanity-flr/203
 * [LU-15616] - sanity-lnet test_226: Timeout occurred after 112 minutes, last suite running was sanity-lnet
 * [LU-15634] - Use after free in ptlrpc
 * [LU-15637] - Bug in ci_rand_read handling causes LBUG in osc_req_attr_set: Uncovered page
 * [LU-15645] - gap in recovery llog should not be a fatal error
 * [LU-15655] - update branch_comm to python3
 * [LU-15661] - Nodemap possibly broken with upgrade
 * [LU-15670] - Disable parallel dio with O_APPEND
 * [LU-15692] - performance regressions for files in stripe directory
 * [LU-15702] - (lov_lock.c:206:lov_lock_sub_init) ASSERTION( (!(result == 0) || (nr == lovlck->lls_nr)) ) failed:
 * [LU-15719] - Update changelog to properly reflect status of supported kernels for 2.15 release
 * [LU-15724] - MDT failover hang
 * [LU-15757] - sanityn test_109: Oops in ll_md_blocking_ast at umount
 * [LU-15761] - cannot finish MDS recovery
 * [LU-15776] - 2.15 RC3: lost writes during server fofb by forced panics
 * [LU-15787] - clients built without encryption support can corrupt encrypted directories
 * [LU-15788] - lazystatfs + FOFB + mpich problems
 * [LU-15803] - Correctly handle page locking in ll_io_zero_page
 * [LU-15810] - Migrated encrypted directory lacks on-disk encryption flag and context
 * [LU-15815] - fast_read/stale data/reclaim workround causes SIGBUS
 * [LU-15827] - BUG: KASAN: slab-out-of-bounds in osd_ldiskfs_filldir+0x16c2/0x1860 [osd_ldiskfs]
 * [LU-15848] - ldiskfs: escape encrypted file names
 * [LU-15858] - Enable filename encryption separately from data encryption
 * [LU-15876] - sanity-flr test_49a: missing spaces in ALWAYS_EXCEPT

New Feature


 * [LU-9121] - Multi-Rail: User Defined Selection Policy
 * [LU-9162] - Option to set max stripe count per filesystem
 * [LU-11872] - Request for option not to follow symlink when setting project ID
 * [LU-13717] - Client-side encryption - support file name encryption
 * [LU-13730] - Check need to mirror Extend on a WRITE_PENDING (wp) FLR file
 * [LU-14792] - DNE3: enable filesystem-wide default LMV
 * [LU-14798] - NVIDIA GPUDirect Storage Support
 * [LU-14975] - DNE3: directory migration in non-recursive mode
 * [LU-15293] - Add lbuild support for latest Arm64 CentOS8
 * [LU-15307] - Option to set max directory stripe count per filesystem
 * [LU-15314] - set default max-inherit to 3 for default dir stripe policy if stripe count is not 0 or 1

Task


 * [LU-9855] - Clean up obdclass preprocessor code
 * [LU-13933] - Clean up quoting in various shell scripts.
 * [LU-14432] - update e2fsprogs to 1.46.2
 * [LU-14779] - lctl get_param does invalid DNS lookups
 * [LU-14786] - lod creates broken debugfs symlinks
 * [LU-14789] - sanity 133f and 133g are no longer effective
 * [LU-15186] - Default ko2iblnd map_on_demand to 1

Improvement
 * [LU-9206] - DNE - allow partial access to striped dir if one of the MDTs is unavailable
 * [LU-9537] - implement "lfs getstripe --fid" for directory FIDs
 * [LU-10378] - "lfs find" is missing "-printf" support
 * [LU-10633] - Convert MDS restoring RPC message to D_WARNING
 * [LU-10640] - ha.sh improvement: add stat(2) check
 * [LU-11188] - Add to "lfs find" the ability to check on permissions
 * [LU-11698] - Add debugfs file to print checksum speed
 * [LU-11776] - add "lfs find" support for directory hash flags
 * [LU-11839] - iokit-gather-stats help message woks with ‘-h’ or ‘--help’ not ‘-help’
 * [LU-12125] - Allow parallel rename of regular files
 * [LU-12142] - Hang in OSC on eviction - threads stuck in read and ldlm_bl_NN
 * [LU-12780] - Avoid using ptlrpc_thread where is in't needed
 * [LU-13055] - add ability for named Changelog consumers
 * [LU-13076] - DNE3: lfs migrate -m should allow -1 as the target index
 * [LU-13107] - clean up lctl commands
 * [LU-13124] - lfsck check for multiple linked file at OST
 * [LU-13176] - rename to another directory should transfer project quota
 * [LU-13239] - ldiskfs: pass initial inode attributes at creation time
 * [LU-13299] - LNet: add the option to reset statistics to lnetctl utility
 * [LU-13309] - performance optimizations for brw
 * [LU-13326] - remove MDS_SETATTR_PORTAL on MDS
 * [LU-13344] - Support for linux 5.6 clients
 * [LU-13417] - DNE3: mkdir automatically create remote directory on MDS which has more space
 * [LU-13440] - DNE3: limit directory default layout inheritance
 * [LU-13550] - Report barrier incompatible client(s) when snapshot_create fails
 * [LU-13560] - 'lfs mkdir -i N' should be 'sticky' on a particular MDT
 * [LU-13569] - LNet Health should not recover interfaces indefinitely
 * [LU-13575] - LNet should ensure round-robin interface selection when interfaces are healthy
 * [LU-13594] - register OOM callback in Lustre
 * [LU-13668] - open-for-read should not conflict with mirror creation
 * [LU-13705] - allow llstat to work properly on clients
 * [LU-13749] - Compile a list of failed tests for Ubuntu/PPC and add them to skipped list
 * [LU-13780] - Leverage peer aliveness more efficiently
 * [LU-13798] - Improve direct i/o performance with multiple stripes: Submit all stripes of a DIO and then wait
 * [LU-13937] - Do not return -ENODATA while removing XATTR_NAME_FID
 * [LU-13952] - add default quota to OST pool quotas
 * [LU-13971] - Report Pool Quotas for a user
 * [LU-14047] - change EWOULDBLOCK to EAGAIN, add EWOULDBLOCK to spelling.txt
 * [LU-14073] - Support for linux kernel version 5.9
 * [LU-14138] - Move more members in PTLRPC request into pill
 * [LU-14160] - Implement fallocate FALLOCATE_FL_PUNCH_HOLE support
 * [LU-14217] - better SEEK_HOLE/DATA support in OSD-ZFS
 * [LU-14262] - lfs to set component flags by pool name
 * [LU-14270] - enhance ha.sh to delay power up node
 * [LU-14271] - ha.sh: add new "sysrqcrash" node crash method
 * [LU-14272] - ha.sh: add the ability to set different MPIRUN_OPTIONS for different users
 * [LU-14273] - enhance ha.sh to run custom cmd on bg
 * [LU-14274] - enhance racer/file_create.sh to set striping
 * [LU-14275] - enhance run_ior to skip cleanup at the end of test
 * [LU-14285] - Add error message under mkfs.lustre binary when osd_init fails
 * [LU-14289] - Restrict libcfs to compatibility code only
 * [LU-14305] - add persistent tuning for mb_c3_threshold
 * [LU-14340] - cleanup stale code from test-framework.sh
 * [LU-14352] - Only use wake_up_all when necessary
 * [LU-14353] - Move obdclass/debug.c to obdecho/
 * [LU-14357] - Simplify locking in fid_request
 * [LU-14382] - Implement fallocate support at MDT
 * [LU-14385] - add more test cases to verify "lfs setstripe" options
 * [LU-14388] - Add '-O project' to default mke2fs options
 * [LU-14395] - kernel update [RHEL7.9 3.10.0-1160.15.2.el7]
 * [LU-14409] - ldiskfs support for SUSE 15 SP2 5.3.18-24.46.1 kernel
 * [LU-14450] - kernel update [RHEL8.3 4.18.0-240.15.1.el8_3]
 * [LU-14473] - Verify RUNAS and RUNAS_ID separately from filesystem operation
 * [LU-14475] - Make too short log messages meanful
 * [LU-14487] - Update trademark claims, license comments, and related text
 * [LU-14488] - Support rdma_connect_locked
 * [LU-14516] - make mgc's wait-before-reprocess configurable
 * [LU-14527] - kernel update [RHEL7.9 3.10.0-1160.21.1.el7]
 * [LU-14529] - kernel update [SLES15 SP2 5.3.18-24.52.1]
 * [LU-14530] - kernel update [SLES12 SP5 4.12.14-122.63.1]
 * [LU-14566] - Skip discovery in LNetPrimaryNID when lnet_peer_discovery_disabled is set
 * [LU-14585] - enhance ha.sh to create working striped directory
 * [LU-14596] - Ubuntu combined MGT/MDT issue
 * [LU-14599] - Change vmalloc to kmalloc at osp_sync_process_committed.
 * [LU-14604] - kernel update [RHEL8.3 4.18.0-240.22.1.el8_3]
 * [LU-14617] - Add updatelog support for llog_reader
 * [LU-14619] - Include max_sectors_kb option of mount.lustre in the usage message
 * [LU-14622] - osd-ldiskfs to mark pages accessed on reads
 * [LU-14628] - Remove redundant might_sleep in sptlrpc_gc_del_sec
 * [LU-14641] - per extents bytes allocation stats
 * [LU-14651] - Linux kernel 5.12 support
 * [LU-14661] - Provide kernel API for adding peer/peer NI
 * [LU-14662] - Add mechanism for provisioning sysctl settings and routing rules for MR
 * [LU-14665] - simplify lnet_ni_add_interface
 * [LU-14670] - kernel update [RHEL7.9 3.10.0-1160.25.1.el7]
 * [LU-14671] - kernel update [SLES15 SP2 5.3.18-24.61.1]
 * [LU-14672] - kernel update [SLES12 SP5 4.12.14-122.66.2]
 * [LU-14677] - lfs migrate/mirror of encrypted files
 * [LU-14681] - typo in lustre_get_jobid
 * [LU-14682] - sanity-flr fails on a small system due lack of space
 * [LU-14688] - Changelog cancel improvement
 * [LU-14689] - starting running HSM coordinator should success
 * [LU-14690] - RHEL8.4 support
 * [LU-14693] - bypass DLM locking on parent directory for volatile files
 * [LU-14702] - cleanup comment in osc_object_is_contended
 * [LU-14703] - Fix mismatched lustre-libcfs.m4 comments
 * [LU-14742] - socklnd: detect link down and mark ni as unusable
 * [LU-14754] - add Overstripe support to racer
 * [LU-14755] - t-f is to be enhanced to create required number of pools on fs
 * [LU-14775] - kernel update [SLES12 SP5 4.12.14-122.74.1]
 * [LU-14776] - Ubuntu 20.04 HWE support
 * [LU-14782] - support for SLES 15 SP3
 * [LU-14785] - Ubuntu / debian 'make debs' results in a -dirty package even with a clean sandbox
 * [LU-14790] - Local NI status should reflect whether ni_fatal_error_on flag is set
 * [LU-14801] - Improve the performance of "lfs find -perm" by checking on the MDT
 * [LU-14833] - quiet spurious gss_init_svc_upcall console message
 * [LU-14871] - kernel update [RHEL7.9 3.10.0-1160.36.2.el7]
 * [LU-14879] - ldiskfs support for SP3
 * [LU-14889] - checksum_type support for server
 * [LU-14903] - update lfs-setdirstripe man page
 * [LU-14912] - client picking other checksum type over T10PI
 * [LU-14934] - kernel update [SLES12 SP5 4.12.14-122.83.1]
 * [LU-14935] - Improve fake i/o performance
 * [LU-14939] - Allow specifying source NI for lnetctl ping
 * [LU-14960] - enhance ha.sh to work with several mount points
 * [LU-14961] - t-f is to be enhanced to set pool quotas
 * [LU-14990] - Replace usage of "eth0" in sanity-lnet.sh
 * [LU-14994] - kernel update [RHEL7.9 3.10.0-1160.42.2.el7]
 * [LU-14996] - select preferred mirror using non-rotational status
 * [LU-15005] - Ubuntu dkms packages do not list all dependancies required
 * [LU-15008] - kernel update [RHEL8.4 4.18.0-305.19.1.el8_4]
 * [LU-15010] - grant shrink for MDTs
 * [LU-15011] - implement lod pool spilling
 * [LU-15028] - improve ha.sh to be more verbose
 * [LU-15099] - kernel update [RHEL7.9 3.10.0-1160.45.1.el7]
 * [LU-15104] - enhance ha.sh to create client dirs with custom ha_dir_stripe_count
 * [LU-15126] - RHEL 8.5 support
 * [LU-15136] - socklnd: default conns_per_peer to 0
 * [LU-15154] - kernel update [SLES15 SP3 5.3.18-59.27.1]
 * [LU-15156] - Back port upstream patch for rwsem issue
 * [LU-15160] - kernel update [SLES12 SP5 4.12.14-122.91.2]
 * [LU-15168] - osd_idc_find_and_init should use OBD_ALLOC_LARGE
 * [LU-15182] - Add .gitreview file
 * [LU-15196] - kernel update [RHEL8.4 4.18.0-305.25.1.el8_4]
 * [LU-15197] - Do not count tiny write twice in stats
 * [LU-15218] - remove unused quota ID
 * [LU-15220] - Linux kernel 5.14 support
 * [LU-15222] - Update ZFS version to 2.0.6
 * [LU-15245] - getxattr can lead to MDS thread exhaustion and deadlock
 * [LU-15252] - option to disable LSOM updates
 * [LU-15275] - Skip router discovery on send path
 * [LU-15286] - build perf package on el8
 * [LU-15292] - kernel update [RHEL7.9 3.10.0-1160.49.1.el7]
 * [LU-15331] - kernel update [SLES15 SP2 5.3.18-24.96.1]
 * [LU-15339] - sanity test 208 fails with 'lease not broken over recovery'
 * [LU-15363] - Don't use lustre modules to test LNet with sanity-lnet
 * [LU-15366] - tbf: Increase maximum rpc rate for default rule
 * [LU-15370] - remove verbose debugging from ksocklnd
 * [LU-15410] - Add MDS Space check for dom-performance/IOR TEST
 * [LU-15417] - Build lustre on MOFED 5.5
 * [LU-15422] - Update ZFS version to 2.0.7
 * [LU-15446] - Local recovery pings on MR nodes may not exercise all available paths
 * [LU-15452] - support lctl getattr for osc devices
 * [LU-15830] - distribute mkdir should lookup target name

Technical task


 * [LU-11643] - create disk images for Lustre 2.10 and 2.12 for ldiskfs
 * [LU-12815] - Create multiple TCP sockets per SockLND
 * [LU-13621] - LNET peer doesn't distribute well to different CPT
 * [LU-13641] - socklnd: remove use_tcp_bonding option in favor of LNet Multi-Rail
 * [LU-14676] - Better hash distribution to different CPTs when LNET router is exist