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: Difference between revisions
No edit summary |
No edit summary |
||
(92 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
<small>''(Updated: Jun 2009)''</small> | |||
==Support for | =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 [https://bugzilla.lustre.org/show_bug.cgi?id=14399 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 [https://bugzilla.lustre.org/show_bug.cgi?id=13904 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 [https://bugzilla.lustre.org/show_bug.cgi?id=16929 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 [https://bugzilla.lustre.org/show_bug.cgi?id=17630 17630] | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=19601 19601]''' | |||
Severity: enhancement<br> | |||
Description: Update kernel to RHEL5.2 2.6.18-92.1.26. | |||
Severity: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=19453 19453]''' | ||
Severity: critical, only with RHEL4/SLES9 MDS<br> | |||
Description: user xattr corruption<br> | |||
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: [https://bugzilla.lustre.org/show_bug.cgi?id=16504 16504]''' | |||
Severity: enhancement<br> | |||
Description: Update kernel to RHEL4.7 2.6.9-78.0.22. | |||
Bugzilla: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=18289 18289]''' | ||
Severity: enhancement<br> | |||
Description: allow the use of the kernel provided OFED stack<br> | |||
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. | |||
Description: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=18775 18775]''' | ||
Severity: enhancement<br> | |||
Description: improve lctl set/get_param<br> | |||
Details: handle the bad options, support more than one arguments, add '-F' option to append the indicator to the parameters. | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=19212 19212]''' | |||
Severity: enhancement<br> | |||
Description: Update kernel to SLES10 SP2 2.6.16.60-0.37. | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=19495 19495]''' | |||
Severity: major<br> | |||
Frequency: rare<br> | |||
Description: fix lqs' reference which won't be put in some situations.<br> | |||
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. | =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 | 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: | 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 [https://bugzilla.lustre.org/show_bug.cgi?id=14399 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 [https://bugzilla.lustre.org/show_bug.cgi?id=13904 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 [https://bugzilla.lustre.org/show_bug.cgi?id=13904 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 [https://bugzilla.lustre.org/show_bug.cgi?id=16929 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 [https://bugzilla.lustre.org/show_bug.cgi?id=17630 17630]. | |||
= | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=18810 18810]''' | ||
Severity: major<br> | |||
Frequency : rare<br> | |||
Description: fix racy locking of mballoc block bitmaps causing BUG<br> | |||
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: [https://bugzilla.lustre.org/show_bug.cgi?id=18480 18480]''' | |||
Frequency: common<br> | |||
Description: correct count of recoverable clients<br> | |||
Details: if recovery failed for client for some reasons (goal inode or something else) server can wait failed clients for finish recovery. | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=18695 18695]''' | |||
Severity: critical<br> | |||
Frequency: when directories had atime set in past (e.g. untar)<br> | |||
Descriptoin: Lustre detected file system corruption with inode out of bounds<br> | |||
Details: don't update i_size on MDS_CLOSE for directories. This causes directory corruptions on the MDT. | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=18895 18895]''' | |||
Severity: normal<br> | |||
Frequency: on failed service startup<br> | |||
Description: replay-single test_61d: LustreError: 17392:0:(lprocfs_status.c:859:lprocfs_obd_cleanup()) ASSERTION(obd->obd_proc_exports_entry->subdir == NULL) failed<br> | |||
Details: cleanup lprocfs entries on error. | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=18903 18903]''' | |||
Severity: normal<br> | |||
Frequency: rare<br> | |||
Description: llmount.sh: BUG: spinlock wrong owner on CPU#0, mount.lustre/8180<br> | |||
Details: fix typo in import_set_conn() causing spinlock corruption. | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=18859 18859]''' | |||
Severity: normal<br> | |||
Frequency: rare, only when using group lock on client<br> | |||
Description: Group Lock in Lustre: write call is blocking<br> | |||
Details: fix wrong return code of ll_is_file_contended() causing processes to be blocked indefinitely. | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=17757 17757]''' | |||
Severity: normal<br> | |||
Frequency: rare<br> | |||
Description: ASSERTION(new_lock != NULL) failed:op 0x1 lockh 0x0<br> | |||
Details: DISP_OPEN_LOCK is not cleared properly in reconstruct_open() since intent_disposition() is used instead of intent_set_disposition(). | |||
Severity: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15428 15428]''' | ||
Severity: major<br> | |||
Frequency: occasional when using software RAID5<br> | |||
Description: raid5 panics<br> | |||
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 [https://bugzilla.lustre.org/show_bug.cgi?id=14399 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 [https://bugzilla.lustre.org/show_bug.cgi?id=13904 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 [https://bugzilla.lustre.org/show_bug.cgi?id=13904 13904]. | |||
Severity: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16498 16498]''' | ||
Severity: normal<br> | |||
Description: Get RAID stripe size from superblock<br> | |||
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: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16438 16438]''' | ||
Severity: major<br> | |||
Description: Disable big-endian ldiskfs server support.<br> | |||
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. | |||
Details: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15983 15983]''' | ||
Severity: major<br> | |||
Description: workaround for OOM from o2iblnd<br> | |||
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: [https://bugzilla.lustre.org/show_bug.cgi?id=15093 15093]''' | |||
Severity: major<br> | |||
Description: Support Zerocopy receive of Chelsio device<br> | |||
Details: Chelsio driver can support zerocopy for iov[1] if it's contiguous and large enough. | |||
Severity: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13490 13490]''' | ||
Severity: normal<br> | |||
Description: fix credit flow deadlock in uptllnd | |||
Bugzilla: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16308 16308]''' | ||
Severity: normal<br> | |||
Description: finalize network operation in reasonable time<br> | |||
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. | |||
Description: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16338 16338]''' | ||
Severity: major<br> | |||
Description: Continuous recovery on 33 of 413 nodes after lustre oss failure<br> | |||
Details: Lost reference on conn prevents peer from being destroyed, which could prevent new peer creation if peer count has reached upper limit. | |||
Details: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16102 16102]''' | ||
Severity: normal<br> | |||
Description: LNET Selftest results in Soft lockup on OSS CPU<br> | |||
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: [https://bugzilla.lustre.org/show_bug.cgi?id=16321 16321]''' | |||
Severity: minor<br> | |||
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 | |||
Severity: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=18238 18238]''' | ||
Severity: normal<br> | |||
Frequency: rare<br> | |||
Description: panic in mds_open<br> | |||
Details: don't confuse mds_finish_transno() with PTR_ERR(-ENOENT) | |||
Bugzilla: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=17972 17972]''' | ||
Severity: normal<br> | |||
Frequency: rare<br> | |||
Description: stuck in cache_remove_extent() or panic with accessing to already freed look.<br> | |||
Details: release lock refernce only after add page to pages list. | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=17636 17636]''' | |||
Severity: normal<br> | |||
Frequency: always with long access acl<br> | |||
Descriptoin: mds can't pack reply with long acl.<br> | |||
Details: mds don't control size of acl but they limited by reint/getattr reply buffer. | |||
Details: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=18049 18049]''' | ||
Severity: normal<br> | |||
Frequency: start MDS on uncleanly shutdowned MDS device<br> | |||
Description: aborting recovery hang on MDS<br> | |||
Details: don't throttle destroy RPCs for the MDT. | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=18018 18018]''' | |||
Severity: major<br> | |||
Frequency: on remount<br> | |||
Description: external journal device not working after the remount<br> | |||
Details: clear dev_rdonly flag for external journal devices in blkdev_put() | |||
Severity: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=17802 17802]''' | ||
Severity: minor<br> | |||
Frequency: rare<br> | |||
Description: shutdown vs evict race<br> | |||
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: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16693 16693]''' | ||
Severity: minor<br> | |||
Frequency: always<br> | |||
Description: shrink LOV EAs before replying<br> | |||
Details: correctly adjust LOV EA buffer for reply. | |||
Description: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16081 16081]''' | ||
Severity: normal<br> | |||
Frequency: rare<br> | |||
Description: don't skip ost target if they assigned to file<br> | |||
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: [https://bugzilla.lustre.org/show_bug.cgi?id=17201 17201]''' | |||
Severity: enhancement<br> | |||
Description: Update to RHEL5 kernel-2.6.18-92.1.17.el5. | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16492 16492]''' | |||
Severity: normal<br> | |||
Frequency: rare, need ACLs on inode.<br> | |||
Description: client can't handle ost additional correctly<br> | |||
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. | |||
Severity: enhancement | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=17374 17374]''' | ||
Severity: enhancement<br> | |||
Description: Update to sles9 kernel-2.6.5-7.314. | |||
Bugzilla: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=17458 17458]''' | ||
Severity: enhancement<br> | |||
Description: Update to SLES10 SP2 kernel-2.6.16.60-0.31. | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16578 16578]''' | |||
Severity: normal<br> | |||
Frequency: Create a symlink file with a very long name<br> | |||
Description: ldlm_cancel_pack()) ASSERTION(max >= dlm->lock_count + count)<br> | |||
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: [https://bugzilla.lustre.org/show_bug.cgi?id=16492 16492]''' | |||
Severity: major<br> | |||
Frequency: rare, during racing unlink and create in same directory<br> | |||
Description: mds is deadlocked<br> | |||
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. | |||
Severity: enhancement | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=1819 1819]''' | ||
Severity: enhancement<br> | |||
Description: Add /proc entry for import status<br> | |||
Details: The mdc, osc, and mgc import directories now have an import directory that contains useful import data for debugging connection problems. | |||
Bugzilla: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15966 15966]''' | ||
Severity: enhancement<br> | |||
Description: Re-disable certain /proc logging<br> | |||
Details: Enable and disable client's offset_stats, extents_stats and extents_stats_per_process stats logging on the fly. | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16643 16643]''' | |||
Severity: enhancement<br> | |||
Description: Generic /proc file permissions<br> | |||
Details: Set /Proc file permissions in a more generic way to enable non-root users operate on some /proc files. | |||
Details: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16561 16561]''' | ||
Severity: major<br> | |||
Description: Hitting mdc_commit_close() ASSERTION<br> | |||
Details: Properly handle request reference release in ll_release_openhandle(). | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16907 16907]''' | |||
Severity: normal<br> | |||
Description: Prevent import from entering FULL state when server in recovery | |||
Severity: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16750 16750]''' | ||
Severity: normal<br> | |||
Frequency: only with devices that have a ':' in the name<br> | |||
Description: service mount cannot take device name with ':'<br> | |||
Details: Only when device name contains ":/" will mount treat it as client mount. | |||
Bugzilla: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15927 15927]''' | ||
Severity: normal<br> | |||
Frequency: rare<br> | |||
Description: replace ptlrpcd with the statahead thread to interpret the async statahead RPC callback | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16611 16611]''' | |||
Severity: normal<br> | |||
Frequency: on recovery<br> | |||
Description: I/O failures after umount during fail back<br> | |||
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: [https://bugzilla.lustre.org/show_bug.cgi?id=16633 16633]''' | |||
Severity: enhancement<br> | |||
Description: Update to RHEL5 kernel-2.6.18-92.1.10.el5. | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16547 16547]''' | |||
Severity: enhancement<br> | |||
Description: Update to SLES10 SP2 kernel-2.6.16.60-0.27. | |||
Severity: enhancement | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16566 16566]''' | ||
Severity: enhancement<br> | |||
Description: Upcall on Lustre log has been dumped<br> | |||
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: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16583 16583]''' | ||
Severity: minor<br> | |||
Frequency: rare<br> | |||
Description: avoid messages about idr_remove called for unallocated id.<br> | |||
Details: Move s_dev assigment for clustered NFS to end of initialization, to avoid problem with error handling. | |||
Description: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16109 16109]''' | ||
Severity: minor<br> | |||
Frequency: rare<br> | |||
Description: avoid Already found the key in hash [CONN_UNUSED_HASH] messages<br> | |||
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: [https://bugzilla.lustre.org/show_bug.cgi?id=16573 16573]''' | |||
Severity: enhancement<br> | |||
Description: Export bytes_read/bytes_write count on OSC/OST. | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16237 16237]''' | |||
Severity: normal<br> | |||
Description: Early reply size mismatch, MGC loses connection<br> | |||
Details: Apply the MGS_CONNECT_SUPPORTED mask at reconnect time so the connect flags are properly negotiated. | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14840 14840]''' | |||
Severity: major<br> | |||
Description: quota recovery deadlock during mds failover<br> | |||
Details: This patch includes att18982, att18236, att18237 in bz14840.<br> | |||
Problems solved:<br> | |||
* Fix osts hang when mds does failover with quotaon<br> | |||
* Prevent watchdog storm when osts threads wait for the recovery of mds<br> | |||
Severity: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14095 14095]''' | ||
Severity: enhancement<br> | |||
Description: Add lustre_start utility to start or stop multiple Lustre servers from a CSV file. | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=17026 17026]''' | |||
Severity: normal<br> | |||
Description: kptllnd_peer_check_sends() ASSERTION(!in_interrupt()) failed<br> | |||
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: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12800 12800]''' | ||
Severity: enhancement<br> | |||
Description: More exported tunables for mballoc<br> | |||
Details: Add support for tunable preallocation window and new tunables for large/small requests | |||
Description: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16680 16680]''' | ||
Severity: normal<br> | |||
Description: Detect corruption of block bitmap and checking for preallocations<br> | |||
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: [https://bugzilla.lustre.org/show_bug.cgi?id=17197 17197]''' | |||
Severity: normal<br> | |||
Description: ll_read_ahead_pages()) ASSERTION(page_idx > ria->ria_stoff) failed<br> | |||
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: [https://bugzilla.lustre.org/show_bug.cgi?id=16438 16438]''' | |||
Severity: normal<br> | |||
Frequency: only for big-endian servers<br> | |||
Description: Check if system is big-endian while mounting fs with extents<br> | |||
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. | |||
Severity: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16860 16860]''' | ||
Severity: normal<br> | |||
Description: Excessive recovery window<br> | |||
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: [https://bugzilla.lustre.org/show_bug.cgi?id=16522 16522]''' | |||
Severity: normal<br> | |||
Description: Watchdog triggered on MDS failover<br> | |||
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: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16839 16839]''' | ||
Severity: normal<br> | |||
Frequency: start MDS on uncleanly shutdowned MDS device<br> | |||
Description: ll_sync thread stay in waiting mds<>ost recovery finished<br> | |||
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. | |||
Description: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=17895 17895]''' | ||
Severity: major<br> | |||
Frequency: rare, only if using MMP with Linux RAID<br> | |||
Description: MMP doesn't work with Linux RAID<br> | |||
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:'''<br> | |||
''' socklnd - any kernel supported by Lustre'''<br> | |||
''' qswlnd - Qsnet kernel modules 5.20 and later'''<br> | |||
''' openiblnd - IbGold 1.8.2'''<br> | |||
''' o2iblnd - OFED 1.1, 1.2.0, 1.2.5, and 1.3.1'''<br> | |||
''' viblnd - Voltaire ibhost 3.4.5 and later'''<br> | |||
''' ciblnd - Topspin 3.2.0'''<br> | |||
''' iiblnd - Infiniserv 3.3 + PathBits patch'''<br> | |||
''' gmlnd - GM 2.1.22 and later'''<br> | |||
''' mxlnd - MX 1.2.1 or later'''<br> | |||
''' ptllnd - Portals 3.3 / UNICOS/lc 1.5.x, 2.0.x'''<br> | |||
'''Support for kernels:'''<br> | |||
''' 2.6.5-7.312 (SLES 9)'''<br> | |||
''' 2.6.9-67.0.22.EL (RHEL 4)'''<br> | |||
''' 2.6.16.60-0.27 (SLES 10)'''<br> | |||
''' 2.6.18-92.1.10.el5 (RHEL 5)'''<br> | |||
''' 2.6.22.14 vanilla (kernel.org)'''<br> | |||
'''Client support for unpatched kernels: (see [[Patchless Client]])'''<br> | |||
''' 2.6.16 - 2.6.22 vanilla (kernel.org)'''<br> | |||
'''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 [https://bugzilla.lustre.org/show_bug.cgi?id=14399 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 [https://bugzilla.lustre.org/show_bug.cgi?id=13904 13904]''' | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15272 15272]''' | |||
Severity: normal<br> | |||
Description: ptl_send_rpc hits LASSERT when ptl_send_buf fails<br> | |||
Details: only hits under out-of-memory situations | |||
Severity: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15899 15899]''' | ||
Severity: enhancement<br> | |||
Description: Add support for downgrading pools-striped files<br> | |||
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). | |||
Frequency: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15975 15975]''' | ||
Severity: normal<br> | |||
Frequency: occasionally, only on patchless client<br> | |||
Description: add workaround for race between add/remove dentry from hash | |||
Bugzilla: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16717 16717]''' | ||
Severity: minor<br> | |||
Frequency: only during testing<br> | |||
Description: LBUG when llog conf file is full<br> | |||
Details: When llog bitmap is full, ENOSPC should be returned for plain log. | |||
Description: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16907 16907]''' | ||
Severity: normal<br> | |||
Frequency: occasionally, during recovery<br> | |||
Description: Prevent import from entering FULL state when server in recovery<br> | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15927 15927]''' | |||
Severity: normal<br> | |||
Frequency: rare<br> | |||
Description: replace ptlrpcd with the statahead thread to interpret the async statahead RPC callback<br> | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16611 16611]''' | |||
Severity: normal<br> | |||
Frequency: on recovery<br> | |||
Description: I/O failures after umount during fail back<br> | |||
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. | |||
Severity: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16633 16633]''' | ||
Severity: enhancement<br> | |||
Description: Update to RHEL5 kernel-2.6.18-92.1.10.el5.<br> | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16547 16547]''' | |||
Severity: enhancement<br> | |||
Description: Update to SLES10 SP2 kernel-2.6.16.60-0.27.<br> | |||
Bugzilla: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15139 15139]''' | ||
Severity: normal<br> | |||
Frequency: rare<br> | |||
Description: avoid ASSERTION(client_stat->nid_exp_ref_count == 0) failed<br> | |||
Details: release reference to stats when client disconnected, not when export destroyed for avoid races when client destroyed after main ost export. | |||
Description: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16679 16679]''' | ||
Details: | Severity: normal<br> | ||
Frequency: when adding OSTs to a running filesystem<br> | |||
Description: more cleanup in mds_lov<br> | |||
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: [https://bugzilla.lustre.org/show_bug.cgi?id=16237 16237]''' | |||
Severity: normal<br> | |||
Frequency: only when connecting 1.6.5 clients to 1.6.4 or earlier servers<br> | |||
Description: Early reply size mismatch, MGC loses connection<br> | |||
Details: Apply the MGS_CONNECT_SUPPORTED mask at reconnect time so the connect flags are properly negotiated. | |||
Severity: normal | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16006 16006]''' | ||
Severity: normal<br> | |||
Frequency: rare<br> | |||
Description: statfs sometimes returns stale values on the client<br> | |||
Details: restore missing copy oi_flags to lov requests. | |||
Bugzilla: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16188 16188]''' | ||
Severity: enhancement<br> | |||
Description: Update to SLES9 kernel-2.6.5-7.312.<br> | |||
Description: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16503 16503]''' | ||
Severity: enhancement<br> | |||
Description: Update to RHEL4 kernel-2.6.9-67.0.22.EL.<br> | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16317 16317]''' | |||
Severity: minor<br> | |||
Frequency: when clients reconnect to server<br> | |||
Description: per-export statistics in /proc are broken<br> | |||
Details: recreate /proc entries for clients when they reconnect. | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16080 16080]''' | |||
Severity: normal<br> | |||
Frequency: when adding OSTs to a mounted filesystem<br> | |||
Description: don't fail open with -ERANGE<br> | |||
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. | |||
Severity: normal | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16101 16101]''' | ||
Severity: normal<br> | |||
Frequency: only for filesystems larger than 8TB<br> | |||
Description: ldiskfs BUG ldiskfs_mb_use_best_found()<br> | |||
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. | |||
Frequency: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15576 15576]''' | ||
Severity: normal<br> | |||
Frequency: rare<br> | |||
Description: Resolve device initialization race<br> | |||
Details: Prevent proc handler from accessing devices added to the obd_devs array but yet be intialized. | |||
Bugzilla: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15308 15308]''' | ||
Severity: enhancement<br> | |||
Description: Update to SLES10 SP2 kernel-2.6.16.60-0.23.<br> | |||
Description: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16190 16190]''' | ||
Severity: enhancement<br> | |||
Description: Update to RHEL5 kernel-2.6.18-92.1.6.el5.<br> | |||
Details: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16318 16318]''' | ||
Severity: normal<br> | |||
Frequency: rare, on PPC clients<br> | |||
Description: don't swab ost objects in response about directory, because this not exist.<br> | |||
Details: bug similar bug 14856, but in different function. | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15754 15754]''' | |||
Severity: enhancement<br> | |||
Description: lfs quota tool enhancements<br> | |||
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. | |||
Severity: normal | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16037 16037]''' | ||
Severity: normal<br> | |||
Frequency: only on 32-bit clients with more than 1GB of RAM<br> | |||
Description: Client runs out of low memory<br> | |||
Details: Consider only lowmem when counting initial number of llap pages | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15625 15625]''' | |||
Severity: enhancement<br> | |||
Description: optional service tags registration<br> | |||
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: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15825 15825]''' | ||
Severity: normal<br> | |||
Frequency: only if client is mounted with "-o flock"<br> | |||
Description: Kernel BUG tries to release flock<br> | |||
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. | |||
Description: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16189 16189]''' | ||
Severity: enhancement<br> | |||
Description: Update to RHEL4 kernel-2.6.9-67.0.20.<br> | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15210 15210]''' | |||
Severity: normal<br> | |||
Frequency: rare, only during unmount<br> | |||
Description: add refcount for osc callbacks, so avoid panic on shutdown<br> | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16014 16014]''' | |||
Severity: normal<br> | |||
Frequency: only if OSTs have been removed or non-sequential OST index used<br> | |||
Description: Kernel panic with find ost index.<br> | |||
Details: lov_obd have panic if some OST's have sparse indexes. | |||
Severity: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15865 15865]''' | ||
Severity: enhancement<br> | |||
Description: Update to RHEL5 kernel-2.6.18-53.1.21.el5.<br> | |||
Frequency: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15924 15924]''' | ||
Severity: major<br> | |||
Frequency: only if client is mounted with "-o flock"<br> | |||
Description: do not process already freed flock<br> | |||
Details: flock can possibly be freed by another thread before it reaches to ldlm_flock_completion_ast. | |||
Bugzilla: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14480 14480]''' | ||
Severity: normal<br> | |||
Frequency: only if client is mounted with "-o flock"<br> | |||
Description: LBUG during stress test<br> | |||
Details: Need properly lock accesses the flock deadlock detection list. | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15837 15837]''' | |||
Severity: minor<br> | |||
Frequency: rare<br> | |||
Description: oops in page fault handler<br> | |||
Details: kernel page fault handler can return two special 'pages' in error case, don't try dereference NOPAGE_SIGBUS and NOPAGE_OMM. | |||
Details: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15716 15716]''' | ||
Severity: minor<br> | |||
Frequency: rare, during recovery<br> | |||
Description: timeout with invalidate import.<br> | |||
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: [https://bugzilla.lustre.org/show_bug.cgi?id=14742 14742]''' | |||
Severity: normal<br> | |||
Frequency: rare<br> | |||
Description: ASSERTION(CheckWriteback(page,cmd)) failed<br> | |||
Details: badly clear PG_Writeback bit in ll_ap_completion can produce false positive assertion. | |||
Severity: normal | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15779 15779]''' | ||
Severity: normal<br> | |||
Frequency: only with broken builds/installations<br> | |||
Description: no LBUG if lquota.ko and fsfilt_ldiskfs.ko are different versions<br> | |||
Details: just return an error to a user, put a console error message | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15741 15741]''' | |||
Severity: enhancement<br> | |||
Description: Update to RHEL5 kernel-2.6.18-53.1.19.el5.<br> | |||
Bugzilla: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15742 15742]''' | ||
Severity: enhancement<br> | |||
Description: Update to RHEL4 kernel-2.6.9-67.0.15.<br> | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14134 14134]''' | |||
Severity: enhancement<br> | |||
Description: enable MGS and MDT services start separately<br> | |||
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: [https://bugzilla.lustre.org/show_bug.cgi?id=14856 14856]''' | |||
Severity: normal<br> | |||
Frequency: always, on big-endian systems<br> | |||
Description: cleanup in ptlrpc code, related to PPC platform<br> | |||
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: [https://bugzilla.lustre.org/show_bug.cgi?id=15756 15756]''' | |||
Severity: normal<br> | |||
Frequency: rare, replay get lost on server<br> | |||
Description: server incorrectly drop resent replays lead to recovery failure.<br> | |||
Details: do not drop replay according to msg flags, instead we check the per-export recovery request queue for duplication of transno. | |||
Severity: normal | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14835 14835]''' | ||
Severity: normal<br> | |||
Frequency: after recovery<br> | |||
Description: precreate to many object's after del orphan.<br> | |||
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. | |||
Frequency: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15139 15139]''' | ||
Severity: normal<br> | |||
Frequency: rare, on clear nid stats<br> | |||
Description: ASSERTION(client_stat->nid_exp_ref_count == 0)<br> | |||
Details: when clean nid stats sometimes try destroy live entry, and this produce panic in free. | |||
Bugzilla: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15575 15575]''' | ||
Severity: major<br> | |||
Frequency: occasionally since 1.6.4<br> | |||
Description: Stack overflow during MDS log replay<br> | |||
Details: ease stack pressure by using a thread dealing llog_process. | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13380 13380]''' | |||
Severity: minor<br> | |||
Frequency: very rare<br> | |||
Description: MDT cannot be unmounted, reporting "Mount still busy"<br> | |||
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. | |||
Details: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15443 15443]''' | ||
Severity: normal<br> | |||
Frequency: rare<br> | |||
Description: wait until IO finished before start new when do lock cancel.<br> | |||
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: [https://bugzilla.lustre.org/show_bug.cgi?id=12888 12888]''' | |||
Severity: normal<br> | |||
Frequency: rare<br> | |||
Description: mds_mfd_close() ASSERTION(rc == 0)<br> | |||
Details: In mds_mfd_close(), we need protect inode's writecount change within its orphan write semaphore to prevent possible races. | |||
Severity: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14645 14645]''' | ||
Severity: minor<br> | |||
Frequency: rare, on shutdown ost<br> | |||
Description: don't hit live lock with umount ost.<br> | |||
Details: shrink_dcache_parent can be in long loop with destroy dentries, use shrink_dcache_sb instead. | |||
Frequency: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14949 14949]''' | ||
Severity: minor<br> | |||
Frequency: only when echo_client is used<br> | |||
Description: don't panic with use echo_client<br> | |||
Details: echo client pass NULL as client nid pointer and this produce NULL pointer dereference. | |||
Bugzilla: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15278 15278]''' | ||
Severity: normal<br> | |||
Frequency: Always on 32-bit PowerPC systems<br> | |||
Description: fix build on PPC32<br> | |||
Details: compile code with -m64 flag produce wrong object file for PPC32. | |||
Description: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15574 15574]''' | ||
Severity: normal<br> | |||
Frequency: rare<br> | |||
Description: MDS LBUG: ASSERTION(!IS_ERR(dchild))<br> | |||
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. | |||
Details: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15346 15346]''' | ||
Severity: enhancement<br> | |||
Description: skiplist implementation simplification<br> | |||
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: [https://bugzilla.lustre.org/show_bug.cgi?id=14693 14693]''' | |||
Severity: normal<br> | |||
Frequency: only with administrator action<br> | |||
Description: mount failure if config log has invalid conf_param setting<br> | |||
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. | |||
Severity: normal | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15932 15932]''' | ||
Severity: normal<br> | |||
Frequency: blocks per group < blocksize*8 and uninit_groups is enabled<br> | |||
Description: ldiskfs error: XXX blocks in bitmap, YYY in gd<br> | |||
Details: If blocks per group is less than blocksize*8, set rest of the bitmap to 1. | |||
Frequency: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16172 16172]''' | ||
Severity: major<br> | |||
Frequency: Application do stride read on lustre<br> | |||
Description: The read performance will drop a lot if the application does stride read.<br> | |||
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: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15953 15953]''' | ||
Severity: normal<br> | |||
Description: more ldlm soft lockups<br> | |||
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. | |||
Description: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13128 13128]''' | ||
Severity: enhancement<br> | |||
Description: add -gid, -group, -uid, -user options to lfs find<br> | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15284 15284]''' | |||
Severity: enhancement<br> | |||
Description: tool to recover objects put in lost+found by e2fsck<br> | |||
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: [https://bugzilla.lustre.org/show_bug.cgi?id=15758 15758]''' | |||
Severity: minor<br> | |||
Frequency: rare<br> | |||
Description: this bug _only_ happens when inode quota limitation is very low (less than 12), so that inode quota unit is 1 at initialization.<br> | |||
Details: if remaining quota equates 1, it is a sign to demonstate that quota is effective now. So least quota qunit should be 2. | |||
Severity: normal | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15950 15950]''' | ||
Severity: normal<br> | |||
Frequency: rare, using O_DIRECT only<br> | |||
Description: Hung threads in invalidate_inode_pages2_range<br> | |||
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. | |||
Frequency: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15684 15684]''' | ||
Severity: normal<br> | |||
Frequency: rare, during shutdown<br> | |||
Description: Procfs and llog threads access destoryed import sometimes.<br> | |||
Details: Sync the import destoryed process with procfs and llog threads by the import refcount and semaphore. | |||
Bugzilla: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15674 15674]''' | ||
Severity: major<br> | |||
Description: mds fails to respond, threads stuck in ldlm_completion_ast<br> | |||
Details: Sort source/child resource pair after updating child resource. | |||
Description: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16226 16226]''' | ||
Severity: major<br> | |||
Frequency: rare<br> | |||
Description: kernel BUG at ldiskfs2_ext_new_extent_cb<br> | |||
Details: If insertion of an extent fails, then discard the inode preallocation and free data blocks else it can lead to duplicate blocks. | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16199 16199]''' | |||
Severity: normal<br> | |||
Description: don't always update ctime in ext3_xattr_set_handle()<br> 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: [https://bugzilla.lustre.org/show_bug.cgi?id=15058 15058]''' | |||
Severity: normal<br> | |||
Description: add quota statistics<br> | |||
Details: 1. sort out quota proc entries and proc code. 2. add quota statistics | |||
Severity: normal | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16125 16125]''' | ||
Severity: normal<br> | |||
Frequency: often<br> | |||
Description: quotas are not honored with O_DIRECT<br> | |||
Details: all writes with the flag O_DIRECT will use grants which leads to this problem. Now using OBD_BRW_SYNC to guard this. | |||
Frequency: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15713 15713]''' | ||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16362 16362]''' | |||
Severity: major<br> | |||
Frequency: rare<br> | |||
Description: Assertion in iopen_connect_dentry in 1.6.3<br> | |||
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: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16496 16496]''' | ||
Severity: normal<br> | |||
Description: assertion failure in ldlm_handle2lock()<br> | |||
Details: fix a race between class_handle_unhash() and class_handle2object() introduced in lustre 1.6.5 by bug 13622. | |||
Description: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15899 15899]''' | ||
Severity: minor<br> | |||
Frequency: rare<br> | |||
Description: Pools downgrade compatibility<br> | |||
Details: Files striped across pools in future (1.8) releases will be properly understood if the server is downgraded to this version. | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12755 12755]''' | |||
Severity: minor<br> | |||
Frequency: rare<br> | |||
Description: Kernel BUG: sd_iostats_bump: unexpected disk index<br> | |||
Details: remove the limit of 256 scsi disks in the sd_iostat patch | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16494 16494]''' | |||
Severity: minor<br> | |||
Frequency: rare<br> | |||
Description: oops in sd_iostats_seq_show()<br> | |||
Details: unloading/reloading the scsi low level driver triggers a kernel bug when trying to access the sd iostat file. | |||
Severity: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16404 16404]''' | ||
Severity: major<br> | |||
Frequency: rare<br> | |||
Description: Kernel panics during QLogic driver reload<br> | |||
Details: REQ_BLOCK_PC requests are not handled properly in the sd iostat patch, causing memory corruption. | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16140 16140]''' | |||
Severity: minor<br> | |||
Description: journal_dev option does not work in b1_6<br> | |||
Details: pass mount option during pre-mount. | |||
Bugzilla: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=10555 10555]''' | ||
Severity: enhancement<br> | |||
Description: Add a FIEMAP (FIle Extent MAP) ioctl for ldiskfs<br> | |||
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. | |||
Description: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16972 16972]''' | ||
Severity: normal<br> | |||
Frequency: only with adaptive timeout enabled<br> | |||
Description: DEBUG_REQ() bad paging request<br> | |||
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. | |||
Details: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16813 16813]''' | ||
Severity: normal<br> | |||
Frequency: only on Cray X2<br> | |||
Description: X2 build failures<br> | |||
Details: fix build failures on Cray X2. | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16303 16303]''' | |||
Severity: major<br> | |||
Frequency: Only on FC kernels 2.6.22+<br> | |||
Description: oops in statahead<br> | |||
Details: Do not drop reference count for the dentry from VFS when lookup, VFS will do that by itself. | |||
Severity: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=17024 17024]''' | ||
Severity: major<br> | |||
Description: Lustre oops in {:ptlrpc:ptlrpc_server_free_request+373}<br> | |||
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 [https://bugzilla.lustre.org/show_bug.cgi?id=12652 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 [https://bugzilla.lustre.org/show_bug.cgi?id=14399 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 [https://bugzilla.lustre.org/show_bug.cgi?id=13904 13904]. | |||
Details: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14309 14309]''' | ||
Severity: normal<br> | |||
Description: RPM packages did not include InfinBand support<br> | |||
Details: The Lustre 1.6.5 did not include InfiniBand RPM packages. | |||
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14699 14699]''' | |||
Severity: normal<br> | |||
Frequency: only with administrator action<br> | |||
Description: mount failure if config log has invalid conf_param setting<br> | |||
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. | |||
Severity: | *'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16172 16172]''' | ||
Severity: major<br> | |||
Frequency: Application do stride read on lustre<br> | |||
Description: The read performance will drop a lot if the application does stride read.<br> | |||
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 [https://bugzilla.lustre.org/show_bug.cgi?id=12652 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 [https://bugzilla.lustre.org/show_bug.cgi?id=14399 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 [https://bugzilla.lustre.org/show_bug.cgi?id=13904 13904]. | |||
*Severity: critical | |||
Frequency: very rare, if additional xattrs are used on kernels >= 2.6.12 | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15777 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12191 12191] | |||
Description: add message levels for liblustreapi | |||
*Severity: minor | |||
Frequency: rare, only if {mds,oss}_num_threads is specified | |||
Bugzilla: | Bugzilla : [https://bugzilla.lustre.org/show_bug.cgi?id=15759 15759] | ||
Description: | Description: MDS or OSS service threads fail startup with -24 (-EMFILE) | ||
Details: | 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: | Bugzilla : [https://bugzilla.lustre.org/show_bug.cgi?id=13380 13380] | ||
Description: | Description: MDT cannot be unmounted, reporting "Mount still busy" | ||
Details: | 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: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13380 13380] | ||
Description: | Description: fix for occasional failure case of -ENOSPC in recovery-small tests | ||
Details: | 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: [https://bugzilla.lustre.org/show_bug.cgi?id=14326 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: [https://bugzilla.lustre.org/show_bug.cgi?id=14655 14655] | |||
Description: Use __u64 instead of int for valid bits | |||
*Severity: normal | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14746 14746] | |||
Description: resolve "_IOWR redefined" build error on SLES10 | |||
*Severity: normal | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14763 14763] | |||
Description: dump the memory debugging after all modules are unloaded to suppress false negative in conf_sanity test 39 | |||
*Severity: normal | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14872 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: [https://bugzilla.lustre.org/show_bug.cgi?id=15521 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: | *Severity: normal | ||
Frequency: always with interactive lfs | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15212 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 | |||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15406| 15406] [https://bugzilla.lustre.org/show_bug.cgi?id=15169 15169] [https://bugzilla.lustre.org/show_bug.cgi?id=15175 15175] | ||
Description: | Description: misc fixes for directory readahead. | ||
Details: | 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: [https://bugzilla.lustre.org/show_bug.cgi?id=15316 15316] | |||
Description: build kernel-ib packages for OFED 1.3 in our release cycle | |||
*Severity: normal | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15036 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: | *Severity: minor | ||
Frequency: always | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13969 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: | *Severity: normal | ||
Frequency: rare | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14803 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: | *Severity: normal | ||
Frequency: very rare | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15069 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: | *Severity: enhancement | ||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15416 15416] | |||
Description: Update kernel to SLES9 2.6.5-7.311. | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15240 15240] | |||
Description: Update kernel to RHEL4 2.6.9-67.0.7. | |||
Severity: normal | *Severity: normal | ||
Frequency: always | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14856 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: [https://bugzilla.lustre.org/show_bug.cgi?id=15517 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: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15210 15210] | ||
Description: | Description: race process AST vs remove callback | ||
Details: | Details: removing callback before disconnect import open race with processing callback. | ||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15416 15416] | |||
Description: Update kernel to SLES9 2.6.5-7.311. | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12652 12652] | |||
Description: Files open for execute are not marked busy on SLES10 | |||
Details: Add FMODE_EXEC to SLES10 SP1 server kernel series. | |||
Severity: | *Severity: enhancement | ||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13397 13397] | |||
Description: Add server support for vanilla-2.6.22.14. | |||
*Severity: normal | |||
Frequency: occasional | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13375 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: [https://bugzilla.lustre.org/show_bug.cgi?id=3055 3055] | |||
Description: Disable adaptive timeouts by default | |||
*Severity: major | |||
Frequency: on network error | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15027 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: [https://bugzilla.lustre.org/show_bug.cgi?id=14533 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: [https://bugzilla.lustre.org/show_bug.cgi?id=15152 15152] | |||
Description: Update kernel to RHEL5 2.6.18-53.1.14.el5. | |||
Severity: | *Severity: major | ||
Frequency: | Frequency: frequent on X2 node | ||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15010 15010] | ||
Description: | Description: mdc_set_open_replay_data LBUG | ||
Details: | Details: Set replay data for requests that are eligible for replay. | ||
*Severity: normal | |||
Frequency: common | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14321 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: [https://bugzilla.lustre.org/show_bug.cgi?id=14529 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: [https://bugzilla.lustre.org/show_bug.cgi?id=14876 14876] | |||
Description: Update to RHEL5 latest kernel-2.6.18-53.1.13.el5. | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14858 14858] | |||
Description: Update to SLES10 SP1 latest kernel-2.6.16.54-0.2.5. | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14720 14720] | |||
Description: Update to RHEL5 latest kernel-2.6.18-53.1.6.el5. | |||
*Serverity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14793 14793] | |||
Description: Update RHEL4 kernel to 2.6.9-67.0.4. | |||
Severity: | *Severity: minor | ||
Frequency: | Frequency: rare on shutdown OST | ||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13196 13196] | ||
Description: | 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: | *Severity: normal | ||
Frequency: rare | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14421 14421] | |||
Description: ASSERTION(!PageDirty(page)) failed | |||
Details: Wrong check could lead to an assertion failure under specific load patterns. | |||
Severity: | *Severity: normal | ||
Frequency: rare | Frequency: rare | ||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12228 12228] | ||
Description: | Description: LBUG in ptlrpc_check_set() bad phase ebc0de00 | ||
Details: | 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: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13647 13647] | ||
Description: | Description: Lustre 'make rpms' failed. | ||
Details: | Details: Remove ldiskfs spec file to avoids rpmbuild be confused when builds Lustre rpms from tarball. | ||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14498 14498] | |||
Description: Update to SLES9 SP4 kernel-2.6.5-7.308. | |||
*Severity: normal | |||
Frequency: rare on shutdown OST | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14608 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: [https://bugzilla.lustre.org/show_bug.cgi?id=14607 14607] | |||
Description: NULL lov_tgts causing MDS oops | |||
Details: more safe checks for NULL lov_tgts for avoid oops. | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14531 14531] | |||
Description: Update to RHEL4 latest kernel-2.6.9-67.0.1.EL. | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14368 14368] | |||
Description: Update to RHEL5 latest kernel-2.6.18-53.1.4.el5. | |||
*Severity: normal | |||
Frequency: always | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14136 14136] | |||
Description: make mgs_setparam() handle fsname containing dash | |||
Details: fsname containing a dash does not work with lctl conf_param | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14288 14288] | |||
Description: Update to RHEL4 Update-6 kernel-2.6.9-67.EL. | |||
Severity: | *Severity: normal | ||
Frequency: rare, in recovery and (or) destroy lovobjid file. | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12702 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 | *Severity: enhancement | ||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14388 14388] | ||
Description: | Description: Update to SLES10 SP1 latest kernel-2.6.16.54-0.2.3. | ||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14289 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: [https://bugzilla.lustre.org/show_bug.cgi?id=14260 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: [https://bugzilla.lustre.org/show_bug.cgi?id=14418 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: [https://bugzilla.lustre.org/show_bug.cgi?id=14270 14270] | |||
Description: lfs find does not continue on file error | |||
Details: Continue other files processing when a file/dir is absent. | |||
*Severity: normal | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11791 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: [https://bugzilla.lustre.org/show_bug.cgi?id=3462 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: [https://bugzilla.lustre.org/show_bug.cgi?id=13969 13969] | |||
Description: Update to RHEL5 kernel 2.6.18-8.1.15.el5. | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13874 13874] | |||
Description: Update to SLES10 SP1 kernel 2.6.16.53-0.16 | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13889 13889] | |||
Description: Update to SLES9 kernel-2.6.5-7.287.3. | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14041 14041] | |||
Description: Update to RHEL4 kernel-2.6.9-55.0.12.EL. | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13690 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: | *Severity: enhancement | ||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11622 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: [https://bugzilla.lustre.org/show_bug.cgi?id=13497 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: [https://bugzilla.lustre.org/show_bug.cgi?id=13888 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11089 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12266 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 | *Severity: normal | ||
Frequency: | Frequency: always | ||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13976 13976] | ||
Description: | Description: touch file failed when fs is not full | ||
Details: | 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 | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12829 12829] [https://bugzilla.lustre.org/show_bug.cgi?id=13455 13455] | |||
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: [https://bugzilla.lustre.org/show_bug.cgi?id=12749 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: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=10718 10718] | ||
Description: | Description: Slow trucate/writes to huge files at high offsets. | ||
Details: | 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: [https://bugzilla.lustre.org/show_bug.cgi?id=14379 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: [https://bugzilla.lustre.org/show_bug.cgi?id=14477 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: [https://bugzilla.lustre.org/show_bug.cgi?id=14398 14398] | |||
Description: Allow masking D_WARNING, D_ERROR messages from console | |||
Details: Console messages can now be disabled via lnet.printk. | |||
Severity: | *Severity: normal | ||
Frequency: | Frequency: always | ||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14614 14614] | ||
Description: | Description: User code with malformed file open parameter crashes client node | ||
Details: | 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: [https://bugzilla.lustre.org/show_bug.cgi?id=10600 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: [https://bugzilla.lustre.org/show_bug.cgi?id=14225 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: [https://bugzilla.lustre.org/show_bug.cgi?id=14360 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: | *Severity: normal | ||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14443 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: [https://bugzilla.lustre.org/show_bug.cgi?id=13843 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: [https://bugzilla.lustre.org/show_bug.cgi?id=14618 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: [https://bugzilla.lustre.org/show_bug.cgi?id=14845 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: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14844 14844] | ||
Description: | Description: asm-ppc/segment.h does not exist | ||
Details: | Details: fix compile issue on PPC. | ||
*Severity: normal | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13805 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: [https://bugzilla.lustre.org/show_bug.cgi?id=14648 14648] | |||
Description: use adler32 for page checksums | |||
Details: when available, use the Adler-32 algorithm instead of CRC32 for page checksums. | |||
*Severity: normal | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14864 14864] | |||
Description: better handle error messages in extents code | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14729 14729] | |||
Description: SNMP support enhancement | |||
Details: Adding total number of sampled request for an MDS node in snmp support. | |||
Severity: enhancement | *Severity: enhancement | ||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14748 14748] | ||
Description: | Description: Optimize ldlm waiting list processing for PR extent locks | ||
Details: | 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: [https://bugzilla.lustre.org/show_bug.cgi?id=14774 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: [https://bugzilla.lustre.org/show_bug.cgi?id=14775 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: [https://bugzilla.lustre.org/show_bug.cgi?id=14483 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: [https://bugzilla.lustre.org/show_bug.cgi?id=15033 15033] | |||
Description: build for X2 fails | |||
Details: fix compile issue on Cray systems. | |||
Severity: enhancement | *Severity: enhancement | ||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13371 13371] | ||
Description: | Description: implement readv/writev APIs(aio_read/aio_writes in newer kernels) | ||
Details: | Details: This greatly improves speed of NFS writes on 2.6 kernels. | ||
*Severity: normal | |||
Frequency: only on PPC/SLES10 | |||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14855 14855] | ||
Description: | Description: "BITS_PER_LONG is not 32 or 64" in linux/idr.h | ||
Details: | 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: [https://bugzilla.lustre.org/show_bug.cgi?id=14257 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: [https://bugzilla.lustre.org/show_bug.cgi?id=15188 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: [https://bugzilla.lustre.org/show_bug.cgi?id=15566 15566] | |||
Description: Update an obsolete wirecheck.c generator | |||
Details: Update wirecheck.c/wirehdr.c and regenerate wiretest.c | |||
*Severity: normal | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14712 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: | *Severity: normal | ||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14410 14410] | ||
Description: | 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: [https://bugzilla.lustre.org/show_bug.cgi?id=15198 15198] | |||
Description: LDLM soft lockups - improvement | |||
Details: | 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: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14036 14036] | ||
Description: | 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: | *Severity: normal | ||
Frequency: rare | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15776 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 | Severity: major | ||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15712 15712] | |||
Description: ksocknal_create_conn() hit ASSERTION during connection race | |||
Details: ksocknal_create_conn() hit ASSERTION during connection race | |||
Severity: major | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13983 13983] | |||
Description: ksocknal_send_hello() hit ASSERTION while connecting race | |||
Details: ksocknal_send_hello() hit ASSERTION while connecting race | |||
Severity: major | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14425 14425] | |||
Description: o2iblnd/ptllnd credit deadlock in a routed config. | |||
Details: o2iblnd/ptllnd credit deadlock in a routed config. | |||
Severity: normal | Severity: normal | ||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14956 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: [https://bugzilla.lustre.org/show_bug.cgi?id=14838 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: [https://bugzilla.lustre.org/show_bug.cgi?id=14793 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: | *Severity: critical | ||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14858 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: [https://bugzilla.lustre.org/show_bug.cgi?id=14876 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: [https://bugzilla.lustre.org/show_bug.cgi?id=14618 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: [https://bugzilla.lustre.org/show_bug.cgi?id=14775 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: [https://bugzilla.lustre.org/show_bug.cgi?id=14631 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: [https://bugzilla.lustre.org/show_bug.cgi?id=14529 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: [https://bugzilla.lustre.org/show_bug.cgi?id=14433 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11686 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: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13521 13521] | ||
Description: | Description: Update kernel patches for SLES10 2.6.16.53-0.8. | ||
Details: | Details: Update which_patch & target file for SLES10 latest kernel. | ||
Severity: | *Severity: enhancement | ||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13128 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11270 11270] | |||
Description: eliminate client locks in face of contention | |||
Details: file contention detection and lockless i/o implementation for contended files. | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12411 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: [https://bugzilla.lustre.org/show_bug.cgi?id=2369 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: [https://bugzilla.lustre.org/show_bug.cgi?id=13454 13454] | |||
Description: Add jbd statistics patch for RHEL5 and 2.6.18-vanilla. | |||
Severity: | *Severity: enhancement | ||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13518 13518] | |||
Description: Kernel patches update for RHEL4 2.6.9-55.0.6. | |||
Details: Modify vm-tunables-rhel4.patch. | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13452 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: [https://bugzilla.lustre.org/show_bug.cgi?id=13207 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: [https://bugzilla.lustre.org/show_bug.cgi?id=13751 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: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13748 13748] | ||
Description: | Description: Update RHEL 4 kernel to fix local root privilege escalation. | ||
Details: | 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: | *Severity: major | ||
Frequency: | Frequency: occasional | ||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14353 14353] | ||
Description: | Description: excessive CPU consumption on client reduces IO performance | ||
Details: | 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: | *Severity: major | ||
Frequency: occasional | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13917 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11710 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12302 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: [https://bugzilla.lustre.org/show_bug.cgi?id=13730 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: [https://bugzilla.lustre.org/show_bug.cgi?id=13181 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: [https://bugzilla.lustre.org/show_bug.cgi?id=13358 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12234 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: [https://bugzilla.lustre.org/show_bug.cgi?id=13616 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: [https://bugzilla.lustre.org/show_bug.cgi?id=13706 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11673 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: [https://bugzilla.lustre.org/show_bug.cgi?id=13570 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: [https://bugzilla.lustre.org/show_bug.cgi?id=13930 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: [https://bugzilla.lustre.org/show_bug.cgi?id=13976 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: [https://bugzilla.lustre.org/show_bug.cgi?id=13805 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: [https://bugzilla.lustre.org/show_bug.cgi?id=14222 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: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12948 12948] | ||
Description: | Description: buffer overruns could theoretically occur | ||
Details: | 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: | *Severity: minor | ||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13732 13732] | ||
Description: | Description: change order of libsysio includes | ||
Details: | 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12192 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12743 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11248 11248] | |||
Description: merge and cleanup kernel patches. | |||
Details: Remove mnt_lustre_list in vfs_intent-2.6-rhel4.patch. | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13039 13039] | |||
Description: RedHat Update kernel for RHEL5 | |||
Details: Kernel config file for RHEL5. | |||
*Severity: enhancement | |||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12446 12446] | ||
Description: | Description: OSS needs mutliple precreate threads | ||
Details: | Details: Add ability to start more than one create thread per OSS. | ||
Severity: | *Severity: enhancement | ||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13039 13039] | |||
Description: RedHat Update kernel for RHEL5 | |||
Details: Modify the kernel config file more closer RHEL5. | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13360 13360] | |||
Description: Build failure against Centos5 (RHEL5) | |||
Details: Define PAGE_SIZE when it isn't present. | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11401 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11230 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. | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13547 13547] , [https://bugzilla.lustre.org/show_bug.cgi?id=13627 13627] | |||
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: [https://bugzilla.lustre.org/show_bug.cgi?id=13236 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: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13482 13482] | ||
Description: | Description: build error | ||
Details: | Details: fix typos in gmlnd, ptllnd and viblnd | ||
Severity: | *Severity: major | ||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12932 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12223 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12782 12782] | |||
Description: /proc/sys/lnet has non-sysctl entries | |||
Details: Updating dump_kernel/daemon_file/debug_mb to use sysctl variables | |||
*Severity: normal | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=10778 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: [https://bugzilla.lustre.org/show_bug.cgi?id=13279 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12836 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12826 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: [https://bugzilla.lustre.org/show_bug.cgi?id=13142 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: [https://bugzilla.lustre.org/show_bug.cgi?id=13030 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12459 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12418 12418] | |||
Description: evictions taking too long | |||
Details: allow llrd to evict clients directly on OSTs | |||
*Severity: normal | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13125 13125] | |||
Description: osts not allocated evenly to files | |||
Details: change the condition to increase offset_idx | |||
*Severity: normal | |||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13436 13436] | ||
Description: | Description: Only those disconnect error should be returned by rq_status. | ||
Details: | 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 | *Severity: normal | ||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13600 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: [https://bugzilla.lustre.org/show_bug.cgi?id=13596 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: [https://bugzilla.lustre.org/show_bug.cgi?id=13304 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12186 12186] | |||
Description: Fix errors in lfs documentation | |||
Details: Fixes man pages | |||
*Severity: minor | |||
Frequency: rare | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12588 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: [https://bugzilla.lustre.org/show_bug.cgi?id=13532 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12786 12786] | |||
Description: lfs setstripe enhancement | |||
Details: Make lfs setstripe understand 'k', 'm' and 'g' for stripe size. | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12211 12211] | |||
Description: randomly memory allocation failure util | |||
Details: Make lustre randomly failed allocating memory for testing purpose. | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=10786 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: [https://bugzilla.lustre.org/show_bug.cgi?id=10595 10595] | |||
Description: Error message improvement. | |||
Details: Merging of two LCONSOLE_ERROR_MSG into one. | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12602 12606] | |||
Description: don't use GFP_* in generic Lustre code. | |||
Details: Use cfs_alloc_* functions and CFS_* flags for code portability. | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12333 12333] | |||
Description: obdclass is limited by single OBD_ALLOC(idarray) | |||
Details: replace OBD_ALLOC/OBD_FREE with OBD_VMALLOC/OBD_VFREE | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12415 12415 ] | |||
Description: updated patchess for new RHEL4 kernel | |||
Details: Fixed ext3-unlink-race.patch per Kalpak's comment. | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13006 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: [https://bugzilla.lustre.org/show_bug.cgi?id=13093 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: [https://bugzilla.lustre.org/show_bug.cgi?id=13249 13249] | |||
Description: Kernel patches for SLES9 2.6.5-7.286 kernel | |||
Details: Update target/ChangeLog/which_patch . | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12955 12955] | |||
Description: jbd statistics | |||
Details: Port older jbd statistics patch for sles10 | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13360 13360] | |||
Description: Build failure against Centos5 (RHEL5) | |||
Details: Use getpagesize() instead of PAGE_SIZE. | |||
*Severity: major | |||
Frequency: after network failures | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12769 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: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=10800 10800] | ||
Description: | Description: llog ctxt is refrenced after it has been freed. | ||
Details: | 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: | *Severity: normal | ||
Frequency: only for SLES10 | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12771 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11802 11802] | |||
Description: lustre support for RHEL5 | |||
Details: Add support for RHEL5. | |||
*Severity: normal | |||
Frequency: rare | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11756 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: [https://bugzilla.lustre.org/show_bug.cgi?id=13177 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: [https://bugzilla.lustre.org/show_bug.cgi?id=9977 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: [https://bugzilla.lustre.org/show_bug.cgi?id=13103 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11974 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11679 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: [https://bugzilla.lustre.org/show_bug.cgi?id=13147 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11706 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12790 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: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12839 12839] | ||
Description: | Description: Update kernel patches for kernel-2.6.9-55.0.2.EL | ||
Details: | Details: Remove inode-nr_unused-2.6.9-rhel4.patch from 2.6-rhel4.series Update target file and kernel config. | ||
Severity: | *Severity: minor | ||
Frequency: rare | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11327 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: [https://bugzilla.lustre.org/show_bug.cgi?id=13276 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: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12194 12194] | ||
Description: | Description: add optional extra BUILD_VERSION info | ||
Details: | Details: add a new environment variable (namely LUSTRE_VERS) which allows to override the lustre version. | ||
Severity: | *Severity: enhancement | ||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11548 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: [https://bugzilla.lustre.org/show_bug.cgi?id=10997 10997] | |||
Description: lfs setstripe use optional parameters instead of postional parameters. | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=10651 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: [https://bugzilla.lustre.org/show_bug.cgi?id=10768 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: | *Severity: enhancement | ||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11563 11563] | ||
Description: | Description: Add -o localflock option to simulate old noflock behaviour. | ||
Details: This | Details: This will achieve local-only flock/fcntl locks coherentness. | ||
Severity: | *Severity: enhancement | ||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11647 11647] | ||
Description: | Description: update patchless client | ||
Details: | Details: Add support for patchless client with 2.6.20, 2.6.21 and RHEL 5 | ||
Severity: | *Severity: enhancement | ||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=10589 10589] | ||
Description: | Description: metadata RPC reduction (e.g. for rm performance) | ||
Details: | 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: | *Severity: enhancement | ||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12605 12605] | ||
Description: | 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: | *Severity: enhancement | ||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12764 12764] | ||
Description: | 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: [https://bugzilla.lustre.org/show_bug.cgi?id=10968 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11039 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: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12678 12678] | ||
Description: | Description: remove fs_prep_san_write operation and related patches | ||
Details: | Details: remove the ext3-san-jdike patches which are no longer useful. | ||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=4900 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11721 11721] | |||
Description: Add printing inode info into message about error in writepage. | |||
*Severity: major | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11971 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12861 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: | *Severity: normal | ||
Frequency: rare | Frequency: rare | ||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13129 13129] | ||
Description: | 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12546 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12470 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11722 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11743 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12538 12538] | |||
Description: sanity-quota.sh quotacheck failed: rc = -22 | |||
Details: Quotas cannot be enabled on SLES10. | |||
*Severity: normal | |||
Frequency: liblustre clients only | |||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12229 12229] | ||
Description: | Description: getdirentries does not give error when run on compute nodes | ||
Details: | Details: getdirentries does not fail when the size specified as an argument is too small to contain at least one entry | ||
Severity: normal | *Severity: normal | ||
Frequency: rare | Frequency: rare | ||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11315 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11203 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11818 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: | *Severity: normal | ||
Frequency: rare | Frequency: rare | ||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12477 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11662 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: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11662 11662] | ||
Description: | 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11662 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12371 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12401 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12134 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 | |||
Severity: | |||
Frequency: rare | Frequency: rare | ||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=10818 10818] | ||
Description: | Description: Memory leak in recovery | ||
Details: | 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: | *Severity: normal | ||
Frequency: | Frequency: rare | ||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11935 11935] | ||
Description: | Description: Not check open intent error before release open handle | ||
Details: | 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: | *Severity: normal | ||
Frequency: | Frequency: rare | ||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12556 12556] | ||
Description: | Description: Set cat log bitmap only after create log success. | ||
Details: | 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 | *Severity: normal | ||
Frequency: | Frequency: rare | ||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12086 12086] | ||
Description: | Description: the cat log was not initialized in recovery | ||
Details: | 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 | *Severity: normal | ||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12579 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11674 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12689 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11737 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12646 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12576 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11815 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: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12784 12784] | ||
Description: | Description: bad return value and errno from fcntl call | ||
Details: | Details: In liblustre API, errno should be a negative value if error happens. | ||
Severity: | *Severity: normal | ||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11544 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: | *Severity: normal | ||
Frequency: | Frequency: rare | ||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12696 12696] | ||
Description: | 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12695 12695] | |||
Description: 1.4.11 RC1 build fails for RHEL 4, i686 | |||
Details: Fixed config variable for build. | |||
*Severity: normal | |||
Frequency: rare | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12415 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12374 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: | *Severity: normal | ||
Frequency: when qunit size is too small(less than 20M) | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12588 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12629 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: | *Severity: normal | ||
Frequency: | Frequency: SLES9 only | ||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12744 12744] | ||
Description: | Description: Lustre patched kernel for SLES9 SP3 has NR_CPUS set to 8 | ||
Details: | Details: set CONFIG_NR_CPUS to 128 instead of 8. | ||
*Severity: normal | |||
Frequency: rare | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11324 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: [https://bugzilla.lustre.org/show_bug.cgi?id=13063 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11301 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12417 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11013 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11190 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: | *Severity: normal | ||
Frequency: | Frequency: only for SLES9 | ||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12543 12543] | |||
Description: Routinely utilize latest Quadrics drivers in CFS releases | |||
Details: Update patch qsnet-suse-2.6.patch. | |||
Severity: | *Severity: normal | ||
Frequency: | Frequency: only for sles10 | ||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12771 12771] | ||
Description: | Description: Update patches for SLES 10 SP1 kernel. | ||
Details: Update the patch vfs_intent-2.6-sles10.patch. | |||
*Severity: normal | |||
Frequency: rare | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12543 12543] | |||
Description: Routinely utilize latest Quadrics drivers in CFS releases | |||
Details: Update patch qsnet-rhel4-2.6.patch. | |||
*Severity: normal | |||
Severity: | |||
Frequency: rare | Frequency: rare | ||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12975 12975] | ||
Description: | Description: Using wrong pointer in osc_brw_prep_request | ||
Details: | Details: Access to array[-1] can produce panic if kernel compiled with CONFIG_PAGE_ALLOC enabled | ||
*Severity: normal | |||
Frequency: only in recovery | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13148 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: [https://bugzilla.lustre.org/show_bug.cgi?id=13196 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: [https://bugzilla.lustre.org/show_bug.cgi?id=10800 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: | *Severity: minor | ||
Frequency: | Frequency: only with 10000 clients or more | ||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12364 12364] | ||
Description: | Description: poor connect scaling with increasing client count | ||
Details: | 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11970 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11546 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11512 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11658 11658 ] | |||
Description: log_commit_thread vs filter_destroy race leads to crash | |||
Details: Take import reference before releasing llog record semaphore | |||
Severity: | *Severity: minor | ||
Frequency: | Frequency: only with huge numbers of clients | ||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11817 11817] | ||
Description: | Description: Prevents from taking the superblock lock in llap_from_page for a soon died page. | ||
Details: | 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: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11706 11706] | ||
Description: | Description: service threads may hog cpus when there are a lot of requests | ||
Details: | Details: Insert cond_resched to give other threads a chance to use some CPU | ||
*Severity: minor | |||
Frequency: always | |||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12747 12747] | ||
Description: | Description: fix mal-formatted messages | ||
Details: | Details: fix some mal-formatted DEBUG_REQ and LCONSOLE_ERROR_MSG messages | ||
Severity: | *Severity: minor | ||
Frequency: always in liblustre | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11737 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: [https://bugzilla.lustre.org/show_bug.cgi?id=10419 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12415 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12858 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11778 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12860 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12404 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12391 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12848 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: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=4900 4900] | ||
Description: | Description: Async OSC create to avoid the blocking unnecessarily. | ||
Details: | 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: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=8007 8007] | ||
Description: | Description: MountConf | ||
Details: | 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: | *Severity: enhancement | ||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=4482 4482] | |||
Description: dynamic OST addition | |||
Details: OSTs can now be added to a live filesystem | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=9851 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: [https://bugzilla.lustre.org/show_bug.cgi?id=4899 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: [https://bugzilla.lustre.org/show_bug.cgi?id=9862 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: [https://bugzilla.lustre.org/show_bug.cgi?id=4226 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: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=10547 10547] | ||
Description: | Description: Lustre message v2 | ||
Details: | Details: Add lustre message format v2. | ||
Severity: | *Severity: enhancement | ||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=9866 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: [https://bugzilla.lustre.org/show_bug.cgi?id=10088 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: [https://bugzilla.lustre.org/show_bug.cgi?id=9332 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: [https://bugzilla.lustre.org/show_bug.cgi?id=9293 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: [https://bugzilla.lustre.org/show_bug.cgi?id=22484 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: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=22485 22485] | ||
Description: | Description: per-client statistics on server | ||
Details: | Details: Add ldlm and operations statistics for each client in /proc/fs/lustre/mds|obdfilter/*/exports/ | ||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=22486 22486] | |||
Description: improved MDT statistics | |||
Details: Add detailed MDT operations statistics in /proc/fs/lustre/mds/*/stats | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=10968 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: [https://bugzilla.lustre.org/show_bug.cgi?id=2258 2258] | |||
Description: Dynamic service threads | |||
Details: Within a small range, start extra service threads automatically when the request queue builds up. | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11229 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11335 11335] | |||
Description: MGS proc entries | |||
Details: Added basic proc entries for the MGS showing what filesystems are served. | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=10998 10998] | |||
Description: provide MGS failover | |||
Details: Added config lock reacquisition after MGS server failover. | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11461 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: [https://bugzilla.lustre.org/show_bug.cgi?id=10902 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11667 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11264 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: [https://bugzilla.lustre.org/show_bug.cgi?id=10816 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11214 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: [https://bugzilla.lustre.org/show_bug.cgi?id=10734 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: [https://bugzilla.lustre.org/show_bug.cgi?id=9829 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: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11684 11684] | ||
Description: | Description: System hang on startup | ||
Details: | 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: | *Severity: major | ||
Frequency: only for devices with external journals | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=10719 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11149 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12123 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11330 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: [https://bugzilla.lustre.org/show_bug.cgi?id=6062 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: [https://bugzilla.lustre.org/show_bug.cgi?id=6380 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: [https://bugzilla.lustre.org/show_bug.cgi?id=10667 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: [https://bugzilla.lustre.org/show_bug.cgi?id=10345 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11248 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11692 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: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12014 12014] | ||
Description: | Description: ASSERTION failures when upgrading to the patchless zero-copy socklnd | ||
Details: | 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: | *Severity: major | ||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=10916 10916] | |||
Description: added LNET self test | |||
Details: landing b_self_test | |||
*Severity: major | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12316 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11680 11680] | |||
Description: make panic on lbug configurable | |||
*Severity: minor | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13288 13288] | |||
Description: Initialize cpumask before use | |||
*Severity: minor | |||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11223 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12227 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: | *Severity: enhancement | ||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=10316 10316] | |||
Description: Fixed console chatter in case of -ETIMEDOUT. | |||
*Severity: enhancement | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11684 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11094 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12458 12458] | |||
Description: Assertion failure in kernel ptllnd caused by posting passive bulk buffers before connection establishment complete. | |||
Severity: | *Severity: major | ||
Frequency: rare | Frequency: rare | ||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12455 12455] | ||
Description: | 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 | |||
Severity: | |||
Frequency: rare | Frequency: rare | ||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12432 12432] | ||
Description: | Description: Kernel ptllnd lock ordering issue could hang a node. | ||
*Severity: major | |||
Severity: | |||
Frequency: rare | Frequency: rare | ||
Bugzilla: | Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12016 12016] | ||
Description: | Description: node crash on socket teardown race | ||
*Severity: major | |||
Frequency: after Ptllnd timeouts and portals congestion | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11659 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11394 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11616 11616] | |||
Description: | Description: o2iblnd handle early RDMA_CM_EVENT_DISCONNECTED. | ||
Details: If a | 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: | *Severity: major | ||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11201 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11126 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 | |||
Severity: | |||
Frequency: rare | Frequency: rare | ||
Description: gmlnd ignored some transmit errors when finalizing lnet messages. | |||
*Severity: normal | |||
Frequency: rare | |||
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11472 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 | |||
Severity: minor | |||
Frequency: rare | Frequency: rare | ||
Description: ptllnd logs a piece of incorrect debug info in kptllnd_peer_handle_hello. | |||
*Severity: minor | |||
Severity: | |||
Frequency: rare | 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12237 12237] | |||
Bugzilla: | |||
Description: Enable lctl's peer_list for MXLND | |||
Latest revision as of 06:38, 22 February 2010
(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