WARNING: This is the _old_ Lustre wiki, and it is in the process of being retired. The information found here is all likely to be out of date. Please search the new wiki for more up to date information.
Change Log 1.6
(Updated: Jun 2009)
Changes from v1.6.7.1 to v1.6.7.2
Support for networks:
- socklnd - any kernel supported by Lustre™
- qswlnd - Qsnet kernel modules 5.20 and later
- openiblnd - IbGold 1.8.2
- o2iblnd - OFED 1.1, 1.2.0, 1.2.5, and 1.3.1
- viblnd - Voltaire ibhost 3.4.5 and later
- ciblnd - Topspin 3.2.0
- iiblnd - Infiniserv 3.3 + PathBits patch
- gmlnd - GM 2.1.22 and later
- mxlnd - MX 1.2.1 or later
- ptllnd - Portals 3.3 / UNICOS/lc 1.5.x, 2.0.x
Support for kernels:
- 2.6.5-7.314 (SLES 9)
- 2.6.9-78.0.22.EL (RHEL 4)
- 2.6.16.60-0.37 (SLES 10)
- 2.6.18-92.1.26.el5 (RHEL 5)
- 2.6.22.14 vanilla (kernel.org)
Client support for unpatched kernels: (see Patchless Client)
- 2.6.16 - 2.6.22 vanilla (kernel.org)
Client support for unpatched kernels:
- We do not recommend using patchless RHEL4 clients with kernels prior to 2.6.9-55EL (RHEL4U5).
Recommended e2fsprogs version: 1.40.11-sun1
RHEL 4 and RHEL 5/SLES 10 clients behaves differently on cd ./ to a removed current working directory (refer to bugzilla 14399.
A new quota file format was introduced in 1.6.6 (for 2.6.16+ kernels). The format conversion from prior releases is handled transparently, but releases older than 1.6.6/1.8.0 don't understand this new format. The automatic format conversion can be avoided by running the following commands on the MDS and OSS servers (for pre 1.4.12-1.6.5 quota files):
tunefs.lustre --param="mdt.quota_type=ug1" $MDTDEV tunefs.lustre --param="ost.quota_type=ug1" $MDTDEV
or (for 1.4.12/1.6.5 quota files)
tunefs.lustre --param="mdt.quota_type=ug2" $MDTDEV tunefs.lustre --param="ost.quota_type=ug2" $MDTDEV
For more information, please refer to bugzilla 13904.
Output of lfs quota has been made less detailed by default, old (verbose) output can be obtained by using -v option.
File join has been disabled in this release. Refer to bugzilla 16929.
A new Lustre ADIO driver is available for MPICH2-1.0.7.
NFS export disabled when stack size < 8192. Since the NFSv4 export of Lustre file system with 4K stack may cause a stack overflow. For more information, please refer to bugzilla 17630
- Bugzilla: 19601
Severity: enhancement
Description: Update kernel to RHEL5.2 2.6.18-92.1.26.
- Bugzilla: 19453
Severity: critical, only with RHEL4/SLES9 MDS
Description: user xattr corruption
Details: setting extended attributes can corrupt other attributes stored in the inode body. Both user & lustre internal (LOV EA) attributes are concerned. In the latter case, the lustre filesystem can be damaged.
- Bugzilla: 16504
Severity: enhancement
Description: Update kernel to RHEL4.7 2.6.9-78.0.22.
- Bugzilla: 18289
Severity: enhancement
Description: allow the use of the kernel provided OFED stack
Details: This patch allows for lbuild to use the OFED stack provided by the kernel vendor. For the RHEL4 and RHEL5 kernels, we enable the kernel supplied OFED stack.
- Bugzilla: 18775
Severity: enhancement
Description: improve lctl set/get_param
Details: handle the bad options, support more than one arguments, add '-F' option to append the indicator to the parameters.
- Bugzilla: 19212
Severity: enhancement
Description: Update kernel to SLES10 SP2 2.6.16.60-0.37.
- Bugzilla: 19495
Severity: major
Frequency: rare
Description: fix lqs' reference which won't be put in some situations.
Details: This patch fixes:
- In quota_check_common(), this function will check quota for user and group, but only send one return via "pending". In most cases, the pendings should be same. But that is not always the case.
- If quotaoff runs between lquota_chkquota() and lquota_pending_commit(), the same thing will happen too. That is why it comes:
if (!ll_sb_any_quota_active(qctxt->lqc_sb)) RETURN(0);
Changes from v1.6.7 to v1.6.7.1
Support for networks:
- socklnd - any kernel supported by Lustre
- qswlnd - Qsnet kernel modules 5.20 and later
- openiblnd - IbGold 1.8.2
- o2iblnd - OFED 1.1, 1.2.0, 1.2.5, and 1.3.1
- viblnd - Voltaire ibhost 3.4.5 and later
- ciblnd - Topspin 3.2.0
- iiblnd - Infiniserv 3.3 + PathBits patch
- gmlnd - GM 2.1.22 and later
- mxlnd - MX 1.2.1 or later
- ptllnd - Portals 3.3 / UNICOS/lc 1.5.x, 2.0.x
Support for kernels:
- 2.6.5-7.314 (SLES 9)
- 2.6.9-67.0.22.EL (RHEL 4)
- 2.6.16.60-0.31 (SLES 10)
- 2.6.18-92.1.17.el5 (RHEL 5)
- 2.6.22.14 vanilla (kernel.org)
Client support for unpatched kernels: (see Patchless Client)
- 2.6.16 - 2.6.22 vanilla (kernel.org)
Client support for unpatched kernels:
- We do not recommend using patchless RHEL4 clients with kernels prior to 2.6.9-55EL (RHEL4U5).
Recommended e2fsprogs version: 1.40.11-sun1
Note that reiserfs quotas are disabled on SLES 10 in this kernel.
RHEL 4 and RHEL 5/SLES 10 clients behaves differently on cd ./ to a removed current working directory (refer to bugzilla 14399.
A new quota file format has been introduced in 1.6.5. The format conversion from prior releases is handled transparently, but releases older than 1.4.12/1.6.5 will not understand this new format. The automatic format conversion can be avoided by running the following command on the MDS before upgrading:
tunefs.lustre --param="mdt.quota_type=ug1" $MDTDEV
For more information, please refer to bugzilla 13904.
A new quota file format was introduced in 1.6.6 (for 2.6.16+ kernels). The format conversion from prior releases is handled transparently, but releases older than 1.6.6/1.8.0 don't understand this new format. The automatic format conversion can be avoided by running the following commands on the MDS and OSS servers (for pre 1.4.12-1.6.5 quota files):
tunefs.lustre --param="mdt.quota_type=ug1" $MDTDEV tunefs.lustre --param="ost.quota_type=ug1" $MDTDEV
or (for 1.4.12/1.6.5 quota files)
tunefs.lustre --param="mdt.quota_type=ug2" $MDTDEV tunefs.lustre --param="ost.quota_type=ug2" $MDTDEV
For more information, please refer to bugzilla 13904.
Output of lfs quota has been made less detailed by default, old (verbose) output can be obtained by using -v option.
File join has been disabled in this release, refer to bugzilla 16929.
A new Lustre ADIO driver is available for MPICH2-1.0.7.
NFS export disabled when stack size < 8192. Since the NFSv4 export of Lustre filesystem with 4K stack may cause a stack overflow. For more information, please refer to bugzilla 17630.
- Bugzilla: 18810
Severity: major
Frequency : rare
Description: fix racy locking of mballoc block bitmaps causing BUG
Details: The locking of the mballoc buddy bitmap and the in-memory block bitmap was using two different spin locks in some cases. This made it possible to incorrectly access the mballoc bitmap while another process was modifying it, causing a sanity assertion to fail. While no on-disk corruption was reported, there was some risk of this happening.
- Bugzilla: 18480
Frequency: common
Description: correct count of recoverable clients
Details: if recovery failed for client for some reasons (goal inode or something else) server can wait failed clients for finish recovery.
- Bugzilla: 18695
Severity: critical
Frequency: when directories had atime set in past (e.g. untar)
Descriptoin: Lustre detected file system corruption with inode out of bounds
Details: don't update i_size on MDS_CLOSE for directories. This causes directory corruptions on the MDT.
- Bugzilla: 18895
Severity: normal
Frequency: on failed service startup
Description: replay-single test_61d: LustreError: 17392:0:(lprocfs_status.c:859:lprocfs_obd_cleanup()) ASSERTION(obd->obd_proc_exports_entry->subdir == NULL) failed
Details: cleanup lprocfs entries on error.
- Bugzilla: 18903
Severity: normal
Frequency: rare
Description: llmount.sh: BUG: spinlock wrong owner on CPU#0, mount.lustre/8180
Details: fix typo in import_set_conn() causing spinlock corruption.
- Bugzilla: 18859
Severity: normal
Frequency: rare, only when using group lock on client
Description: Group Lock in Lustre: write call is blocking
Details: fix wrong return code of ll_is_file_contended() causing processes to be blocked indefinitely.
- Bugzilla: 17757
Severity: normal
Frequency: rare
Description: ASSERTION(new_lock != NULL) failed:op 0x1 lockh 0x0
Details: DISP_OPEN_LOCK is not cleared properly in reconstruct_open() since intent_disposition() is used instead of intent_set_disposition().
- Bugzilla: 15428
Severity: major
Frequency: occasional when using software RAID5
Description: raid5 panics
Details: fix panic in raid5_end_read_request().
Changes from v1.6.6 to v1.6.7
Support for networks:
- socklnd - any kernel supported by Lustre
- qswlnd - Qsnet kernel modules 5.20 and later
- openiblnd - IbGold 1.8.2
- o2iblnd - OFED 1.1, 1.2.0, 1.2.5, and 1.3.1
- viblnd - Voltaire ibhost 3.4.5 and later
- ciblnd - Topspin 3.2.0
- iiblnd - Infiniserv 3.3 + PathBits patch
- gmlnd - GM 2.1.22 and later
- mxlnd - MX 1.2.1 or later
- ptllnd - Portals 3.3 / UNICOS/lc 1.5.x, 2.0.x
Support for kernels:
- 2.6.5-7.314 (SLES 9)
- 2.6.9-67.0.22.EL (RHEL 4)
- 2.6.16.60-0.31 (SLES 10)
- 2.6.18-92.1.17.el5 (RHEL 5)
- 2.6.22.14 vanilla (kernel.org)
Client support for unpatched kernels: (see Patchless_Client)
- 2.6.16 - 2.6.22 vanilla (kernel.org)
Client support for unpatched kernels:
- We do not recommend using patchless RHEL4 clients with kernels prior to 2.6.9-55EL (RHEL4U5).
Recommended e2fsprogs version: 1.40.11-sun1
Note that reiserfs quotas are disabled on SLES 10 in this kernel.
RHEL 4 and RHEL 5/SLES 10 clients behaves differently on cd ./ to a removed current working directory (refer to bugzilla 14399.
A new quota file format has been introduced in 1.6.5. The format conversion from prior releases is handled transparently, but releases older than 1.4.12/1.6.5 will not understand this new format. The automatic format conversion can be avoided by running the following command on the MDS before upgrading:
tunefs.lustre --param="mdt.quota_type=ug1" $MDTDEV
For more information, please refer to bugzilla 13904.
A new quota file format was introduced in 1.6.6 (for 2.6.16+ kernels). The format conversion from prior releases is handled transparently, but releases older than 1.6.6/1.8.0 don't understand this new format. The automatic format conversion can be avoided by running the following commands on the MDS and OSS servers (for pre 1.4.12-1.6.5 quota files):
tunefs.lustre --param="mdt.quota_type=ug1" $MDTDEV tunefs.lustre --param="ost.quota_type=ug1" $MDTDEV
or (for 1.4.12/1.6.5 quota files)
tunefs.lustre --param="mdt.quota_type=ug2" $MDTDEV tunefs.lustre --param="ost.quota_type=ug2" $MDTDEV
For more information, please refer to bugzilla 13904.
- Bugzilla: 16498
Severity: normal
Description: Get RAID stripe size from superblock
Details: RAID striping parameters are now saved in the superblock itself, so we should use these parameters instead of having to specify a mount option each time.
- Bugzilla: 16438
Severity: major
Description: Disable big-endian ldiskfs server support.
Details: The ldiskfs code is not tested on big-endian machines, and there are known compatibility problems in the extents code when running for most of the kernels. Print an error message and refuse to mount, in case anyone tests this. For existing file systems that might have been created in this way it is possible to mount with the "bigendian_extents" option to force the mount.
- Bugzilla: 15983
Severity: major
Description: workaround for OOM from o2iblnd
Details: OFED needs allocate big chunk of memory for QP while creating connection for o2iblnd, OOM can happen if no such a contiguous memory chunk. QP size is decided by concurrent_sends and max_fragments of o2iblnd, now we permit user to specify smaller value for concurrent_sends of o2iblnd(i.e: concurrent_sends=7), which will decrease memory block size required by creating QP.
- Bugzilla: 15093
Severity: major
Description: Support Zerocopy receive of Chelsio device
Details: Chelsio driver can support zerocopy for iov[1] if it's contiguous and large enough.
- Bugzilla: 13490
Severity: normal
Description: fix credit flow deadlock in uptllnd
- Bugzilla: 16308
Severity: normal
Description: finalize network operation in reasonable time
Details: conf-sanity test_32a couldn't stop ost and mds because it tried to access non-existent peer and tcp connect took quite long before timing out.
- Bugzilla: 16338
Severity: major
Description: Continuous recovery on 33 of 413 nodes after lustre oss failure
Details: Lost reference on conn prevents peer from being destroyed, which could prevent new peer creation if peer count has reached upper limit.
- Bugzilla: 16102
Severity: normal
Description: LNET Selftest results in Soft lockup on OSS CPU
Details: only hits when 8 or more o2ib clients involved and a session is torn down with 'lst end_session' without preceeding 'lst stop'.
- Bugzilla: 16321
Severity: minor
Description: concurrent_sends in IB LNDs should not be changeable at run time
Details: concurrent_sends in IB LNDs should not be changeable at run time
- Bugzilla: 18238
Severity: normal
Frequency: rare
Description: panic in mds_open
Details: don't confuse mds_finish_transno() with PTR_ERR(-ENOENT)
- Bugzilla: 17972
Severity: normal
Frequency: rare
Description: stuck in cache_remove_extent() or panic with accessing to already freed look.
Details: release lock refernce only after add page to pages list.
- Bugzilla: 17636
Severity: normal
Frequency: always with long access acl
Descriptoin: mds can't pack reply with long acl.
Details: mds don't control size of acl but they limited by reint/getattr reply buffer.
- Bugzilla: 18049
Severity: normal
Frequency: start MDS on uncleanly shutdowned MDS device
Description: aborting recovery hang on MDS
Details: don't throttle destroy RPCs for the MDT.
- Bugzilla: 18018
Severity: major
Frequency: on remount
Description: external journal device not working after the remount
Details: clear dev_rdonly flag for external journal devices in blkdev_put()
- Bugzilla: 17802
Severity: minor
Frequency: rare
Description: shutdown vs evict race
Details: client_disconnect_export vs connect request race. if client will evicted at this time - we start invalidate thread without referece to import and import can be freed at same time.
- Bugzilla: 16693
Severity: minor
Frequency: always
Description: shrink LOV EAs before replying
Details: correctly adjust LOV EA buffer for reply.
- Bugzilla: 16081
Severity: normal
Frequency: rare
Description: don't skip ost target if they assigned to file
Details: Drop slow OSCs if we can, but not for requested start idx. This means "if OSC is slow and it is not the requested start OST, then it can be skipped, otherwise skip it only if it is inactive/recovering/out-of-space.
- Bugzilla: 17201
Severity: enhancement
Description: Update to RHEL5 kernel-2.6.18-92.1.17.el5.
- Bugzilla: 16492
Severity: normal
Frequency: rare, need ACLs on inode.
Description: client can't handle ost additional correctly
Details: if ost was added after client connected to mds client can have hit lnet_try_match_md ... to big messages to wide striped files. in this case need teach client to handle config events about add lov target and update client max ea size at that event.
- Bugzilla: 17374
Severity: enhancement
Description: Update to sles9 kernel-2.6.5-7.314.
- Bugzilla: 17458
Severity: enhancement
Description: Update to SLES10 SP2 kernel-2.6.16.60-0.31.
- Bugzilla: 16578
Severity: normal
Frequency: Create a symlink file with a very long name
Description: ldlm_cancel_pack()) ASSERTION(max >= dlm->lock_count + count)
Details: If there is no extra space in the request for early cancels, ldlm_req_handles_avail() returns 0 instead of a negative value.
- Bugzilla: 16492
Severity: major
Frequency: rare, during racing unlink and create in same directory
Description: mds is deadlocked
Details: in rare cases, inode in directory can have inode number lower than parent inode number. This produces wrong locking order during open and parallel unlink. Teach mds_open to grab locks in inode number order, not parent -> child order.
- Bugzilla: 1819
Severity: enhancement
Description: Add /proc entry for import status
Details: The mdc, osc, and mgc import directories now have an import directory that contains useful import data for debugging connection problems.
- Bugzilla: 15966
Severity: enhancement
Description: Re-disable certain /proc logging
Details: Enable and disable client's offset_stats, extents_stats and extents_stats_per_process stats logging on the fly.
- Bugzilla: 16643
Severity: enhancement
Description: Generic /proc file permissions
Details: Set /Proc file permissions in a more generic way to enable non-root users operate on some /proc files.
- Bugzilla: 16561
Severity: major
Description: Hitting mdc_commit_close() ASSERTION
Details: Properly handle request reference release in ll_release_openhandle().
- Bugzilla: 16907
Severity: normal
Description: Prevent import from entering FULL state when server in recovery
- Bugzilla: 16750
Severity: normal
Frequency: only with devices that have a ':' in the name
Description: service mount cannot take device name with ':'
Details: Only when device name contains ":/" will mount treat it as client mount.
- Bugzilla: 15927
Severity: normal
Frequency: rare
Description: replace ptlrpcd with the statahead thread to interpret the async statahead RPC callback
- Bugzilla: 16611
Severity: normal
Frequency: on recovery
Description: I/O failures after umount during fail back
Details: if client reconnected to restarted server we need join to recovery instead of find server handler is changed and process self eviction with cancel all locks.
- Bugzilla: 16633
Severity: enhancement
Description: Update to RHEL5 kernel-2.6.18-92.1.10.el5.
- Bugzilla: 16547
Severity: enhancement
Description: Update to SLES10 SP2 kernel-2.6.16.60-0.27.
- Bugzilla: 16566
Severity: enhancement
Description: Upcall on Lustre log has been dumped
Details: Allow for a user mode script to be called once a Lustre log has been dumped. It passes the filename of the dumped log to the script, the location of the script can be specified via /proc/sys/lnet/debug_log_upcall.
- Bugzilla: 16583
Severity: minor
Frequency: rare
Description: avoid messages about idr_remove called for unallocated id.
Details: Move s_dev assigment for clustered NFS to end of initialization, to avoid problem with error handling.
- Bugzilla: 16109
Severity: minor
Frequency: rare
Description: avoid Already found the key in hash [CONN_UNUSED_HASH] messages
Details: When connection is reused this not moved from CONN_UNUSED_HASH into CONN_USED_HASH and this prodice warning when put connection again in unused hash.
- Bugzilla: 16573
Severity: enhancement
Description: Export bytes_read/bytes_write count on OSC/OST.
- Bugzilla: 16237
Severity: normal
Description: Early reply size mismatch, MGC loses connection
Details: Apply the MGS_CONNECT_SUPPORTED mask at reconnect time so the connect flags are properly negotiated.
- Bugzilla: 14840
Severity: major
Description: quota recovery deadlock during mds failover
Details: This patch includes att18982, att18236, att18237 in bz14840.
Problems solved:
- Fix osts hang when mds does failover with quotaon
- Prevent watchdog storm when osts threads wait for the recovery of mds
- Bugzilla: 14095
Severity: enhancement
Description: Add lustre_start utility to start or stop multiple Lustre servers from a CSV file.
- Bugzilla: 17026
Severity: normal
Description: kptllnd_peer_check_sends() ASSERTION(!in_interrupt()) failed
Details: fix stack overflow in distributed lock manager by defering export eviction after a failed callback to the ELT thread instead of handling it in the DLM interpret routine.
- Bugzilla: 12800
Severity: enhancement
Description: More exported tunables for mballoc
Details: Add support for tunable preallocation window and new tunables for large/small requests
- Bugzilla: 16680
Severity: normal
Description: Detect corruption of block bitmap and checking for preallocations
Details: Checks validity of on-disk block bitmap. Also it does better checking of number of applied preallocations. When corruption is found, it turns file system read-only to prevent further corruptions.
- Bugzilla: 17197
Severity: normal
Description: ll_read_ahead_pages()) ASSERTION(page_idx > ria->ria_stoff) failed
Details: Once the unmatched stride IO mode is detected, shrink the stride-ahead window to 0. If it does hit cache miss, and read pattern is still stride-io mode, does not reset the stride window, but also does not increase the stride window length in this case.
- Bugzilla: 16438
Severity: normal
Frequency: only for big-endian servers
Description: Check if system is big-endian while mounting fs with extents
Details: Mounting a file system with extents feature will fail on big-endian systems since ext3-based ldiskfs is not supported on big-endian systems. Can be bypassed with "bigendian_extents" mount option.
- Bugzilla: 16860
Severity: normal
Description: Excessive recovery window
Details: With AT enabled, the recovery window can be excessively long (6000+ seconds). To address this problem, we no longer use OBD_RECOVERY_FACTOR when extending the recovery window (the connect timeout no longer depends on the service time, it is set to INITIAL_CONNECT_TIMEOUT now) and clients report the old service time via pb_service_time.
- Bugzilla: 16522
Severity: normal
Description: Watchdog triggered on MDS failover
Details: enable OBD_CONNECT_MDT flag when connecting from the MDS so that the OSTs know that the MDS "UUID" can be reused for the same export from a different NID, so we do not need to wait for the export to be evicted.
- Bugzilla: 16839
Severity: normal
Frequency: start MDS on uncleanly shutdowned MDS device
Description: ll_sync thread stay in waiting mds<>ost recovery finished
Details: fix race due to two ll_sync threads processing the same lov target causing random failures in various tests. The solution is to send ACTIVATE event only if connect already finished and import is in FULL state.
- Bugzilla: 17895
Severity: major
Frequency: rare, only if using MMP with Linux RAID
Description: MMP doesn't work with Linux RAID
Details: While using HA for Lustre servers with Linux RAID, it is possible that MMP will not detect multiple mounts. To make this work we need to unplug the device queue in RAID when the MMP block is being written. Also while reading the MMP block, we should read it from disk and not the cached one.
Changes from v1.6.5.1 to v1.6.6
Support for networks:
socklnd - any kernel supported by Lustre
qswlnd - Qsnet kernel modules 5.20 and later
openiblnd - IbGold 1.8.2
o2iblnd - OFED 1.1, 1.2.0, 1.2.5, and 1.3.1
viblnd - Voltaire ibhost 3.4.5 and later
ciblnd - Topspin 3.2.0
iiblnd - Infiniserv 3.3 + PathBits patch
gmlnd - GM 2.1.22 and later
mxlnd - MX 1.2.1 or later
ptllnd - Portals 3.3 / UNICOS/lc 1.5.x, 2.0.x
Support for kernels:
2.6.5-7.312 (SLES 9)
2.6.9-67.0.22.EL (RHEL 4)
2.6.16.60-0.27 (SLES 10)
2.6.18-92.1.10.el5 (RHEL 5)
2.6.22.14 vanilla (kernel.org)
Client support for unpatched kernels: (see Patchless Client)
2.6.16 - 2.6.22 vanilla (kernel.org)
Recommended e2fsprogs version: 1.40.11-sun1
Note that reiserfs quotas are disabled on SLES 10 in this kernel.
RHEL 4 and RHEL 5/SLES 10 clients behaves differently on 'cd ./' to a removed current working directory (refer to bugzilla 14399
A new quota file format has been introduced in 1.6.5. The format conversion from prior releases is handled transparently, but releases older than 1.4.12/1.6.5 will not understand this new format. The automatic format conversion can be avoided by running the following command on the MDS before upgrading:
'tunefs.lustre --param="mdt.quota_type=ug1" $MDTDEV'.
For more information, please refer to bugzilla 13904
- Bugzilla: 15272
Severity: normal
Description: ptl_send_rpc hits LASSERT when ptl_send_buf fails
Details: only hits under out-of-memory situations
- Bugzilla: 15899
Severity: enhancement
Description: Add support for downgrading pools-striped files
Details: The MDS can understand the new LOV magic from pool striped files and will automatically convert them to the standard striping format for clients (pools will be available in a future release).
- Bugzilla: 15975
Severity: normal
Frequency: occasionally, only on patchless client
Description: add workaround for race between add/remove dentry from hash
- Bugzilla: 16717
Severity: minor
Frequency: only during testing
Description: LBUG when llog conf file is full
Details: When llog bitmap is full, ENOSPC should be returned for plain log.
- Bugzilla: 16907
Severity: normal
Frequency: occasionally, during recovery
Description: Prevent import from entering FULL state when server in recovery
- Bugzilla: 15927
Severity: normal
Frequency: rare
Description: replace ptlrpcd with the statahead thread to interpret the async statahead RPC callback
- Bugzilla: 16611
Severity: normal
Frequency: on recovery
Description: I/O failures after umount during fail back
Details: if client reconnected to restarted server we need join to recovery instead of find server handler is changed and process self eviction with cancel all locks.
- Bugzilla: 16633
Severity: enhancement
Description: Update to RHEL5 kernel-2.6.18-92.1.10.el5.
- Bugzilla: 16547
Severity: enhancement
Description: Update to SLES10 SP2 kernel-2.6.16.60-0.27.
- Bugzilla: 15139
Severity: normal
Frequency: rare
Description: avoid ASSERTION(client_stat->nid_exp_ref_count == 0) failed
Details: release reference to stats when client disconnected, not when export destroyed for avoid races when client destroyed after main ost export.
- Bugzilla: 16679
Severity: normal
Frequency: when adding OSTs to a running filesystem
Description: more cleanup in mds_lov
Details: add workaround for get valid ost count for avoid warnings about drop too big messages, not init llog cat under semphore which can be blocked on reconnect and break normal replay, fix access to wrong pointer.
- Bugzilla: 16237
Severity: normal
Frequency: only when connecting 1.6.5 clients to 1.6.4 or earlier servers
Description: Early reply size mismatch, MGC loses connection
Details: Apply the MGS_CONNECT_SUPPORTED mask at reconnect time so the connect flags are properly negotiated.
- Bugzilla: 16006
Severity: normal
Frequency: rare
Description: statfs sometimes returns stale values on the client
Details: restore missing copy oi_flags to lov requests.
- Bugzilla: 16188
Severity: enhancement
Description: Update to SLES9 kernel-2.6.5-7.312.
- Bugzilla: 16503
Severity: enhancement
Description: Update to RHEL4 kernel-2.6.9-67.0.22.EL.
- Bugzilla: 16317
Severity: minor
Frequency: when clients reconnect to server
Description: per-export statistics in /proc are broken
Details: recreate /proc entries for clients when they reconnect.
- Bugzilla: 16080
Severity: normal
Frequency: when adding OSTs to a mounted filesystem
Description: don't fail open with -ERANGE
Details: if client connected until mds will be know about real ost count get LOV EA can be fail because mds not allocate enougth buffer for LOV EA.
- Bugzilla: 16101
Severity: normal
Frequency: only for filesystems larger than 8TB
Description: ldiskfs BUG ldiskfs_mb_use_best_found()
Details: The ldiskfs mballoc3 code was using a __u16 to store the group number, but with 8TB+ filesystems there are more than 65536 groups, causing an oops.
- Bugzilla: 15576
Severity: normal
Frequency: rare
Description: Resolve device initialization race
Details: Prevent proc handler from accessing devices added to the obd_devs array but yet be intialized.
- Bugzilla: 15308
Severity: enhancement
Description: Update to SLES10 SP2 kernel-2.6.16.60-0.23.
- Bugzilla: 16190
Severity: enhancement
Description: Update to RHEL5 kernel-2.6.18-92.1.6.el5.
- Bugzilla: 16318
Severity: normal
Frequency: rare, on PPC clients
Description: don't swab ost objects in response about directory, because this not exist.
Details: bug similar bug 14856, but in different function.
- Bugzilla: 15754
Severity: enhancement
Description: lfs quota tool enhancements
Details: added units specifiers support for setquota, default to current uid/gid for quota report, short quota stats by default, nonpositional parameters for setquota, added llapi_quotactl manual page.
- Bugzilla: 16037
Severity: normal
Frequency: only on 32-bit clients with more than 1GB of RAM
Description: Client runs out of low memory
Details: Consider only lowmem when counting initial number of llap pages
- Bugzilla: 15625
Severity: enhancement
Description: optional service tags registration
Details: if the "service tags" package is installed on a Lustre node When the filesystem is mounted, a local-node service tag will be created. See http://inventory.sun.com/ for more information about the Service Tags asset management system.
- Bugzilla: 15825
Severity: normal
Frequency: only if client is mounted with "-o flock"
Description: Kernel BUG tries to release flock
Details: Lustre does not destroy flock lock before last reference goes away. So always drop flock locks when client is evicted and perform unlock regardless of successfulness of speaking to MDS.
- Bugzilla: 16189
Severity: enhancement
Description: Update to RHEL4 kernel-2.6.9-67.0.20.
- Bugzilla: 15210
Severity: normal
Frequency: rare, only during unmount
Description: add refcount for osc callbacks, so avoid panic on shutdown
- Bugzilla: 16014
Severity: normal
Frequency: only if OSTs have been removed or non-sequential OST index used
Description: Kernel panic with find ost index.
Details: lov_obd have panic if some OST's have sparse indexes.
- Bugzilla: 15865
Severity: enhancement
Description: Update to RHEL5 kernel-2.6.18-53.1.21.el5.
- Bugzilla: 15924
Severity: major
Frequency: only if client is mounted with "-o flock"
Description: do not process already freed flock
Details: flock can possibly be freed by another thread before it reaches to ldlm_flock_completion_ast.
- Bugzilla: 14480
Severity: normal
Frequency: only if client is mounted with "-o flock"
Description: LBUG during stress test
Details: Need properly lock accesses the flock deadlock detection list.
- Bugzilla: 15837
Severity: minor
Frequency: rare
Description: oops in page fault handler
Details: kernel page fault handler can return two special 'pages' in error case, don't try dereference NOPAGE_SIGBUS and NOPAGE_OMM.
- Bugzilla: 15716
Severity: minor
Frequency: rare, during recovery
Description: timeout with invalidate import.
Details: ptlrpcd_check call obd_zombie_impexp_cull and wait request which should be handled by ptlrpcd. This produce long age waiting and -ETIMEOUT ptlrpc_invalidate_import and as result LASSERT.
- Bugzilla: 14742
Severity: normal
Frequency: rare
Description: ASSERTION(CheckWriteback(page,cmd)) failed
Details: badly clear PG_Writeback bit in ll_ap_completion can produce false positive assertion.
- Bugzilla: 15779
Severity: normal
Frequency: only with broken builds/installations
Description: no LBUG if lquota.ko and fsfilt_ldiskfs.ko are different versions
Details: just return an error to a user, put a console error message
- Bugzilla: 15741
Severity: enhancement
Description: Update to RHEL5 kernel-2.6.18-53.1.19.el5.
- Bugzilla: 15742
Severity: enhancement
Description: Update to RHEL4 kernel-2.6.9-67.0.15.
- Bugzilla: 14134
Severity: enhancement
Description: enable MGS and MDT services start separately
Details: add a 'nomgs' option in mount.lustre to enable start a MDT with a co-located MGS without starting the MGS, which is a complement to 'nosvc' mount option.
- Bugzilla: 14856
Severity: normal
Frequency: always, on big-endian systems
Description: cleanup in ptlrpc code, related to PPC platform
Details: store magic in native order avoid panic's in recovery on PPC node and forbid from this error in future. Also fix posibily of twice swab data. Fix get lov striping to userpace.
- Bugzilla: 15756
Severity: normal
Frequency: rare, replay get lost on server
Description: server incorrectly drop resent replays lead to recovery failure.
Details: do not drop replay according to msg flags, instead we check the per-export recovery request queue for duplication of transno.
- Bugzilla: 14835
Severity: normal
Frequency: after recovery
Description: precreate to many object's after del orphan.
Details: del orphan st in oscc last_id == next_id and this triger growing count of precreated objects. Set flag LOW to skip increase count OF precreated objects.
- Bugzilla: 15139
Severity: normal
Frequency: rare, on clear nid stats
Description: ASSERTION(client_stat->nid_exp_ref_count == 0)
Details: when clean nid stats sometimes try destroy live entry, and this produce panic in free.
- Bugzilla: 15575
Severity: major
Frequency: occasionally since 1.6.4
Description: Stack overflow during MDS log replay
Details: ease stack pressure by using a thread dealing llog_process.
- Bugzilla: 13380
Severity: minor
Frequency: very rare
Description: MDT cannot be unmounted, reporting "Mount still busy"
Details: Mountpoint references were being leaked during open reply reconstruction after an MDS restart. Drop mountpoint reference in reconstruct_open() and free dentry reference also.
- Bugzilla: 15443
Severity: normal
Frequency: rare
Description: wait until IO finished before start new when do lock cancel.
Details: VM protocol want old IO finished before start new, in this case need wait until PG_writeback is cleared until check dirty flag and call writepages in lock cancel callback.
- Bugzilla: 12888
Severity: normal
Frequency: rare
Description: mds_mfd_close() ASSERTION(rc == 0)
Details: In mds_mfd_close(), we need protect inode's writecount change within its orphan write semaphore to prevent possible races.
- Bugzilla: 14645
Severity: minor
Frequency: rare, on shutdown ost
Description: don't hit live lock with umount ost.
Details: shrink_dcache_parent can be in long loop with destroy dentries, use shrink_dcache_sb instead.
- Bugzilla: 14949
Severity: minor
Frequency: only when echo_client is used
Description: don't panic with use echo_client
Details: echo client pass NULL as client nid pointer and this produce NULL pointer dereference.
- Bugzilla: 15278
Severity: normal
Frequency: Always on 32-bit PowerPC systems
Description: fix build on PPC32
Details: compile code with -m64 flag produce wrong object file for PPC32.
- Bugzilla: 15574
Severity: normal
Frequency: rare
Description: MDS LBUG: ASSERTION(!IS_ERR(dchild))
Details: In reconstruct_* functions, LASSERTs on both the data supplied by a client, and the data on disk are dangerous and incorrect. Change them with client eviction.
- Bugzilla: 15346
Severity: enhancement
Description: skiplist implementation simplification
Details: skiplists are used to group compatible locks on granted list that was implemented as tracking first and last lock of each lock group the patch changes that to using doubly linked lists
- Bugzilla: 14693
Severity: normal
Frequency: only with administrator action
Description: mount failure if config log has invalid conf_param setting
Details: If administrator specified an incorrect configuration parameter with "lctl conf_param" this would cause an error during future client mounts. Instead, ignore the bad configuration parameter.
- Bugzilla: 15932
Severity: normal
Frequency: blocks per group < blocksize*8 and uninit_groups is enabled
Description: ldiskfs error: XXX blocks in bitmap, YYY in gd
Details: If blocks per group is less than blocksize*8, set rest of the bitmap to 1.
- Bugzilla: 16172
Severity: major
Frequency: Application do stride read on lustre
Description: The read performance will drop a lot if the application does stride read.
Details: Because the stride_start_offset are missing in stride read-ahead, it will cause clients read a lot of unused pages in read-ahead, then the read-performance drops.
- Bugzilla: 15953
Severity: normal
Description: more ldlm soft lockups
Details: In ldlm_resource_add_lock(), call to ldlm_resource_dump() starve other threads from the resource lock for a long time in case of long waiting queue, so change the debug level from D_OTHER to the less frequently used D_INFO.
- Bugzilla: 13128
Severity: enhancement
Description: add -gid, -group, -uid, -user options to lfs find
- Bugzilla: 15284
Severity: enhancement
Description: tool to recover objects put in lost+found by e2fsck
Details: OST crashes and subsequent e2fsck can lead to objects being moved to lost+found directory. Using the "ll_recover_lost_found_objs" tool, these objects can be retrieved and data can be salvaged by using the object ID saved in the fid.
- Bugzilla: 15758
Severity: minor
Frequency: rare
Description: this bug _only_ happens when inode quota limitation is very low (less than 12), so that inode quota unit is 1 at initialization.
Details: if remaining quota equates 1, it is a sign to demonstate that quota is effective now. So least quota qunit should be 2.
- Bugzilla: 15950
Severity: normal
Frequency: rare, using O_DIRECT only
Description: Hung threads in invalidate_inode_pages2_range
Details: The direct IO path doesn't call check_rpcs to submit a new RPC once one is completed. As a result, some RPCs are stuck in the queue and are never sent.
- Bugzilla: 15684
Severity: normal
Frequency: rare, during shutdown
Description: Procfs and llog threads access destoryed import sometimes.
Details: Sync the import destoryed process with procfs and llog threads by the import refcount and semaphore.
- Bugzilla: 15674
Severity: major
Description: mds fails to respond, threads stuck in ldlm_completion_ast
Details: Sort source/child resource pair after updating child resource.
- Bugzilla: 16226
Severity: major
Frequency: rare
Description: kernel BUG at ldiskfs2_ext_new_extent_cb
Details: If insertion of an extent fails, then discard the inode preallocation and free data blocks else it can lead to duplicate blocks.
- Bugzilla: 16199
Severity: normal
Description: don't always update ctime in ext3_xattr_set_handle()
In some cases the ctime should not be updated, for example for 2.0->1.8 compatibility it is necessary to delete an xattr and it should not update the ctime.
- Bugzilla: 15058
Severity: normal
Description: add quota statistics
Details: 1. sort out quota proc entries and proc code. 2. add quota statistics
- Bugzilla: 16125
Severity: normal
Frequency: often
Description: quotas are not honored with O_DIRECT
Details: all writes with the flag O_DIRECT will use grants which leads to this problem. Now using OBD_BRW_SYNC to guard this.
Severity: major
Frequency: rare
Description: Assertion in iopen_connect_dentry in 1.6.3
Details: looking up an inode via iopen with the wrong generation number can populate the dcache with a disconneced dentry while the inode number is in the process of being reallocated. This causes an assertion failure in iopen since the inode's dentry list contains both a connected and disconnected dentry.
- Bugzilla: 16496
Severity: normal
Description: assertion failure in ldlm_handle2lock()
Details: fix a race between class_handle_unhash() and class_handle2object() introduced in lustre 1.6.5 by bug 13622.
- Bugzilla: 15899
Severity: minor
Frequency: rare
Description: Pools downgrade compatibility
Details: Files striped across pools in future (1.8) releases will be properly understood if the server is downgraded to this version.
- Bugzilla: 12755
Severity: minor
Frequency: rare
Description: Kernel BUG: sd_iostats_bump: unexpected disk index
Details: remove the limit of 256 scsi disks in the sd_iostat patch
- Bugzilla: 16494
Severity: minor
Frequency: rare
Description: oops in sd_iostats_seq_show()
Details: unloading/reloading the scsi low level driver triggers a kernel bug when trying to access the sd iostat file.
- Bugzilla: 16404
Severity: major
Frequency: rare
Description: Kernel panics during QLogic driver reload
Details: REQ_BLOCK_PC requests are not handled properly in the sd iostat patch, causing memory corruption.
- Bugzilla: 16140
Severity: minor
Description: journal_dev option does not work in b1_6
Details: pass mount option during pre-mount.
- Bugzilla: 10555
Severity: enhancement
Description: Add a FIEMAP (FIle Extent MAP) ioctl for ldiskfs
Details: FIEMAP ioctl will allow an application to efficiently fetch the extent information of a file. It can be used to map logical blocks in a file to physical blocks in the block device.
- Bugzilla: 16972
Severity: normal
Frequency: only with adaptive timeout enabled
Description: DEBUG_REQ() bad paging request
Details: ptlrpc_at_recv_early_reply() should not modify req->rq_repmsg because it can be accessed by reply_in_callback() without the rq_lock held.
- Bugzilla: 16813
Severity: normal
Frequency: only on Cray X2
Description: X2 build failures
Details: fix build failures on Cray X2.
- Bugzilla: 16303
Severity: major
Frequency: Only on FC kernels 2.6.22+
Description: oops in statahead
Details: Do not drop reference count for the dentry from VFS when lookup, VFS will do that by itself.
- Bugzilla: 17024
Severity: major
Description: Lustre oops in {:ptlrpc:ptlrpc_server_free_request+373}
Details: In case of memory pressure, list_del() can be called twice on req->rq_history_list, causing a kernel oops.
Changes from v1.6.5 to v1.6.5.1
Support for networks:
- socklnd - any kernel supported by Lustre
- qswlnd - Qsnet kernel modules 5.20 and later
- openiblnd - IbGold 1.8.2
- o2iblnd - OFED 1.1, 1.2.0, 1.2.5, and 1.3
- viblnd - Voltaire ibhost 3.4.5 and later
- ciblnd - Topspin 3.2.0
- iiblnd - Infiniserv 3.3 + PathBits patch
- gmlnd - GM 2.1.22 and later
- mxlnd - MX 1.2.1 or later
- ptllnd - Portals 3.3 / UNICOS/lc 1.5.x, 2.0.x
Support for kernels:
- 2.6.5-7.311 (SLES 9)
- 2.6.9-67.0.7.EL (RHEL 4)
- 2.6.16.54-0.2.5 (SLES 10)
- 2.6.18-53.1.14.el5 (RHEL 5)
- 2.6.22.14 vanilla (kernel.org)
Client support for unpatched kernels: (see Patchless Client)
- 2.6.16 - 2.6.22 vanilla (kernel.org)
Due to problems with nested symlinks and FMODE_EXEC (bug 12652), we do not recommend using patchless RHEL4 clients with kernels prior to 2.6.9-55EL (RHEL4U5).
Recommended e2fsprogs version: 1.40.7-sun1
Note that reiserfs quotas are disabled on SLES 10 in this kernel.
RHEL 4 and RHEL 5/SLES 10 clients behaves differently on cd ./ to a removed current working directory (refer to bugzilla 14399.
A new quota file format has been introduced in 1.6.5. The format conversion from prior releases is handled transparently, but releases older than 1.4.12/1.6.5 will not understand this new format. The automatic format conversion can be avoided by running the following command on the MDS before upgrading:
tunefs.lustre --param="mdt.quota_type=ug1" $MDTDEV
For more information, please refer to bugzilla 13904.
- Bugzilla: 14309
Severity: normal
Description: RPM packages did not include InfinBand support
Details: The Lustre 1.6.5 did not include InfiniBand RPM packages.
- Bugzilla: 14699
Severity: normal
Frequency: only with administrator action
Description: mount failure if config log has invalid conf_param setting
Details: If administrator specified an incorrect configuration parameter with "lctl conf_param" this would cause an error during future client mounts. Instead, ignore the bad configuration parameter.
- Bugzilla: 16172
Severity: major
Frequency: Application do stride read on lustre
Description: The read performance will drop a lot if the application does stride read.
Details: Because the stride_start_offset are missing in stride read-ahead, it will cause clients read a lot of unused pages in read-ahead, then the read-performance drops.
Changes from v1.6.4.3 to v1.6.5
Support for networks:
- socklnd - any kernel supported by Lustre
- qswlnd - Qsnet kernel modules 5.20 and later
- openiblnd - IbGold 1.8.2
- o2iblnd - OFED 1.1, 1.2.0, 1.2.5, and 1.3
- viblnd - Voltaire ibhost 3.4.5 and later
- ciblnd - Topspin 3.2.0
- iiblnd - Infiniserv 3.3 + PathBits patch
- gmlnd - GM 2.1.22 and later
- mxlnd - MX 1.2.1 or later
- ptllnd - Portals 3.3 / UNICOS/lc 1.5.x, 2.0.x
Support for kernels:
- 2.6.5-7.311 (SLES 9)
- 2.6.9-67.0.7.EL (RHEL 4)
- 2.6.16.54-0.2.5 (SLES 10)
- 2.6.18-53.1.14.el5 (RHEL 5)
- 2.6.22.14 vanilla (kernel.org)
Client support for unpatched kernels: (see Patchless Client)
- 2.6.16 - 2.6.22 vanilla (kernel.org)
Due to problems with nested symlinks and FMODE_EXEC (bug 12652), we do not recommend using patchless RHEL4 clients with kernels prior to 2.6.9-55EL (RHEL4U5).
Recommended e2fsprogs version: 1.40.7-sun1
Note that reiserfs quotas are disabled on SLES 10 in this kernel.
RHEL 4 and RHEL 5/SLES 10 clients behaves differently on cd ./ to a removed current working directory (refer to bugzilla 14399.
A new quota file format has been introduced in 1.6.5. The format conversion from prior releases is handled transparently, but releases older than 1.4.12/1.6.5 will not understand this new format. The automatic format conversion can be avoided by running the following command on the MDS before upgrading:
tunefs.lustre --param="mdt.quota_type=ug1" $MDTDEV
For more information, please refer to bugzilla 13904.
- Severity: critical
Frequency: very rare, if additional xattrs are used on kernels >= 2.6.12
Bugzilla: 15777
Description: MDS may lose file striping (and hence file data) in some cases
Details: If there are additional extended attributes stored on the MDS, in particular ACLs, SELinux, or user attributes (if user_xattr is specified for the client mount options) then there is a risk of attribute loss. Additionally, the Lustre file striping needs to be larger than default (e.g. striped over all OSTs), and an additional attribute must be stored initially in the inode and then increase in size enough to be moved to the external attribute block (e.g. ACL growing in size) for file data to be lost.
- Severity: enhancement
Bugzilla: 12191
Description: add message levels for liblustreapi
- Severity: minor
Frequency: rare, only if {mds,oss}_num_threads is specified
Bugzilla : 15759
Description: MDS or OSS service threads fail startup with -24 (-EMFILE)
Details: During startup under recovery, it is possible for service thread startup to fail in ptlrpc_start_threads() if one of the threads begins processing a request and then starts an additional thread. This causes ptlrpc_start_threads() to try and start 1 too many threads and get an error.
- Severity: normal
Frequency: rare
Bugzilla : 13380
Description: MDT cannot be unmounted, reporting "Mount still busy"
Details: Mountpoint references were being leaked during open reply reconstruction after an MDS restart. Drop mountpoint reference in reconstruct_open() and free dentry reference also.
- Severity: minor
Frequency: rare
Bugzilla: 13380
Description: fix for occasional failure case of -ENOSPC in recovery-small tests
Details: Move the 'good_osts' check before the 'total_bavail' check. This will result in an -EAGAIN and in the exit call path we call alloc_rr() which will with increasing aggressiveness attempt to aquire precreated objects on the minimum number of required OSCs.
- Severity: major
Bugzilla: 14326
Description: Use old size assignment to avoid deadlock
Details: This reverts the changes in bugs 2369 and bug 14138 that introduced the scheduling while holding a spinlock. We do not need locking for size in ll_update_inode() because size is only updated from the MDS for directories or files without objects, so there is no other place to do the update, and concurrent access to such inodes are protected by the inode lock.
- Severity: normal
Bugzilla: 14655
Description: Use __u64 instead of int for valid bits
- Severity: normal
Bugzilla: 14746
Description: resolve "_IOWR redefined" build error on SLES10
- Severity: normal
Bugzilla: 14763
Description: dump the memory debugging after all modules are unloaded to suppress false negative in conf_sanity test 39
- Severity: normal
Bugzilla: 14872
Description: the recovery timer never expires
Details: for new client connect request, the recovery timer should not be reset, otherwise recovery timer will never expired, if the old client never come. Only old client connect and first connection req should trigger recovery timer reset.
- Severity: normal
Bugzilla: 15521
Description: the min numbers of lproc stats are wrong
Details: adding a new constant LC_MIN_INIT and use it for initialization of lc_min.
- Severity: normal
Frequency: always with interactive lfs
Bugzilla: 15212
Description: Reinitialize optind to 0 so that interactive lfs works in all cases
- Severity: normal
Frequency: with multiple concurrent readdir processes in same directory
Description: misc fixes for directory readahead.
Details: prevent previous statahead async RPC callback from processing the current "statahead_info", race condition between async RPC callback add dentry into dentry hash table and "ls" thread revalidate such dentry, statahead his/miss control for hidden items, and so on.
- Severity: enhancement
Bugzilla: 15316
Description: build kernel-ib packages for OFED 1.3 in our release cycle
- Severity: normal
Bugzilla: 15036
Description: incore types cleaning in quota code (with respect to 64-bit limits)
Details: several u32 variables declarations are replaced with u64 declarations
- Severity: minor
Frequency: always
Bugzilla: 13969
Description: fix SLES kernel versioning
Details: the kernel version for our SLES 10 kernel did not include a "-" before the "smp" at the end. while this was not a problem in general, it did mean that software trying to use the kernel version to try to detect a vendor specific kernel would fail. this was most evident by the OFED build scripts.
- Severity: normal
Frequency: rare
Bugzilla: 14803
Description: Don't update lov_desc members until making sure they are valid
Details: When updating lov_desc members via proc fs, need fix their validities before doing the real update.
- Severity: normal
Frequency: very rare
Bugzilla: 15069
Description: don't put request into delay list while invalidate in flight.
Details: ptlrpc_delay_request sometimes put in delay list while invalidate import in flight. this produce timeout for invalidate and sometimes can cause stale data.
- Severity: enhancement
Bugzilla: 15416
Description: Update kernel to SLES9 2.6.5-7.311.
- Severity: enhancement
Bugzilla: 15240
Description: Update kernel to RHEL4 2.6.9-67.0.7.
- Severity: normal
Frequency: always
Bugzilla: 14856
Frequency: on PPC only
Description: not convert ost objects for directory because it's not exist.
Details: ll_dir_getstripe assume directory has ost objects but this wrong.
- Severity: enhancement
Bugzilla: 15517
Description: Fix warnings with compile liblustre at sles10/rhel5 which have __u64 as usingied long long type.
- Severity: minor
Frequency: rare, on shutdown
Bugzilla: 15210
Description: race process AST vs remove callback
Details: removing callback before disconnect import open race with processing callback.
- Severity: enhancement
Bugzilla: 15416
Description: Update kernel to SLES9 2.6.5-7.311.
- Severity: enhancement
Bugzilla: 12652
Description: Files open for execute are not marked busy on SLES10
Details: Add FMODE_EXEC to SLES10 SP1 server kernel series.
- Severity: enhancement
Bugzilla: 13397
Description: Add server support for vanilla-2.6.22.14.
- Severity: normal
Frequency: occasional
Bugzilla: 13375
Description: Avoid lov_create() getting stuck in obd_statfs_rqset()
Details: If an OST is down the MDS will hang indefinitely in obd_statfs_rqset() waiting for the statfs data. While for MDS QOS usage of statfs, it should not stuck in waiting.
- Severity: enhancement
Bugzilla: 3055
Description: Disable adaptive timeouts by default
- Severity: major
Frequency: on network error
Bugzilla: 15027
Description: panic with double free request if network error
Details: mdc_finish_enqueue is finish request if any network error occuring, but it's true only for synchronus enqueue, for async enqueue (via ptlrpcd) this incorrect and ptlrpcd want finish request himself.
- Severity: normal
Frequency: rare, on recovery
Bugzilla: 14533
Description: read procfs can produce deadlock in some situation
Details: Holding lprocfs lock with send rpc can produce block for destroy obd objects and this also block reconnect with -EALREADY. This isn't fix all lprocfs bugs - but make it rare.
- Severity: enhancement
Bugzilla: 15152
Description: Update kernel to RHEL5 2.6.18-53.1.14.el5.
- Severity: major
Frequency: frequent on X2 node
Bugzilla: 15010
Description: mdc_set_open_replay_data LBUG
Details: Set replay data for requests that are eligible for replay.
- Severity: normal
Frequency: common
Bugzilla: 14321
Description: lustre_mgs: operation 101 on unconnected MGS
Details: When MGC is disconnected from MGS long enough, MGS will evict the MGC, and late on MGC cannot successfully connect to MGS and a lot of the error messages complaining that MGS is not connected.
- Severity: major
Frequency: rare, depends on device drivers and load
Bugzilla: 14529
Description: MDS or OSS nodes crash due to stack overflow
Details: Code changes in 1.6.4 increased the stack usage of some functions. In some cases, in conjunction with device drivers that use a lot of stack, the MDS (or possibly OSS) service threads could overflow the stack. One change which was identified to consume additional stack has been reworked to avoid the extra stack usage.
- Severity: enhancement
Bugzilla: 14876
Description: Update to RHEL5 latest kernel-2.6.18-53.1.13.el5.
- Severity: enhancement
Bugzilla: 14858
Description: Update to SLES10 SP1 latest kernel-2.6.16.54-0.2.5.
- Severity: enhancement
Bugzilla: 14720
Description: Update to RHEL5 latest kernel-2.6.18-53.1.6.el5.
- Serverity: enhancement
Bugzilla: 14793
Description: Update RHEL4 kernel to 2.6.9-67.0.4.
- Severity: minor
Frequency: rare on shutdown OST
Bugzilla: 13196
Description: Don't allow skipping OSTs if index has been specified.
Details: Don't allow skipping OSTs if index has been specified, make locking in internal create lots better.
- Severity: normal
Frequency: rare
Bugzilla: 14421
Description: ASSERTION(!PageDirty(page)) failed
Details: Wrong check could lead to an assertion failure under specific load patterns.
- Severity: normal
Frequency: rare
Bugzilla: 12228
Description: LBUG in ptlrpc_check_set() bad phase ebc0de00
Details: access to bitfield in structure is always rounded to long and this produce problem with not atomic change any bit.
- Severity: normal
Frequency: always
Bugzilla: 13647
Description: Lustre 'make rpms' failed.
Details: Remove ldiskfs spec file to avoids rpmbuild be confused when builds Lustre rpms from tarball.
- Severity: enhancement
Bugzilla: 14498
Description: Update to SLES9 SP4 kernel-2.6.5-7.308.
- Severity: normal
Frequency: rare on shutdown OST
Bugzilla: 14608
Description: If llog cancel was not send before clean_exports phase, this can produce deadlock in llog code.
Details: If llog thread has last reference to obd and call class_import_put this produce deadlock because llog_cleanup_commit_master wait when last llog_commit_thread exited, but this never success because was called from llog_commit_thread.
- Severity: normal
Frequency: only if OST index is skipped
Bugzilla: 14607
Description: NULL lov_tgts causing MDS oops
Details: more safe checks for NULL lov_tgts for avoid oops.
- Severity: enhancement
Bugzilla: 14531
Description: Update to RHEL4 latest kernel-2.6.9-67.0.1.EL.
- Severity: enhancement
Bugzilla: 14368
Description: Update to RHEL5 latest kernel-2.6.18-53.1.4.el5.
- Severity: normal
Frequency: always
Bugzilla: 14136
Description: make mgs_setparam() handle fsname containing dash
Details: fsname containing a dash does not work with lctl conf_param
- Severity: enhancement
Bugzilla: 14288
Description: Update to RHEL4 Update-6 kernel-2.6.9-67.EL.
- Severity: normal
Frequency: rare, in recovery and (or) destroy lovobjid file.
Bugzilla: 12702
Description: rewrite lov_objid code.
Details: Cleanup for lov_objid code, remove scability problems and wrong locking. Fix sending last_id into OST.
- Severity: enhancement
Bugzilla: 14388
Description: Update to SLES10 SP1 latest kernel-2.6.16.54-0.2.3.
- Severity: enhancement
Bugzilla: 14289
Description: Update to RHEL5 Update-1 kernel 2.6.18-53.el5.
Details: Use d_move_locked instead of __d_move.
- Severity: major
Frequency: rare, at shutdown
Bugzilla: 14260
Description: access already free / zero obd_namespace.
Details: if client_disconnect_export was called without force flag set, and exist connect request in flight, this can produce access to NULL pointer (or already free pointer) when connect_interpret store ocd flags in obd_namespace.
- Severity: minor
Frequency: only at startup
Bugzilla: 14418
Description: not alloc memory with spinlock held.
Details: allocation memory with GFP_KERNEL can produce sleep deadlock, if any spinlock held.
- Severity: normal
Frequency: always
Bugzilla: 14270
Description: lfs find does not continue on file error
Details: Continue other files processing when a file/dir is absent.
- Severity: normal
Bugzilla: 11791
Description: Inconsistent usage of lustre_pack_reply()
Details: Standardize the usage of lustre_pack_reply() such that it always generate a CERROR on failure.
- Severity: normal
Frequency: very rare
Bugzilla: 3462
Description: Fix replay if there is an un-replied request and open
Details: In some cases, older replay request will revert the mcd->mcd_last_xid on MDS which is used to record the client's latest sent request.
- Severity: enhancement
Bugzilla: 13969
Description: Update to RHEL5 kernel 2.6.18-8.1.15.el5.
- Severity: enhancement
Bugzilla: 13874
Description: Update to SLES10 SP1 kernel 2.6.16.53-0.16
- Severity: enhancement
Bugzilla: 13889
Description: Update to SLES9 kernel-2.6.5-7.287.3.
- Severity: enhancement
Bugzilla: 14041
Description: Update to RHEL4 kernel-2.6.9-55.0.12.EL.
- Severity: enhancement
Bugzilla: 13690
Description: Build SLES10 patchless client fails
Details: The configure was broken by run ./configure with --with-linux-obj=.... argument for patchless client. When the configure use --with-linux-obj, the LINUXINCLUDE= -Iinclude can't search header adequately. Use absolute path such as -I($LINUX)/include instead.
- Severity: enhancement
Bugzilla: 11622
Description: Lustre Page Accounting
Details: New macros for page alloc and free which enable accounting of page allocation of Lustre. Use percpu counters to store memory and page statistics.
- Severity: normal
Frequency: only if debugging is disabled
Bugzilla: 13497
Description: LASSERT_{REQ,REP}SWAB macros are buggy
Details: If SWAB_PARANOIA is disabled, the LASSERT_REQSWAB and LASSERT_REPSWAB macros become no-ops, which is incorrect. Drop these macros and replace them with their definitions instead.
- Severity: normal
Frequency: rare
Bugzilla: 13888
Description: interrupt oig_wait produce painc on resend.
Details: brw_redo_request can be used for resend requests from ptlrpcd and private set, and this produce situation when rq_ptlrpcd_data not copyed to new allocated request and triggered LBUG on assert req->rq_ptlrpcd_data != NULL. But this member used only for wakeup ptlrpcd set if request is changed and can be safety changed to use rq_set directly.
- Severity: enhancement
Bugzilla: 11089
Description: organize the server-side client stats on per-nid basis
Details: Change the structure of stats under obdfilter and mds to
New structure: +- exports +- nid#1 | + stats | + uuids +- nid#2... +- clear
The "uuid"s file would list the uuids of _active_ exports. And the clear entry is to clear all stats and stale nids.
- Severity: normal
Frequency: rare
Bugzilla: 12266
Description: Processes looping in ll_readdir() on Lustre clients finally causing a full node pseudo-hang
Details: Concurrent access to the same directory from multiple clients with intensive file creation/removal can cause a client node to spin in ll_readdir(). i_version must be increased every time the lock is cancelled to ensure a revalidate is done.
- Severity: normal
Frequency: always
Bugzilla: 13976
Description: touch file failed when fs is not full
Details: OST in recovery should not be discarded by MDS in alloc_qos(), otherwise we can get ENOSP while fs is not full.
- Severity: normal
Frequency: only for Cray XT3
Description: Changing primary group doesn't change the group lustre assigns to a file
Details: When CRAY_XT3 is defined, the fsgid supplied by the client is overridden with the primary group provided by the group upcall, whereas the supplied fsgid can be trusted if it is in the list of supplementary groups returned by the group upcall.
- Severity: enhancement
Bugzilla: 12749
Description: Root Squash Functionality
Details: Implementation of NFS-like root squash capability. Specifically, don't allow someone with root access on a client node to be able to manipulate files owned by root on a server node.
- Severity: enhancement
Bugzilla: 10718
Description: Slow trucate/writes to huge files at high offsets.
Details: Directly associate cached pages to lock that protect those pages, this allows us to quickly find what pages to write and remove once lock callback is received.
- Severity: normal
Frequency: common
Bugzilla: 14379
Description: Too many locks accumulating on client during NFS usage
Details: mds_open improperly used accmode to find out access mode to a file. Also mdc_intent_lock logic to find out if we already have lock similar to just received was flawed since introduction of skiplists - locks are now added to the front of the granted queue.
- Severity: normal
Bugzilla: 14477
Description: Hit ASSERTION(obd->obd_stopping == 1) failed in some setup failed situation.
Details: In obd setup failure handler, obd_stopping will not necessarily to be 1, and obd_set_up should also be checked to make sure whether obd is completely setup.
- Severity: enhancement
Bugzilla: 14398
Description: Allow masking D_WARNING, D_ERROR messages from console
Details: Console messages can now be disabled via lnet.printk.
- Severity: normal
Frequency: always
Bugzilla: 14614
Description: User code with malformed file open parameter crashes client node
Details: Before packing join_file req, all the related reference should be checked carefully in case some malformed flags cause fake join_file req on client.
- Severity: normal
Frequency: always
Bugzilla: 10600
Description: shrink/enlarge qunit size when needed; fix the problem of coarse grain of quota doing harm to quota's accuracy
Details: qunit size will be changed when quota limitation is too low/high; record the pending quota write in order to get more accureate quota; delete the patch for bug12588, which is unnecessary when this patch is landed. This bug also contains fixes for bug 14526, 14299, 14601 and 13794.
- Severity: normal
Bugzilla: 14225
Description: LDLM_ENQUEUE races with LDLM_CP_CALLBACK
Details: ldlm_completion_ast() assumes that a lock is granted when the req mode is equal to the granted mode. However, it should also check that LDLM_FL_CP_REQD is not set.
- Severity: normal
Bugzilla: 14360
Description: Heavy nfs access might result in deadlocks
Details: After ELC code landed, it is now improper to enqueue any mds locks under och_sem, because enqueue might want to decide to cancel open locks for same inode we are holding och_sem for.
- Severity: normal
Bugzilla: 14443
Description: 35% write performance drop with ldiskfs2 when quotas are on
Details: Enable ext3 journalled quota by default to improve performance when quotas are turned on.
- Severity: normal
Bugzilla: 13843
Description: Client eviction while running blogbench
Details: A lot of unlink operations with concurrent I/O can lead to a deadlock causing evictions. To address the problem, the number of oustanding OST_DESTROY requests is now throttled to max_rpcs_in_flight per OSC and LDLM_FL_DISCARD_DATA blocking callbacks are processed in priority.
- Severity: normal
Frequency: RHEL4 only
Bugzilla: 14618
Description: mkfs is very slow on IA64/RHEL4
Details: A performance regression has been discovered in the MPT Fusion driver between versions 3.02.73rh and 3.02.99.00rh. As a consequence, we have downgraded the MPT Fusion driver in the RHEL4
- Severity: normal
Frequency: PPC/PPC64 only
Bugzilla: 14845
Description: conflicts between asm-ppc64/types.h and lustre_types.h
Details: fix duplicated definitions between asm-ppc64/types.h and lustre_types.h on PPC.
- Severity: normal
Frequency: PPC/PPC64 only
Bugzilla: 14844
Description: asm-ppc/segment.h does not exist
Details: fix compile issue on PPC.
- Severity: normal
Bugzilla: 13805
Description: data checksumming impacts single node performance
Details: add support for several checksum algorithms. Currently, CRC32 and Adler-32 are supported. The checksum type can be changed on the fly through /proc/fs/lustre/osc/*/checksum_type.
- Severity: normal
Bugzilla: 14648
Description: use adler32 for page checksums
Details: when available, use the Adler-32 algorithm instead of CRC32 for page checksums.
- Severity: normal
Bugzilla: 14864
Description: better handle error messages in extents code
- Severity: enhancement
Bugzilla: 14729
Description: SNMP support enhancement
Details: Adding total number of sampled request for an MDS node in snmp support.
- Severity: enhancement
Bugzilla: 14748
Description: Optimize ldlm waiting list processing for PR extent locks
Details: When processing waiting list for read extent lock and meeting read lock that is same or wider to it that is not contended, skip processing rest of the list and immediatelly return current status of conflictness, since we are guaranteed there are no conflicting locks in the rest of the list.
- Severity: normal
Bugzilla: 14774
Description: Time out and refuse to reconnect
Details: When the failover node is the primary node, it is possible to have two identical connections in imp_conn_list. We must compare not conn's pointers but NIDs, otherwise we can defeat connection throttling.
- Severity: major
Bugzilla: 14775
Description: Client not clear own cache if answer to reconnect is lost.
Details: Client gets evicted from server. Now client also thinks it is disconnected (or gets ENOTCONN on its operation) and decides to reconnect. Server receives reconnect message, but cannot find export. New export is created that is fully valid (new cookie!), but reply is lost and not reported to client. Client reconnects again and gets back a just-created connection, but it is not new so client thinks it was not evicted and does not do recovery.
- Severity: normal
Bugzilla: 14483
Description: Detect stride IO mode in read-ahead
Details: When a client does stride read, read-ahead should detect that and read-ahead pages according to the detected stride pattern.
- Severity: normal
Bugzilla: 15033
Description: build for X2 fails
Details: fix compile issue on Cray systems.
- Severity: enhancement
Bugzilla: 13371
Description: implement readv/writev APIs(aio_read/aio_writes in newer kernels)
Details: This greatly improves speed of NFS writes on 2.6 kernels.
- Severity: normal
Frequency: only on PPC/SLES10
Bugzilla: 14855
Description: "BITS_PER_LONG is not 32 or 64" in linux/idr.h
Details: On SLES10/PPC, fs.h includes idr.h which requires BITS_PER_LONG to be defined. Add a hack in mkfs_lustre.c to work around this compile issue.
- Severity: normal
Bugzilla: 14257
Description: LASSERT on MDS when client holding flock lock dies
Details: ldlm pool logic depends on number of granted locks equal to number of released locks which is not true for flock locks, so just exclude such locks from consideration.
- Severity: normal
Bugzilla: 15188
Description: MDS deadlock with many ll_sync_lov threads and I/O stalled
Details: Use fsfilt_sync() for both the whole filesystem sync and individual file sync to eliminate dangerous inode locking with I_LOCK that can lead to a deadlock.
- Severity: minor
Bugzilla: 15566
Description: Update an obsolete wirecheck.c generator
Details: Update wirecheck.c/wirehdr.c and regenerate wiretest.c
- Severity: normal
Bugzilla: 14712
Description: Client can panic on open sometimes
Details: It is possible that we try to free already freed request in ll_file_open in some error cases when we send request from ll_file_open
- Severity: normal
Bugzilla: 14410
Description: performance in 1.6.3
Details: Force q->max_phys_segments to MAX_PHYS_SEGMENTS on SLES10 to be sure that 1MB requests are not fragmented by the block layer.
- Severity: normal
Bugzilla: 15198
Description: LDLM soft lockups - improvement
Details: It is be possible to send the lock handle along with each read or write request because the client is already doing a lock match itself so there isn't any reason the OST should have to re-do that search.
- Severity: normal
Frequency: rare
Bugzilla: 14036
Description: lfs quota fails with deactivated OSTS
Details: With this patch, three improvements are included:
1. detete the softlimit in mds and osts when use "lfs quota". 2. display the inaccurate data in the output of "lfs quota". 3. try to get quota info when "lfs quota" is executed.
- Severity: normal
Frequency: rare
Bugzilla: 15776
Description: Extent locks not granted with no conflicts sometimes.
Details: When race occurs in glimpse handler and nothing is returned, we do not reprocess the queue after lock cancel, and that leads to a stall until next activity on a resource
Severity: major
Bugzilla: 15712
Description: ksocknal_create_conn() hit ASSERTION during connection race
Details: ksocknal_create_conn() hit ASSERTION during connection race
Severity: major
Bugzilla: 13983
Description: ksocknal_send_hello() hit ASSERTION while connecting race
Details: ksocknal_send_hello() hit ASSERTION while connecting race
Severity: major
Bugzilla: 14425
Description: o2iblnd/ptllnd credit deadlock in a routed config.
Details: o2iblnd/ptllnd credit deadlock in a routed config.
Severity: normal
Bugzilla: 14956
Description: High load after starting lnet
Details: gmlnd should sleep in rx thread in interruptible way. Otherwise, uptime utility reports high load that looks confusingly.
Severity: normal
Bugzilla: 14838
Description: ksocklnd fails to establish connection if accept_port is high
Details: PID remapping must not be done for active (outgoing) connections
Changes from v1.6.4.2 to v1.6.4.3
Support for kernels: 2.6.5-7.286 (SLES 9), 2.6.9-67.0.4.EL (RHEL 4), 2.6.16.54-0.2.5 (SLES 10), 2.6.18-53.1.13.el5 (RHEL 5), 2.6.18.8 vanilla (kernel.org)
Client support for unpatched kernels: (see Patchless Client) 2.6.16 - 2.6.22 vanilla (kernel.org)
Due to problems with nested symlinks and FMODE_EXEC (bug 12652), we do not recommend using patchless RHEL4 clients with kernels prior to 2.6.9-55EL (RHEL4U5).
Recommended e2fsprogs version: 1.40.4-cfs1
Note that reiserfs quotas are disabled on SLES 10 in this kernel.
RHEL 4 (patched) and RHEL 5/SLES 10 (patchless) clients behave differently on 'cd' to a removed cwd "./" (refer to Bugzilla 14399).
- Severity: critical
Bugzilla: 14793
Description: Update to the latest RHEL4 kernel (i.e. 2.6.9-67.0.4.EL) to fix the vulnerabilities described in CVE-2008-0001, CVE-2007-5500 and CVE-2007-4130.
- Severity: critical
Bugzilla: 14858
Description: Update to the latest SLES10 kernel (i.e. 2.6.16.54-0.2.5) to fix the security problems described in CVE-2008-0007, CVE-2008-0001, CVE-2007-5966 and CVE-2007-6417.
- Severity: critical
Bugzilla: 14876
Description: Update to the latest RHEL5 kernel (i.e. 2.6.18-53.1.13.el5) to fix the vulnerability described in CVE-2008-0600. This problem could allow local user to gain root privileges.
- Severity: normal
Frequency: RHEL4 only
Bugzilla: 14618
Description: mkfs is very slow on IA64/RHEL4
Details: A performance regression has been discovered in the MPT Fusion driver between versions 3.02.73rh and 3.02.99.00rh. As a consequence, we have downgraded the MPT Fusion driver in the RHEL4 kernel from 3.02.99.00 to 3.02.73 until this problem is fixed.
- Severity: major
Bugzilla: 14775
Description: Client not clear own cache if answer to reconnect is lost.
Details: client gets evicted from server. Now client also thinks it is disconnected (ot gets enotconn on its operation) and decides to reconnect. Server receives reconnect message, but cannot find export. New export is created that is fully valid (new cookie!), but client gets a reply that the export is new, and so no recovery should be performed.
Changes from v1.6.4.1 to v1.6.4.2
Support for kernels: 2.6.5-7.286 (SLES 9), 2.6.9-55.0.9.EL (RHEL 4), 2.6.16.53-0.8 (SLES 10), 2.6.18-8.1.14.el5 (RHEL 5), 2.6.18.8 vanilla (kernel.org)
Client support for unpatched kernels: (see Patchless Client) 2.6.16 - 2.6.22 vanilla (kernel.org)
Due to problems with nested symlinks and FMODE_EXEC (bug 12652), we do not recommend using patchless RHEL4 clients with kernels prior to 2.6.9-55EL (RHEL4U5).
Recommended e2fsprogs version: 1.40.4-cfs1
Note that reiserfs quotas are disabled on SLES 10 in this kernel.
RHEL 4 (patched) and RHEL 5/SLES 10 (patchless) clients behave differently on 'cd' to a removed cwd "./" (refer to Bugzilla 14399).
- Severity: critical
Frequency: only for relatively new filesystems, when OSTs are in recovery
Bugzilla: 14631
Description: OST objects below id 20000 are deleted, causing data loss
Details: For relatively newly formatted OST filesystem(s), where there have not been at least 20000 objects created on an OST a bug in MDS->OST orphan recovery could cause those objects to be deleted if the OST was in recovery, but the MDS was not. Safety checks in the orphan recovery prevent this if more than 20000 objects were ever created on an OST. If the MDS was also in recovery the problem was not hit. Only in 1.6.4.1.
- Severity: major
Frequency: rare, depends on device drivers and load
Bugzilla: 14529
Description: MDS or OSS nodes crash due to stack overflow
Details: Code changes in 1.6.4 increased the stack usage of some functions. In some cases, in conjunction with device drivers that use a lot of stack the MDS (or possibly OSS) service threads could overflow the stack. One change which was identified to consume additional stack has been reworked to avoid the extra stack usage.
Changes from v1.6.4 to v1.6.4.1
Support for networks: socklnd - any kernel supported by Lustre, qswlnd - Qsnet kernel modules 5.20 and later, openiblnd - IbGold 1.8.2, o2iblnd - OFED 1.1 and 1.2, viblnd - Voltaire ibhost 3.4.5 and later, ciblnd - Topspin 3.2.0, iiblnd - Infiniserv 3.3 + PathBits patch, gmlnd - GM 2.1.22 and later, mxlnd - MX 1.2.1 or later, ptllnd - Portals 3.3 / UNICOS/lc 1.5.x, 2.0.x
Support for kernels: 2.6.5-7.286 (SLES 9), 2.6.9-55.0.9.EL (RHEL 4), 2.6.16.53-0.8 (SLES 10), 2.6.18-8.1.14.el5 (RHEL 5), 2.6.18.8 vanilla (kernel.org)
Client support for unpatched kernels: (see Patchless Client) 2.6.16 - 2.6.22 vanilla (kernel.org)
Due to recently discovered recovery problems, we do not recommend using patchless RHEL 4 clients with this or any earlier release.
Recommended e2fsprogs version: 1.40.2-cfs1
Note that reiserfs quotas are disabled on SLES 10 in this kernel.
- Severity: major
Bugzilla: 14433
Description: Oops on connection from 1.6.3 client
Frequency: always, on connection from 1.6.3 client
Details: Enable and accept the OBD_CONNECT_LRU_RESIZE flag only if LRU resizing is enabled at configure time. This fixes an oops caused by incorrectly accepting the LRU_RESIZE feature even if --enable-lru-resize is not specified.
Changes from v1.6.3 to v1.6.4
Support for networks: socklnd - any kernel supported by Lustre, qswlnd - Qsnet kernel modules 5.20 and later, openiblnd - IbGold 1.8.2, o2iblnd - OFED 1.1 and 1.2, viblnd - Voltaire ibhost 3.4.5 and later, ciblnd - Topspin 3.2.0, iiblnd - Infiniserv 3.3 + PathBits patch, gmlnd - GM 2.1.22 and later, mxlnd - MX 1.2.1 or later, ptllnd - Portals 3.3 / UNICOS/lc 1.5.x, 2.0.x
Support for kernels: 2.6.5-7.286 (SLES 9), 2.6.9-55.0.9.EL (RHEL 4), 2.6.16.53-0.8 (SLES 10), 2.6.18-8.1.14.el5 (RHEL 5), 2.6.18.8 vanilla (kernel.org)
Client support for unpatched kernels: (see Patchless Client) 2.6.16 - 2.6.22 vanilla (kernel.org)
Due to recently discovered recovery problems, we do not recommend using patchless RHEL 4 clients with this or any earlier release.
Recommended e2fsprogs version: 1.40.2-cfs1
Note that reiserfs quotas are disabled on SLES 10 in this kernel.
- Severity: enhancement
Bugzilla: 11686
Description: Console message flood
Details: Make cdls ratelimiting more tunable by adding several tunable in procfs /proc/sys/lnet/console_{min,max}_delay_centisecs and /proc/sys/lnet/console_backoff.
- Severity: enhancement
Bugzilla: 13521
Description: Update kernel patches for SLES10 2.6.16.53-0.8.
Details: Update which_patch & target file for SLES10 latest kernel.
- Severity: enhancement
Bugzilla: 13128
Description: add --type and --size parameters to lfs find
Details: Enhance lfs find by adding filetype and filesize parameters. Also multiple OBDs can now be specified for the --obd option.
- Severity: enhancement
Bugzilla: 11270
Description: eliminate client locks in face of contention
Details: file contention detection and lockless i/o implementation for contended files.
- Severity: enhancement
Bugzilla: 12411
Description: Remove client patches from SLES 10 kernel.
Details: This causes SLES 10 clients to behave as patchless clients even on a Lustre-patched (server) kernel.
- Severity: enhancement
Bugzilla: 2369
Description: use i_size_read and i_size_write in 2.6 port
Details: replace inode->i_size access with i_size_read/write()
- Severity: enhancement
Bugzilla: 13454
Description: Add jbd statistics patch for RHEL5 and 2.6.18-vanilla.
- Severity: enhancement
Bugzilla: 13518
Description: Kernel patches update for RHEL4 2.6.9-55.0.6.
Details: Modify vm-tunables-rhel4.patch.
- Severity: enhancement
Bugzilla: 13452
Description: Kernel config for 2.6.18-vanilla.
Details: Modify targets/2.6-vanilla.target.in. Add config file kernel-2.6.18-2.6-vanilla-i686.config. Add config file kernel-2.6.18-2.6-vanilla-i686-smp.config. Add config file kernel-2.6.18-2.6-vanilla-x86_64.config. Add config file kernel-2.6.18-2.6-vanilla-x86_64-smp.config.
- Severity: enhancement
Bugzilla: 13207
Description: adapt the lustre_config script to support the upgrade case
Details: Add "-u" option for lustre_config script to support upgrading 1.4 server targets to 1.6 in parallel.
- Severity: critical
Frequency: always
Bugzilla: 13751
Description: Kernel patches update for RHEL5 2.6.18-8.1.14.el5.
Details: Modify target file & which_patch. A flaw was found in the IA32 system call emulation provided on AMD64 and Intel 64 platforms. An improperly validated 64-bit value could be stored in the %RAX register, which could trigger an out-of-bounds system call table access. An untrusted local user could exploit this flaw to run code in the kernel (ie a root privilege escalation). (CVE-2007-4573).
- Severity: critical
Frequency: always
Bugzilla: 13748
Description: Update RHEL 4 kernel to fix local root privilege escalation.
Details: Update to the latest RHEL 4 kernel to fix the vulnerability described in CVE-2007-4573. This problem could allow untrusted local users to gain root access.
- Severity: major
Frequency: occasional
Bugzilla: 14353
Description: excessive CPU consumption on client reduces IO performance
Details: in some cases the ldlm_poold thread is spending too much time trying to cancel locks, and is cancelling them too aggressively and this can severely impact IO performance. Disable the dynamic LRU resize code at build time. It can be re-enabled with configure --enable-lru-resize at build time.
- Severity: major
Frequency: occasional
Bugzilla: 13917
Description: MDS hang or stay in waiting lock
Details: If client receive lock with CBPENDING flag ldlm need send lock cancel as separate rpc, to avoid situation when cancel request can't processed due all i/o threads stay in wait lock.
- Severity: major
Frequency: occasional
Bugzilla: 11710
Description: improve handling recoverable errors Details: If request processed with error which can be recoverable on server request should be resend, otherwise page released from cache and marked as error.
- Severity: normal
Bugzilla: 12302
Description: new userspace socklnd
Details: Old userspace tcpnal that resided in lnet/ulnds/socklnd replaced with new one - usocklnd.
- Severity: normal
Frequency: occasional
Bugzilla: 13730
Description: Do not fail import if osc_interpret_create gets -EAGAIN
Details: If osc_interpret_create got -EAGAIN it immediately exits and wakeup oscc_waitq. After wakeup oscc_wait_for_objects call oscc_has_objects and see OSC has no objests and call oscc_internal_create to resend create request.
- Severity: normal
Frequency: when removing large files
Bugzilla: 13181
Description: scheduling issue during removal of large Lustre files
Details: Don't take the BKL in fsfilt_ext3_setattr() for 2.6 kernels. It causes scheduling issues when removing large files (17TB in the present case).
- Severity: normal
Frequency: always
Bugzilla: 13358
Description: 1.4.11 Can't handle directories with stripe set and extended ACLs
Details: Impossible (EPROTO is returned) to access a directory that has a non-default striping and ACLs.
- Severity: normal
Frequency: only on ppc
Bugzilla: 12234
Description: /proc/fs/lustre/devices broken on ppc
Details: The patch as applied to 1.6.2 doesn't look correct for all arches. We should make sure the type of 'index' is loff_t and then cast explicitly as needed below. Do not assign an explicitly cast loff_t to an int.
- Severity: normal
Frequency: only for rhel5
Bugzilla: 13616
Description: Kernel patches update for RHEL5 2.6.18-8.1.10.el5.
Details: Modify the target file & which_kernel.
- Severity: normal
Frequency: if the uninit_groups feature is enabled on ldiskfs
Bugzilla: 13706
Description: e2fsck reports "invalid unused inodes count"
Details: If a new ldiskfs filesystem is created with the "uninit_groups" feature and only a single inode is created in a group then the "bg_unused_inodes" count is incorrectly updated. Creating a second inode in that group would update it correctly.
- Severity: normal
Frequency: only if filesystem is inconsistent
Bugzilla: 11673
Description: handle "serious error: objid * already exists" more gracefully
Details: If LAST_ID value on disk is smaller than the objects existing in the O/0/d* directories, it indicates disk corruption and causes an LBUG(). If the object is 0-length, then we should use the existing object. This will help to avoid a full fsck in most cases.
- Severity: normal
Frequency: rarely
Bugzilla: 13570
Description: To avoid grant space > avaible space when the disk is almost full. Without this patch you might see the error "grant XXXX > available" or some LBUG about grant, when the disk is almost full.
Details: In filter_check_grant, for non_grant cache write, we should check the left space by if (*left > ungranted + bytes), instead of (*left > ungranted), because only we are sure the left space is enough for another "bytes", then the ungrant space should be increase. In client, we should update cl_avail_grant only there is OBD_MD_FLGRANT in the reply.
- Severity: normal
Frequency: when using O_DIRECT and quotas
Bugzilla: 13930
Description: Incorrect file ownership on O_DIRECT output files
Details: block usage reported by 'lfs quota' does not take into account files that have been written with O_DIRECT.
- Severity: normal
Frequency: always
Bugzilla: 13976
Description: touch file failed when fs is not full
Details: OST in recovery should not be discarded by MDS in alloc_qos(), otherwise we can get ENOSP while fs is not full.
- Severity: normal
Frequency: always
Bugzilla: 13805
Description: data checksumming impacts single node performance
Details: disable checksums by default since it impacts single node performance. It is still possible to enable checksums by default via "configure --enable-checksum", or at runtime via procfs.
- Severity: minor
Frequency: when lov objid is destroyed
Bugzilla: 14222
Description: mds can't recreate lov objid file.
Details: if lov objid file is destroyed and ost with highest index connected first mds not get last objid number from ost. Also if mds get last id from ost his not tell osc about this and it's produce warning about wrong del orphan request.
- Severity: minor
Frequency: rarely
Bugzilla: 12948
Description: buffer overruns could theoretically occur
Details: llapi_semantic_traverse() modifies the "path" argument by appending values to the end of the origin string, and a buffer overrun may occur. Adding buffer overrun check in liblustreapi.
- Severity: minor
Bugzilla: 13732
Description: change order of libsysio includes
Details: '#include sysio.h' should always come before '#include xtio.h'
Changes from v1.6.2 to v1.6.3
Support for networks: socklnd - any kernel supported by Lustre, qswlnd - Qsnet kernel modules 5.20 and later, openiblnd - IbGold 1.8.2, o2iblnd - OFED 1.1 and 1.2, viblnd - Voltaire ibhost 3.4.5 and later, ciblnd - Topspin 3.2.0, iiblnd - Infiniserv 3.3 + PathBits patch, gmlnd - GM 2.1.22 and later, mxlnd - MX 1.2.1 or later, ptllnd - Portals 3.3 / UNICOS/lc 1.5.x, 2.0.x
Support for kernels: 2.6.5-7.286 (SLES 9), 2.6.9-55.0.2.EL (RHEL 4), 2.6.16.46-0.14 (SLES 10), 2.6.18-8.1.8.el5 (RHEL 5), 2.6.18.8 vanilla (kernel.org)
Client support for unpatched kernels: (see http://wiki.lustre.org/index.php?title=Patchless_Client) 2.6.16 - 2.6.22 vanilla (kernel.org)
Due to recently discovered recovery problems, we do not recommend using patchless RHEL 4 clients with this or any earlier release.
Recommended e2fsprogs version: 1.40.2-cfs1
Note that reiserfs quotas are disabled on SLES 10 in this kernel.
- Severity: enhancement
Bugzilla: 12192
Description: llapi_file_create() does not allow some changes
Details: add llapi_file_open() that allows specifying the file creation mode and open flags, and also returns an open file handle.
- Severity: enhancement
Bugzilla: 12743
Description: df doesn't work properly if diskfs blocksize != 4K
Details: Choose biggest blocksize of OST's as the LOV's blocksize.
- Severity: enhancement
Bugzilla: 11248
Description: merge and cleanup kernel patches.
Details: Remove mnt_lustre_list in vfs_intent-2.6-rhel4.patch.
- Severity: enhancement
Bugzilla: 13039
Description: RedHat Update kernel for RHEL5
Details: Kernel config file for RHEL5.
- Severity: enhancement
Bugzilla: 12446
Description: OSS needs mutliple precreate threads
Details: Add ability to start more than one create thread per OSS.
- Severity: enhancement
Bugzilla: 13039
Description: RedHat Update kernel for RHEL5
Details: Modify the kernel config file more closer RHEL5.
- Severity: enhancement
Bugzilla: 13360
Description: Build failure against Centos5 (RHEL5)
Details: Define PAGE_SIZE when it isn't present.
- Severity: enhancement
Bugzilla: 11401
Description: client-side metadata stat-ahead during readdir(directory readahead)
Details: perform client-side metadata stat-ahead when the client detects readdir and sequential stat of dir entries therein
- Severity: enhancement
Bugzilla: 11230
Description: Tune the kernel for good SCSI performance.
Details: Set the value of /sys/block/{dev}/queue/max_sectors_kb to the value of /sys/block/{dev}/queue/max_hw_sectors_kb in mount_lustre.
- Severity: critical
Frequency: Always for filesystems larger than 2TB on 32-bit systems.
Description: Data corruption for OSTs that are formatted larger than 2TB on 32-bit servers.
Details: When generating the bio request for lustre file writes the sector number would overflow a temporary variable before being used for the IO. The data reads correctly from Lustre (which will overflow in a similar manner) but other file data or filesystem metadata may be corrupted in some cases.
- Severity: major
Bugzilla: 13236
Description: TOE Kernel panic by ksocklnd
Details: offloaded sockets provide their own implementation of sendpage, can't call tcp_sendpage() directly
- Severity: major
Bugzilla: 13482
Description: build error
Details: fix typos in gmlnd, ptllnd and viblnd
- Severity: major
Bugzilla: 12932
Description: obd_health_check_timeout too short
Details: set obd_health_check_timeout as 1.5x of obd_timeout
- Severity: major
Frequency: only with quota on the root user
Bugzilla: 12223
Description: mds_obd_create error creating tmp object
Details: When the user sets quota on root, llog will be affected and can't create files and write files.
- Severity: normal
Bugzilla: 12782
Description: /proc/sys/lnet has non-sysctl entries
Details: Updating dump_kernel/daemon_file/debug_mb to use sysctl variables
- Severity: normal
Bugzilla: 10778
Description: kibnal_shutdown() doesn't finish; lconf --cleanup hangs
Details: races between lnd_shutdown and peer creation prevent lnd_shutdown from finishing.
- Severity: normal
Bugzilla: 13279
Description: open files rlimit 1024 reached while liblustre testing
Details: ulnds/socklnd must close open socket after unsuccessful 'say hello' attempt.
- Severity: normal
Frequency: always on directories with default striping set
Bugzilla: 12836
Description: lfs find on -1 stripe looping in lsm_lmm_verify_common()
Details: Avoid lov_verify_lmm_common() on directory with -1 stripe count.
- Severity: normal
Frequency: Always on ia64 patchless client, and possibly others.
Bugzilla: 12826
Description: Add EXPORT_SYMBOL check for node_to_cpumask symbol.
Details: This allows the patchless client to be loaded on architectures without this export.
- Severity: normal
Frequency: rare
Bugzilla: 13142
Description: disorder of journal start and llog_add cause deadlock.
Details: in llog_origin_connect, journal start should happen before llog_add keep the same order as other functions to avoid the deadlock.
- Severity: normal
Frequency: occasionally when using NFS
Bugzilla: 13030
Description: "ll_intent_file_open()) lock enqueue: err: -13" with nfs
Details: with NFS, the anon dentry's parent was set to itself in d_alloc_anon(), so in MDS, we use rec->ur_fid1 to find the corresponding dentry other than use rec->ur_name.
- Severity: normal
Frequency: Occasionally with failover
Bugzilla: 12459
Description: Client eviction due to failover config
Details: after a connection loss, the lustre client should attempt to reconnect to the last active server first before trying the other potential connections.
- Severity: normal
Frequency: only with liblustre clients on XT3
Bugzilla: 12418
Description: evictions taking too long
Details: allow llrd to evict clients directly on OSTs
- Severity: normal
Bugzilla: 13125
Description: osts not allocated evenly to files
Details: change the condition to increase offset_idx
- Severity: normal
Bugzilla: 13436
Description: Only those disconnect error should be returned by rq_status.
Details: In open/enqueue processs, Some errors, which will cause client disconnected, should be returned by rq_status, while other errors should still be returned by intent, then mdc or llite will detect them.
- Severity: normal
Bugzilla: 13600
Description: "lfs find -obd UUID" prints directories
Details: "lfs find -obd UUID" will return all directory names instead of just file names. It is incorrect because the directories do not reside on the OSTs.
- Severity: normal
Bugzilla: 13596
Description: MDS hang after unclean shutdown of lots of clients
Details: Never resend AST requests.
- Severity: normal
Frequency: Always, for kernels after 2.6.16
Bugzilla: 13304
Description: Fix warning idr_remove called for id=.. which is not allocated. Details: Last kernels save old s_dev before kill super and not allow to restore from callback - restore it before call kill_anon_super.
- Severity: minor
Bugzilla: 12186
Description: Fix errors in lfs documentation
Details: Fixes man pages
- Severity: minor
Frequency: rare
Bugzilla: 12588
Description: when mds and osts use different quota unit(32bit and 64bit), quota will be released repeatly.
Details: void sending multiple quota reqs to mds, which will keep the status between the reqs.
- Severity: cleanup
Bugzilla: 13532
Description: rewrite ext2-derived code in llite/dir.c and obdclass/uuid.c
Details: rewrite inherited code (uuid parsing code from ext2 utils and readdir code from ext3) from scratch preserving functionality.
Changes from v1.6.1 to v1.6.2
Support for kernels: 2.6.5-7.286 (SLES 9), 2.6.9-55.0.2.EL (RHEL 4), 2.6.16.46-0.14 (SLES 10), 2.6.18-8.1.8.el5 (RHEL 5), 2.6.18.8 vanilla (kernel.org)
Client support for unpatched kernels: (see Patchless Client) 2.6.16 - 2.6.22 vanilla (kernel.org)
Due to recently discovered recovery problems, we do not recommend using patchless RHEL 4 clients with this or any earlier release.
Recommended e2fsprogs version: 1.39.cfs8
Note that reiserfs quotas are disabled on SLES 10 in this kernel.
- Severity: enhancement
Bugzilla: 12786
Description: lfs setstripe enhancement
Details: Make lfs setstripe understand 'k', 'm' and 'g' for stripe size.
- Severity: enhancement
Bugzilla: 12211
Description: randomly memory allocation failure util
Details: Make lustre randomly failed allocating memory for testing purpose.
- Severity: enhancement
Bugzilla: 10786
Description: omit set fsid for export NFS
Details: fix set/restore device id for avoid EMFILE error and mark lustre fs as FS_REQUIRES_DEV for avoid problems with generate fsid.
- Severity: enhancement
Bugzilla: 10595
Description: Error message improvement.
Details: Merging of two LCONSOLE_ERROR_MSG into one.
- Severity: enhancement
Bugzilla: 12606
Description: don't use GFP_* in generic Lustre code.
Details: Use cfs_alloc_* functions and CFS_* flags for code portability.
- Severity: enhancement
Bugzilla: 12333
Description: obdclass is limited by single OBD_ALLOC(idarray)
Details: replace OBD_ALLOC/OBD_FREE with OBD_VMALLOC/OBD_VFREE
- Severity: enhancement
Bugzilla: 12415
Description: updated patchess for new RHEL4 kernel
Details: Fixed ext3-unlink-race.patch per Kalpak's comment.
- Severity: enhancement
Bugzilla: 13006
Description: warnings with build patchless client with vanila 2.6.19 and up
Details: change old ctl_table style and replace ctl_table/ctl_table_header with cfs_sysctl_table_t/cfs_sysctl_table_header_t
- Severity: enhancement
Bugzilla: 13093
Description: O_DIRECT bypasses client statistics.
Details: When running with O_DIRECT I/O, neither the client rpc_stats nor read_ahead_stats were updated. Copied stats section from osc_send_oap_rpc() into async_internal().
- Severity: enhancement
Bugzilla: 13249
Description: Kernel patches for SLES9 2.6.5-7.286 kernel
Details: Update target/ChangeLog/which_patch .
- Severity: enhancement
Bugzilla: 12955
Description: jbd statistics
Details: Port older jbd statistics patch for sles10
- Severity: enhancement
Bugzilla: 13360
Description: Build failure against Centos5 (RHEL5)
Details: Use getpagesize() instead of PAGE_SIZE.
- Severity: major
Frequency: after network failures
Bugzilla: 12769
Description: Add sync option to mount_lustre.c
Details: Client loses data written to lustre after a network interruption.
- Severity: normal
Frequency: mds/oss recovery
Bugzilla: 10800
Description: llog ctxt is refrenced after it has been freed.
Details: llog ctxt refcount was added to avoide the race between ctxt free and llog recovery process. Each llog user must hold ctxt refcount before it access the llog. And the llog ctxt can only be freed when its refcount is zero.
- Severity: normal
Frequency: only for SLES10
Bugzilla: 12771
Description: Update kernel patch for SLES10 SP1
Details: Add patch blkdev_tunables-2.6-sles10.patch to 2.6-sles10.series.
- Severity: normal
Bugzilla: 11802
Description: lustre support for RHEL5
Details: Add support for RHEL5.
- Severity: normal
Frequency: rare
Bugzilla: 11756
Description: umount blocks forever on error
Details: In result of wrong using obd_no_recov and obd_force flags client can hand if cancel or some other requests is lost.
- Severity: normal
Frequency: Only for SLES
Bugzilla: 13177
Description: sanity_quota fail test_1
Details: There are multiple occurences of $TSTUSR in SLES's /etc/group file, which makes TSTID[2] inunique.
- Severity: normal
Frequency: rare
Bugzilla: 9977
Description: lvbo_init failed for resource with missing objects.
Details: Fix returning error if we do stat for file with missing/corrupted objects and i_size set to all sum of size of all avaible objects. if we to truncate/write to missing object - it is recreated.
- Severity: normal
Frequency: When flocks are used.
Bugzilla: 13103
Description: assertion failure in ldlm_cli_enquque_fini for non NULL lock.
Details: Flock locks might destroy just granted lock if it could be merged with another existing flock, this is done in completion handler, so teach ldlm_cli_enquque_fini that this is a valid case for flock locks.
- Severity: normal
Frequency: Rare
Bugzilla: 11974
Description: reply_lock_interpret crash due to race with it and lock cancel.
Details: Do not replay locks that are being cancelled. Do not reference locks by their address during replay, just by their handle.
- Severity: normal
Frequency: only with deactivated OSTs
Bugzilla: 11679
Description: lstripe command fails for valid OST index
Details: The stripe offset is compared to 'lov->desc.ld_tgt_count' instead of lov->desc.ld_active_tgt_count.
- Severity: minor
Frequency: rare
Bugzilla: 13147
Description: block reactivating mgc import until all deactivates complete
Details: Fix race when failing back MDT/MGS to itself (testing)
- Severity: minor
Frequency: only for Cray XT3
Bugzilla: 11706
Description: peer credits not enough on many OST per OSS systems.
Details: Use new lnet way to add credits as we need those for pings and ASTs
- Severity: minor
Frequency: only with liblustre
Bugzilla: 12790
Description: Liblustre is not releasing flock locks on file close.
Details: Release flock locks on file close.
- Severity: minor
Frequency: only for RHEL4
Bugzilla: 12839
Description: Update kernel patches for kernel-2.6.9-55.0.2.EL
Details: Remove inode-nr_unused-2.6.9-rhel4.patch from 2.6-rhel4.series Update target file and kernel config.
- Severity: minor
Frequency: rare
Bugzilla: 11327
Description: ASSERTION(export != NULL) failed in target_handle_connect
Details: Assetion hit is result of rare race between disconnect and connet to same nid. target_handle_connect found old connect cockie and tried to reconnect, but can't find export for this cockie.
- Severity: minor
Frequency: rare
Bugzilla: 13276
Description: Oops in read and write path when failing to allocate lock.
Details: Check if lock allocation failed and return error back.
Changes from v1.6.0.1 to v1.6.1
Support for networks: socklnd - kernels up to 2.6.16, qswlnd - Qsnet kernel modules 5.20 and later, openiblnd - IbGold 1.8.2, o2iblnd - OFED 1.1 and 1.2 viblnd - Voltaire ibhost 3.4.5 and later, ciblnd - Topspin 3.2.0, iiblnd - Infiniserv 3.3 + PathBits patch, gmlnd - GM 2.1.22 and later, mxlnd - MX 1.2.1 or later, ptllnd - Portals 3.3 / UNICOS/lc 1.5.x, 2.0.x
Support for kernels: 2.6.5-7.283 (SLES 9), 2.6.9-55.EL (RHEL 4), 2.6.16.46-0.14 (SLES 10), 2.6.18.8 vanilla (kernel.org)
Client support for unpatched kernels: (see Patchless Client) 2.6.16 - 2.6.22 vanilla (kernel.org)
Due to recently discovered recovery problems, we do not recommend using patchless RHEL 4 clients with this or any earlier release.
Recommended e2fsprogs version: 1.39.cfs8
Note that reiserfs quotas are disabled on SLES 10 in this kernel. Starting with this release, the ldiskfs backing filesystem required by Lustre is now in its own package, lustre-ldiskfs. This package should be installed. It is versioned separately from Lustre and may be released separately in future.
- Severity: enhancement
Bugzilla: 12194
Description: add optional extra BUILD_VERSION info
Details: add a new environment variable (namely LUSTRE_VERS) which allows to override the lustre version.
- Severity: enhancement
Bugzilla: 11548
Description: Add LNET router traceability for debug purposes
Details: If a checksum failure occurs with a router as part of the IO path, the NID of the last router that forwarded the bulk data is printed so it can be identified.
- Severity: enhancement
Bugzilla: 10997
Description: lfs setstripe use optional parameters instead of postional parameters.
- Severity: enhancement
Bugzilla: 10651
Description: Nanosecond timestamp support for ldiskfs
Details: The on-disk ldiskfs filesystem has added support for nanosecond resolution timestamps. There is not yet support for this at the Lustre filesystem level.
- Severity: enhancement
Bugzilla: 10768
Description: 64-bit inode version
Details: : Add a on-disk 64-bit inode version for ext3 to track changes made to the inode. This will be required for version-based recovery.
- Severity: enhancement
Bugzilla: 11563
Description: Add -o localflock option to simulate old noflock behaviour.
Details: This will achieve local-only flock/fcntl locks coherentness.
- Severity: enhancement
Bugzilla: 11647
Description: update patchless client
Details: Add support for patchless client with 2.6.20, 2.6.21 and RHEL 5
- Severity: enhancement
Bugzilla: 10589
Description: metadata RPC reduction (e.g. for rm performance)
Details: decrease the amount of synchronous RPC between clients and servers by canceling conflicing lock before the operation on the client and packing thier handles into the main operation RPC to server.
- Severity: enhancement
Bugzilla: 12605
Description: add #ifdef HAVE_KERNEL_CONFIG_H
Details: kernels from 2.6.19 not need include linux/config.h, but add include linux/autoconf.h in commpiler command line.
- Severity: enhancement
Bugzilla: 12764
Description: patchless client support for 2.6.22 kernel
Details: 2.6.22 has only one visble change, SLAB_CTOR_* constants is removed. In this case we need drop using os depended interface to kmem_cache and use cfs_mem_cache API.
- Severity: enhancement
Bugzilla: 10968
Description: VFS operations stats tool.
Details: Tool which collects stats by tracking value written in pid, ppid, gid and uses llstat to generate output to plot graph using plot-llstat Updated lustre/utils/Makefile.am Added lustre/utils/ltrack_stats.c
- Severity: enhancement
Bugzilla: 11039
Description: 2.6.18 server support (lustre 1.6.1)
Details: Support for 2.6.18 kernels on the server side.
- Severity: enhancement
Bugzilla: 12678
Description: remove fs_prep_san_write operation and related patches
Details: remove the ext3-san-jdike patches which are no longer useful.
- Severity: enhancement
Bugzilla: 4900
Description: Async OSC create to avoid the blocking unnecessarily.
Details: If a OST has no remain object, system will block on the creating when need to create a new object on this OST. Now, ways use pre-created objects when available, instead of blocking on an empty osc while others are not empty. If we must block, we block for the shortest possible period of time.
- Severity: enhancement
Bugzilla: 11721
Description: Add printing inode info into message about error in writepage.
- Severity: major
Bugzilla: 11971
Description: Accessing a block bevice can re-enable I/O when Lustre is tearing down a device.
Details: dev_clear_rdonly(bdev) must be called in kill_bdev() instead of blkdev_put().
- Severity: major
Frequency: only with mballoc3 code and deep extent trees
Bugzilla: 12861
Description: ldiskfs_ext_search_right: bad header in inode: unexpected eh_depth
Details: a wrong check of extent headers in ldiskfs_ext_search_right() can cause the filesystem to be remounted read-only.
- Severity: normal
Frequency: rare
Bugzilla: 13129
Description: server LBUG when shutting down
Details: Block umount forever until the mount refcount is zero rather than giving up after an arbitrary timeout.
- Severity: normal
Frequency: 2.6.18 servers only
Bugzilla: 12546
Description: ll_kern_mount() doesn't release the module reference
Details: The ldiskfs module reference count never drops down to 0 because ll_kern_mount() doesn't release the module reference.
- Severity: normal
Frequency: rare
Bugzilla: 12470
Description: server LBUG when using old ost_num_threads parameter
Details: Accept the old ost_num_threads parameter but warn that it is deprecated, and fix an off-by-one error that caused an LBUG.
- Severity: normal
Frequency: rare
Bugzilla: 11722
Description: Transient SCSI error results in persistent IO issue
Details: iobuf->dr_error is not reinitialized to 0 between two uses.
- Severity: normal
Frequency: sometimes when underlying device returns I/O errors
Bugzilla: 11743
Description: OSTs not going read-only during write failures
Details: OSTs are not remounted read-only when the journal commit threads get I/O errors because fsfilt_ext3 calls journal_start/stop() instead of the ext3 wrappers.
- Severity: normal
Frequency: SLES10 only
Bugzilla: 12538
Description: sanity-quota.sh quotacheck failed: rc = -22
Details: Quotas cannot be enabled on SLES10.
- Severity: normal
Frequency: liblustre clients only
Bugzilla: 12229
Description: getdirentries does not give error when run on compute nodes
Details: getdirentries does not fail when the size specified as an argument is too small to contain at least one entry
- Severity: normal
Frequency: rare
Bugzilla: 11315
Description: OST "spontaneously" evicts client; client has imp_pingable == 0
Details: Due to a race condition, liblustre clients were occasionally evicted incorrectly.
- Severity: normal
Frequency: during server recovery
Bugzilla: 11203
Description: MDS failing to send precreate requests due to OSCC_FLAG_RECOVERING
Details: request with rq_no_resend flag not awake l_wait_event if they get a timeout.
- Severity: normal
Frequency: rare
Bugzilla: 11818
Description: MDS fails to start if a duplicate client export is detected
Details: in some rare cases it was possible for a client to connect to an MDS multiple times. Upon recovery the MDS would detect this and fail during startup. Handle this more gracefully.
- Severity: normal
Frequency: rare
Bugzilla: 12477
Description: Wrong request locking in request set processing
Details: ptlrpc_check_set wrongly uses req->rq_lock for proctect add to imp_delayed_list, in this place should be used imp_lock.
- Severity: normal
Frequency: when reconnecting
Bugzilla: 11662
Description: Grant leak when OSC reconnect to OST
Details: When osc reconnect ost, OST(filter) should check whether it should grant more space to client by comparing fed_grant and cl_avail_grant, and return the granted space to client instead of "new granted" space, because client will call osc_init_grant to update the client grant space info.
- Severity: normal
Frequency: when client reconnects to OST
Bugzilla: 11662
Description: Grant leak when OSC does a resend and replays bulk write
Details: When osc reconnect to OST, OST(filter) should clear grant info of bulk write request, because the grant info while be sync between OSC and OST when reconnect, and we should ignore the grant info these of resend/replay write req.
- Severity: normal
Frequency: rare
Bugzilla: 11662
Description: Grant space more than avaiable space sometimes.
Details: When then OST is about to be full, if two bulk writing from different clients came to OST. Accord the avaliable space of the OST, the first req should be permitted, and the second one should be denied by ENOSPC. But if the seconde arrived before the first one is commited. The OST might wrongly permit second writing, which will cause grant space > avaiable space.
- Severity: normal
Frequency: when client is evicted
Bugzilla: 12371
Description: Grant might be wrongly erased when osc is evicted by OST
Details: when the import is evicted by server, it will fork another thread ptlrpc_invalidate_import_thread to invalidate the import, where the grant will be set to 0. While the original thread will update the grant it got when connecting. So if the former happened latter, the grant will be wrongly errased because of this race.
- Severity: normal
Frequency: rare
Bugzilla: 12401
Description: Checking Stale with correct fid
Details: ll_revalidate_it should uses de_inode instead of op_data.fid2 to check whether it is stale, because sometimes, we want the enqueue happened anyway, and op_data.fid2 will not be initialized.
- Severity: normal
Frequency: only with 2.4 kernel
Bugzilla: 12134
Description: random memory corruption
Details: size of struct ll_inode_info is to big for union inode.u and this can be cause of random memory corruption.
- Severity: normal
Frequency: rare
Bugzilla: 10818
Description: Memory leak in recovery
Details: Lov_mds_md was not free in an error handler in mds_create_object. It should also check obd_fail before fsfilt_start, otherwise if fsfilt_start return -EROFS,(failover mds during mds recovery). then the req will return with repmsg->transno = 0 and rc = EROFS. and we met hit the assert LASSERT(req->rq_reqmsg->transno == req->rq_repmsg->transno) in ptlrpc_replay_interpret. Fcc should be freed no matter whether fsfilt_commit success or not.
- Severity: normal
Frequency: rare
Bugzilla: 11935
Description: Not check open intent error before release open handle
Details: in some rare cases, the open intent error is not checked before release open handle, which may cause ASSERTION(open_req->rq_transno != 0), because it tries to release the failed open handle.
- Severity: normal
Frequency: rare
Bugzilla: 12556
Description: Set cat log bitmap only after create log success.
Details: in some rare cases, the cat log bitmap is set too early. and it should be set only after create log success.
- Severity: normal
Frequency: rare
Bugzilla: 12086
Description: the cat log was not initialized in recovery
Details: When mds(mgs) do recovery, the tgt_count might be zero, so the unlink log on mds will not be initialized until mds post recovery. And also in mds post recovery, the unlink log will initialization will be done asynchronausly, so there will be race between add unlink log and unlink log initialization.
- Severity: normal
Bugzilla: 12597
Description: brw_stats were being printed incorrectly
Details: brw_stats were being printed as log2 but all of them were not recorded as log2. Also remove some code duplication arising from filter_tally_{read,write}.
- Severity: normal
Frequency: rare, only in recovery.
Bugzilla: 11674
Description: ASSERTION(req->rq_type != LI_POISON) failed
Details: imp_lock should be held while iterating over imp_sending_list for prevent destroy request after get timeout in ptlrpc_queue_wait.
- Severity: normal
Bugzilla: 12689
Description: replay-single.sh test 52 fails
Details: A lock's skiplist need to be cleanup when it being unlinked from its resource list.
- Severity: normal
Frequency: always
Bugzilla: 11737
Description: Short directio read returns full requested size rather than actual amount read.
Details: Direct I/O operations should return actual amount of bytes transferred rather than requested size.
- Severity: normal
Bugzilla: 12646
Description: sanity.sh test_77h fails with "test_77h file compare failed"
Details: test_77h uses a file which was messed by other test case.
- Severity: normal
Bugzilla: 12576
Description: Not Check whether lov_tgts is NULL in some lov functions
Details: Checking whether lov_tgts is NULL in some functions.
- Severity: normal
Bugzilla: 11815
Description: replace obdo_alloc() with OBDO_ALLOC macro
Details: nothing special is done in obdo_alloc() function, and for debugging purpose, it needs to be replaced with macros.
- Severity: normal
Bugzilla: 12784
Description: bad return value and errno from fcntl call
Details: In liblustre API, errno should be a negative value if error happens.
- Severity: normal
Bugzilla: 11544
Description: ptlrpc_check_set() LBUG
Details: In case of positive reply from server and failed client bulk callback after bulk transfer shouldn't LBUG, but process this request as erroneous.
- Severity: normal
Frequency: rare
Bugzilla: 12696
Description: ASSERTION(imp->imp_conn_current) failed
Details: an assertion failure is hit if a client node boots and attempts to mount a lustre filesystem faster than RECONNECT_INTERVAL seconds.
- Severity: normal
Frequency: only for i686
Bugzilla: 12695
Description: 1.4.11 RC1 build fails for RHEL 4, i686
Details: Fixed config variable for build.
- Severity: normal
Frequency: rare
Bugzilla: 12415
Description: Updated patchess for new RHEL4 kernel
Details: Updated patch inode-nr_unused-2.6.9-rhel4.patch Updated patch jbd-stats-2.6.9.patch Updated patch qsnet-rhel4-2.6.patch Updated patch quota-deadlock-on-pagelock-core.patch Updated patch vfs_intent-2.6-rhel4.patch Updated patch vfs_races-2.6-rhel4.patch Updated series file 2.6-rhel4-titech.series Updated series file 2.6-rhel4.series Updated kernel config files
- Severity: normal
Frequency: rare
Bugzilla: 12374
Description: lquota slave complains LBUG when reconnecting with mds or failover in mds.
Details: quota slave depends qctxt->lqc_import to send its quota request. This pointer will be invalid if mds did failover or broke its connect to osts, which leads to LBUG.
- Severity: normal
Frequency: when qunit size is too small(less than 20M)
Bugzilla: 12588
Description: write is stopped by improper -EDQUOT
Details: If the master is busy and qunit size is small enough(let's say 1M), the slave can not get quota from master on time, which will lead slave to trigger a -EQUOTA to client.
- Severity: normal
Frequency: rare
Bugzilla: 12629
Description: Deadlock during metadata tests
Details: in prune_dir_dentries(), shrink_dcache_parent() should not be called with the per-dentry lock held.
- Severity: normal
Frequency: SLES9 only
Bugzilla: 12744
Description: Lustre patched kernel for SLES9 SP3 has NR_CPUS set to 8
Details: set CONFIG_NR_CPUS to 128 instead of 8.
- Severity: normal
Frequency: rare
Bugzilla: 11324
Description: LDISKFS-fs error (device sdc): ldiskfs_free_blocks
Details: a disk corruption can cause the mballoc code to assert on a double free or other extent corruptions. Handle these with ext3_error() instead of assertions.
- Severity: normal
Frequency: rare
Bugzilla: 13063
Description: lfsck built against 1.4.x cannot run against 1.6.0 lustre
Details: the definition for OBD_IOC_GETNAME changed in 1.6.0. One of the few external users of this ioctl number is lfsck's call to llapi_lov_get_uuids() and this caused lfsck to fail at startup. Add the old ioctl number to the handler so both old and new lfsck can work.
- Severity: normal
Bugzilla: 11301
Description: parallel lock callbacks
Details: Instead of sending blocking and completion callbacks as separated requests, adding them to a set and sending in parallel.
- Severity: normal
Bugzilla: 12417
Description: Disable most debugging by default
Details: To improve performance, disable most logging (for debug purposes) by default. VFSTRACE, RPCTRACE, and DLMTRACE are now off by default, and HA includes fewer messages.
- Severity: normal
Bugzilla: 11013
Description: hash tables for lists of nids, connections and uuids
Details: Hash tables noticeably help when a lot of clients connect to a server, to faster identify duplicate connections or reconnects, also to faster find export to evict in manual eviction case.
- Severity: normal
Bugzilla: 11190
Description: Sometimes, when the server evict a client, and the client will not be evicted as soon as possible.
Details: In enqueue req, the error was returned by intent, instead of rq_status which make ptlrpc layer not detect this error, and does not evict the client. So enqueue error should be returned by rq_status.
- Severity: normal
Frequency: only for SLES9
Bugzilla: 12543
Description: Routinely utilize latest Quadrics drivers in CFS releases
Details: Update patch qsnet-suse-2.6.patch.
- Severity: normal
Frequency: only for sles10
Bugzilla: 12771
Description: Update patches for SLES 10 SP1 kernel.
Details: Update the patch vfs_intent-2.6-sles10.patch.
- Severity: normal
Frequency: rare
Bugzilla: 12543
Description: Routinely utilize latest Quadrics drivers in CFS releases
Details: Update patch qsnet-rhel4-2.6.patch.
- Severity: normal
Frequency: rare
Bugzilla: 12975
Description: Using wrong pointer in osc_brw_prep_request
Details: Access to array[-1] can produce panic if kernel compiled with CONFIG_PAGE_ALLOC enabled
- Severity: normal
Frequency: only in recovery
Bugzilla: 13148
Description: Mark OST as early accessible if his start SYNC.
Details: osc_precreate return flag early accessible if oscc marked as OSCC_FLAG_SYNC_IN_PROGRESS.
- Severity: normal
Frequency: rare
Bugzilla: 13196
Description: Sometimes precreate code can triger create object on wrong ost
Details: Wrong protected or not not restored variables aftre precreate loop can produce creation object on wrong ost.
- Severity: normal
Frequency: oss recovery
Bugzilla: 10800
Description: llog_commit_thread cleanup should sync with llog_commit_thread start
Details: llog_commit_thread_count should be synced between llog_commit start and cleanup, so new llog_commit thread should not be started when llog_commit threads being stopped to avoid accessing some freed stuff.
- Severity: minor
Frequency: only with 10000 clients or more
Bugzilla: 12364
Description: poor connect scaling with increasing client count
Details: Don't run filter_grant_sanity_check for more than 100 exports to improve scaling for large numbers of clients.
- Severity: minor
Frequency: nfs export on patchless client
Bugzilla: 11970
Description: connectathon hang when test nfs export over patchless client
Details: Disconnected dentry cannot be found with lookup, so we do not need to unhash it or make it invalid
- Severity: minor
Frequency: rare
Bugzilla: 11546
Description: open req refcounting wrong on reconnect
Details: If reconnect happened between getting open reply from server and call to mdc_set_replay_data in ll_file_open, we will schedule replay for unreferenced request that we are about to free. Subsequent close will crash in variety of ways. Check that request is still eligible for replay in mdc_set_replay_data().
- Severity: minor
Frequency: rare
Bugzilla: 11512
Description: disable writes to filesystem when reading health_check file
Details: the default for reading the health_check proc file has changed to NOT do a journal transaction and write to disk, because this can cause reads of the /proc file to hang and block HA state checking on a healthy but otherwise heavily loaded system. It is possible to return to the previous behaviour during configure with --enable-health-write.
- Severity: minor
Frequency: rare
Bugzilla: 11658
Description: log_commit_thread vs filter_destroy race leads to crash
Details: Take import reference before releasing llog record semaphore
- Severity: minor
Frequency: only with huge numbers of clients
Bugzilla: 11817
Description: Prevents from taking the superblock lock in llap_from_page for a soon died page.
Details: using LL_ORIGIN_REMOVEPAGE origin flag instead of LL_ORIGIN_UNKNOW for llap_from_page call in ll_removepage() prevents from taking the superblock lock for a soon died page.
- Severity: minor
Bugzilla: 11706
Description: service threads may hog cpus when there are a lot of requests
Details: Insert cond_resched to give other threads a chance to use some CPU
- Severity: minor
Frequency: always
Bugzilla: 12747
Description: fix mal-formatted messages
Details: fix some mal-formatted DEBUG_REQ and LCONSOLE_ERROR_MSG messages
- Severity: minor
Frequency: always in liblustre
Bugzilla: 11737
Description: wrong IS_ERR implementation in liblustre.h
Details: fix IS_ERR implementation in liblustre.h for right detect errors.
- Severity: minor
Frequency: always
Bugzilla: 10419
Description: Correct condition for output debug message.
Details: inode i_nlink equal zero is not enough for output message about disk corruption, i_ctime and i_mode should be also checked.
- Severity: minor
Frequency: always in patchless client
Bugzilla: 12415
Description: add configure check for truncate_complete_page
Details: improve checks for exported symbols. This allow run check without sources, but with Module.symvers shipped with kernel distribution. add check for truncate_complete_page used by patchless client.
- Severity: minor
Frequency: only run on patchless client.
Bugzilla: 12858
Description: use do_facet on sanity.sh for test handling recoverables errors
Details: use do_facet instead of direct use sysctl for set fail_loc on OST
- Severity: minor
Frequency: only at startup
Bugzilla: 11778
Description: Delay client connections to MDT until fist MDT->OST connect
Details: If a client tried to create a new file before the MDT had connected to any OSTs, the create would return EIO. Now the client will simply block until the MDT connects to the first OST and the create can succeed.
- Severity: minor
Frequency: at statup only
Bugzilla: 12860
Description: mds_lov_synchronize race leads to various problems
Details: simultaneous MDT->OST connections at startup can cause the sync to abort, leaving the OSC in a bad state.
Changes from v1.6.0 to v1.6.0.1
- Severity: normal
Frequency: on some architectures
Bugzilla: 12404
Description: 1.6 client sometimes fails to mount from a 1.4 MDT
Details: Uninitialized flags sometimes cause configuration commands to be skipped.
- Severity: normal
Frequency: patchless clients only
Bugzilla: 12391
Description: missing __iget() symbol export
Details: The __iget() symbol export is missing. To avoid the need for this on patchless clients the deathrow inode reaper is turned off, and we depend on the VM to clean up old inodes. This dependency was during via the fix for bug 12181.
- Severity: normal
Frequency: always
Bugzilla: 12848
Description: sanity.sh fail: test_52b
Details: The ll_inode_to_ext_flags() has a glitch which makes MDS return incorrect inode's flags to client.
Changes from v1.4.10 to v1.6.0
CONFIGURATION CHANGE. This version of Lustre WILL NOT INTEROPERATE with older versions automatically. In many cases a special upgrade step is needed. Please read the user documentation before upgrading any part of a 1.4.x system.
WARNING: Lustre configuration and startup changes are required with this release. See Mount Conf for details.
Support for kernels: 2.4.21-47.0.1.EL (RHEL 3), 2.6.5-7.283 (SLES 9), 2.6.9-42.0.10.EL (RHEL 4), 2.6.12.6 vanilla (kernel.org), 2.6.16.27-0.9 (SLES10)
Client support for unpatched kernels: (see Patchless Client) 2.6.16 - 2.6.19 vanilla (kernel.org), 2.6.9-42.0.8EL (RHEL 4)
Recommended e2fsprogs version: 1.39.cfs6
Note that reiserfs quotas are disabled on SLES 10 in this kernel
- Severity: enhancement
Bugzilla: 4900
Description: Async OSC create to avoid the blocking unnecessarily.
Details: If a OST has no remain object, system will block on the creating when need to create a new object on this OST. Now, ways use pre-created objects when available, instead of blocking on an empty osc while others are not empty. If we must block, we block for the shortest possible period of time.
- Severity: enhancement
Bugzilla: 8007
Description: MountConf
Details: Lustre configuration is now managed via mkfs and mount commands instead of lmc and lconf. New obd types (MGS, MGC) are added for dynamic configuration management. See Mount Conf for details.
- Severity: enhancement
Bugzilla: 4482
Description: dynamic OST addition
Details: OSTs can now be added to a live filesystem
- Severity: enhancement
Bugzilla: 9851
Description: startup order invariance
Details: MDTs and OSTs can be started in any order. Clients only require the MDT to complete startup.
- Severity: enhancement
Bugzilla: 4899
Description: parallel, asynchronous orphan cleanup
Details: orphan cleanup is now performed in separate threads for each OST, allowing parallel non-blocking operation.
- Severity: enhancement
Bugzilla: 9862
Description: optimized stripe assignment
Details: stripe assignments are now made based on ost space available, ost previous usage, and OSS previous usage, in order to try to optimize storage space and networking resources.
- Severity: enhancement
Bugzilla: 4226
Description: Permanently set tunables
Details: All writable /proc/fs/lustre tunables can now be permanently set on a per-server basis, at mkfs time or on a live system.
- Severity: enhancement
Bugzilla: 10547
Description: Lustre message v2
Details: Add lustre message format v2.
- Severity: enhancement
Bugzilla: 9866
Description: client OST exclusion list
Details: Clients can be started with a list of OSTs that should be declared "inactive" for known non-responsive OSTs.
- Severity: enhancement
Bugzilla: 10088
Description: fine-grained SMP locking inside DLM
Details: Improve DLM performance on SMP systems by removing the single per-namespace lock and replace it with per-resource locks.
- Severity: enhancement
Bugzilla: 9332
Description: don't hold multiple extent locks at one time
Details: To avoid client eviction during large writes, locks are not held on multiple stripes at one time or for very large writes. Otherwise, clients can block waiting for a lock on a failed OST while holding locks on other OSTs and be evicted.
- Severity: enhancement
Bugzilla: 9293
Description: Multiple MD RPCs in flight.
Details: Further unserialise some read-only MDT RPCs - learn about intents. To avoid overly-overloading MDT, introduce a limit on number of MDT RPCs in flight for a single client and add /proc controls to adjust this limit.
- Severity: enhancement
Bugzilla: 22484
Description: client read/write statistics
Details: Add client read/write call usage stats for performance analysis of user processes. /proc/fs/lustre/llite/*/offset_stats shows non-sequential file access. extents_stats shows chunk size distribution. extents_stats_per_process show chunk size distribution per user process.
- Severity: enhancement
Bugzilla: 22485
Description: per-client statistics on server
Details: Add ldlm and operations statistics for each client in /proc/fs/lustre/mds|obdfilter/*/exports/
- Severity: enhancement
Bugzilla: 22486
Description: improved MDT statistics
Details: Add detailed MDT operations statistics in /proc/fs/lustre/mds/*/stats
- Severity: enhancement
Bugzilla: 10968
Description: VFS operations stats
Details: Add client VFS call stats, trackable by pid, ppid, or gid /proc/fs/lustre/llite/*/stats_track_[pid|ppid|gid]
- Severity: enhancement
Bugzilla: 2258
Description: Dynamic service threads
Details: Within a small range, start extra service threads automatically when the request queue builds up.
- Severity: enhancement
Bugzilla: 11229
Description: Easy OST removal
Details: OSTs can be permanently deactivated with e.g. 'lctl conf_param lustre-OST0001.osc.active=0'
- Severity: enhancement
Bugzilla: 11335
Description: MGS proc entries
Details: Added basic proc entries for the MGS showing what filesystems are served.
- Severity: enhancement
Bugzilla: 10998
Description: provide MGS failover
Details: Added config lock reacquisition after MGS server failover.
- Severity: enhancement
Bugzilla: 11461
Description: add Linux 2.4 support
Details: Added support for RHEL 2.4.21 kernel for 1.6 servers and clients
- Severity: enhancement
Bugzilla: 10902
Description: plain/inodebits lock performance improvement
Details: Grouping plain/inodebits in granted list by their request modes and bits policy, thus improving the performance of search through the granted list.
- Severity: enhancement
Bugzilla: 11667
Description: Add "/proc/sys/lustre/debug_peer_on_timeout"
Details: liblustre envirable: LIBLUSTRE_DEBUG_PEER_ON_TIMEOUT boolean to control whether to print peer debug info when a client's RPC times out.
- Severity: enhancement
Bugzilla: 11264
Description: Add uninit_groups feature to ldiskfs2 to speed up e2fsck
Details: The uninit_groups feature works in conjunction with the kernel filesystem code (ldiskfs2 only) and e2fsprogs-1.39-cfs6 to speed up the pass1 processing of e2fsck. This is a read-only feature in ldiskfs2 only, so older kernels and current ldiskfs cannot mount filesystems that have had this feature enabled.
- Severity: enhancement
Bugzilla: 10816
Description: Improve multi-block allocation algorithm to avoid fragmentation
Details: The mballoc3 code (ldiskfs2 only) adds new mechanisms to improve allocation locality and avoid filesystem fragmentation.
- Severity: major
Frequency: mixed-endian client/server environments
Bugzilla: 11214
Description: mixed-endian crashes
Details: The new msg_v2 system had some failures in mixed-endian environments.
- Severity: major
Frequency: when an incorrect nid is specified during startup
Bugzilla: 10734
Description: ptlrpc connect to non-existant node causes kernel crash
Details: LNET can't be re-entered from an event callback, which happened when we expire a message after the export has been cleaned up. Instead, hand the zombie cleanup off to another thread.
- Severity: major
Frequency: only if OST filesystem is corrupted
Bugzilla: 9829
Description: client incorrectly hits assertion in ptlrpc_replay_req()
Details: for a short time RPCs with bulk IO are in the replay list, but replay of bulk IOs is unimplemented. If the OST filesystem is corrupted due to disk cache incoherency and then replay is started it is possible to trip an assertion. Avoid putting committed RPCs into the replay list at all to avoid this issue.
- Severity: major
Frequency: liblustre (e.g. catamount) on a large cluster with >= 8 OSTs/OSS
Bugzilla: 11684
Description: System hang on startup
Details: This bug allowed the liblustre (e.g. catamount) client to return to the app before handling all startup RPCs. This could leave the node unresponsive to lustre network traffic and manifested as a server ptllnd timeout.
- Severity: major
Frequency: only for devices with external journals
Bugzilla: 10719
Description: Set external device read-only also
Details: During a commanded failover stop, we set the disk device read-only while the server shuts down. We now also set any external journal device read-only at the same time.
- Severity: major
Frequency: when setting specific ost indicies
Bugzilla: 11149
Description: QOS code breaks on skipped indicies
Details: Add checks for missing OST indicies in the QOS code, so OSTs created with --index need not be sequential.
- Severity: normal
Bugzilla: 12123
Description: ENOENT returned for valid filehandle during dbench.
Details: Check if a directory has children when invalidating dentries associated with an inode during lock cancellation. This fixes an incorrect ENOENT sometimes seen for valid filehandles during testing with dbench.
- Severity: normal
Bugzilla: 11330
Description: a large application tries to do I/O to the same resource and dies in the middle of it.
Details: Check the req->rq_arrival time after the call to ost_brw_lock_get(), but before we do anything about processing it & sending the BULK transfer request. This should help move old stale pending locks off the queue as quickly as obd_timeout.
- Severity: minor
Frequency: SFS test only (otherwise harmless)
Bugzilla: 6062
Description: SPEC SFS validation failure on NFS v2 over lustre.
Details: Changes the blocksize for regular files to be 2x RPC size, and not depend on stripe size.
- Severity: minor
Frequency: always
Bugzilla: 6380
Description: Fix client-side osc byte counters
Details: The osc read/write byte counters in /proc/fs/lustre/osc/*/stats are now working
- Severity: minor
Frequency: always as root on SLES
Bugzilla: 10667
Description: Failure of copying files with lustre special EAs.
Details: Client side always return success for setxattr call for lustre special xattr (currently only "trusted.lov").
- Severity: minor
Frequency: always
Bugzilla: 10345
Description: Refcount LNET uuids
Details: The global LNET uuid list grew linearly with every startup; refcount repeated list entries instead of always adding to the list.
- Severity: minor
Frequency: only for kernels with patches from Lustre below 1.4.3
Bugzilla: 11248
Description: Remove old rdonly API
Details: Remove old rdonly API which unused from at least lustre 1.4.3
- Severity: minor
Frequency: when upgrading from 1.4 while trying to change parameters
Bugzilla: 11692
Description: The wrong (new) MDC name was used when setting parameters for upgraded MDT's. Also allows changing of OSC (and MDC) parameters if --writeconf is specified at tunefs upgrade time.
Changes from v1.6.0 to v1.4.11
Support for networks: socklnd - kernels up to 2.6.16, qswlnd - Qsnet kernel modules 5.20 and later, openiblnd - IbGold 1.8.2, o2iblnd - OFED 1.1 viblnd - Voltaire ibhost 3.4.5 and later, ciblnd - Topspin 3.2.0, iiblnd - Infiniserv 3.3 + PathBits patch, gmlnd - GM 2.1.22 and later, mxlnd - MX 1.2.1 or later, ptllnd - Portals 3.3 / UNICOS/lc 1.5.x, 2.0.x
- Severity: major
Bugzilla: 12014
Description: ASSERTION failures when upgrading to the patchless zero-copy socklnd
Details: This bug affects "rolling upgrades", causing an inconsistent protocol version negotiation and subsequent assertion failure during rolling upgrades after the first wave of upgrades.
- Severity: major
Bugzilla: 10916
Description: added LNET self test
Details: landing b_self_test
- Severity: major
Bugzilla: 12316
Description: Add OFED1.2 support to o2iblnd
Details: o2iblnd depends on OFED's modules, if out-tree OFED's modules are installed (other than kernel's in-tree infiniband), there could be some problem while insmod o2iblnd (mismatch CRC of ib_* symbols). If extra Module.symvers is supported in kernel (i.e, 2.6.17), this link provides solution: https://bugs.openfabrics.org/show_bug.cgi?id=355 if extra Module.symvers is not supported in kernel, we will have to run the script in bug 12316 to update $LINUX/module.symvers before building o2iblnd. More details about this are in bug 12316.
- Severity: normal
Bugzilla: 11680
Description: make panic on lbug configurable
- Severity: minor
Bugzilla: 13288
Description: Initialize cpumask before use
- Severity: minor
Bugzilla: 11223
Details: Change "dropped message" CERRORs to D_NETERROR so they are logged instead of creating "console chatter" when a lustre timeout races with normal RPC completion.
- Severity: minor
Details: lnet_clear_peer_table can wait forever if user forgets to clear a lazy portal.
- Severity: minor
Details: libcfs_id2str should check pid against LNET_PID_ANY.
- Severity: minor
Frequency: rare
Bugzilla: 12227
Description: cfs_duration_{u,n}sec() wrongly calculate nanosecond part of struct timeval.
Details: do_div() macro is used incorrectly.
Changes from v1.4.9 to v1.6.0
Support for networks: socklnd - kernels up to 2.6.16, qswlnd - Qsnet kernel modules 5.20 and later, openiblnd - IbGold 1.8.2, o2iblnd - OFED 1.1, viblnd - Voltaire ibhost 3.4.5 and later, ciblnd - Topspin 3.2.0, iiblnd - Infiniserv 3.3 + PathBits patch, gmlnd - GM 2.1.22 and later, mxlnd - MX 1.2.1 or later, ptllnd - Portals 3.3 / UNICOS/lc 1.5.x, 2.0.x
- Severity: enhancement
Bugzilla: 10316
Description: Fixed console chatter in case of -ETIMEDOUT.
- Severity: enhancement
Bugzilla: 11684
Description: Added D_NETTRACE for recording network packet history (initially only for ptllnd). Also a separate userspace ptllnd facility to gather history which should really be covered by D_NETTRACE too, if only CDEBUG recorded history in userspace.
- Severity: enhancement
Bugzilla: 11094
Description: Multiple instances for o2iblnd
Details: Allow multiple instances of o2iblnd to enable networking over multiple HCAs and routing between them.
- Severity: major
Frequency: rare
Bugzilla: 12458
Description: Assertion failure in kernel ptllnd caused by posting passive bulk buffers before connection establishment complete.
- Severity: major
Frequency: rare
Bugzilla: 12455
Description: A race in kernel ptllnd between deleting a peer and posting new communications for it could hang communications - manifesting as "Unexpectedly long timeout" messages.
- Severity: major
Frequency: rare
Bugzilla: 12432
Description: Kernel ptllnd lock ordering issue could hang a node.
- Severity: major
Frequency: rare
Bugzilla: 12016
Description: node crash on socket teardown race
- Severity: major
Frequency: after Ptllnd timeouts and portals congestion
Bugzilla: 11659
Description: Credit overflows
Details: This was a bug in ptllnd connection establishment. The fix implements better peer stamps to disambiguate connection establishment and ensure both peers enter the credit flow state machine consistently.
- Severity: major
Frequency: rare
Bugzilla: 11394
Description: kptllnd didn't propagate some network errors up to LNET
Details: This bug was spotted while investigating 11394. The fix ensures network errors on sends and bulk transfers are propagated to LNET/lustre correctly.
- Severity: major
Frequency: rare
Bugzilla: 11616
Description: o2iblnd handle early RDMA_CM_EVENT_DISCONNECTED.
Details: If the fabric is lossy, an RDMA_CM_EVENT_DISCONNECTED callback can occur before a connection has actually been established. This caused an assertion failure previously.
- Severity: major
Bugzilla: 11201
Description: lnet deadlock in router_checker
Details: turned ksnd_connd_lock, ksnd_reaper_lock, and ksock_net_t:ksnd_lock into BH locks to eliminate potential deadlock caused by ksocknal_data_ready() preempting code holding these locks.
- Severity: major
Bugzilla: 11126
Description: Millions of failed socklnd connection attempts cause a very slow FS
Details: added a new route flag ksnr_scheduled to distinguish from ksnr_connecting, so that a peer connection request is only turned down for race concerns when an active connection to the same peer is under progress (instead of just being scheduled).
- Severity: normal
Frequency: rare
Description: gmlnd ignored some transmit errors when finalizing lnet messages.
- Severity: normal
Frequency: rare
Bugzilla: 11472
Description: Changed the default kqswlnd ntxmsg=512
- Severity: minor
Frequency: rare
Description: Ptllnd didn't init kptllnd_data.kptl_idle_txs before it could be possibly accessed in kptllnd_shutdown. Ptllnd should init kptllnd_data.kptl_ptlid2str_lock before calling kptllnd_ptlid2str.
- Severity: minor
Frequency: rare
Description: ptllnd logs a piece of incorrect debug info in kptllnd_peer_handle_hello.
- Severity: minor
Frequency: rare
Description: the_lnet.ln_finalizing was not set when the current thread is about to complete messages. It only affects multi-threaded user space LNet.
- Severity: minor
Frequency: 'lctl peer_list' issued on a mx net
Bugzilla: 12237
Description: Enable lctl's peer_list for MXLND