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.

Difference between revisions of "Change Log 1.6"

From Obsolete Lustre Wiki
Jump to navigationJump to search
 
(94 intermediate revisions by 6 users not shown)
Line 1: Line 1:
   
+
<small>''(Updated: Jun 2009)''</small>
 
 
 
=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) ==
+
=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
  
==Client support for unpatched kernels: (se http://wiki.lustre.org/index.php?title=Patchless_Client) 2.6.16 - 2.6.22 vanilla (kernel.org)==
+
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)
  
==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).==
+
Client support for unpatched kernels: (see [[Patchless Client]])
 +
* 2.6.16 - 2.6.22 vanilla (kernel.org)
  
==Recommended e2fsprogs version: 1.40.4-cfs1==
+
Client support for unpatched kernels:
 +
* We do not recommend using patchless RHEL4 clients with kernels prior to 2.6.9-55EL (RHEL4U5).
  
==Note that reiserfs quotas are disabled on SLES 10 in this kernel.==
+
Recommended e2fsprogs version: 1.40.11-sun1
  
==RHEL 4 (patched) and RHEL 5/SLES 10 (patchless) clients behave differently on 'cd' to a removed cwd "./" (refer to Bugzilla 14399).==
+
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].
  
Severity: critical
+
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].
  
Frequency: only for relatively new filesystems, when OSTs are in recovery
 
  
Bugzilla: 14631
+
Output of ''lfs'' quota has been made less detailed by default, old (verbose) output can be obtained by using ''-v'' option.
  
Description: OST objects below id 20000 are deleted, causing data loss
+
File join has been disabled in this release. Refer to bugzilla [https://bugzilla.lustre.org/show_bug.cgi?id=16929 16929].
  
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.  
+
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: major
+
*'''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.
  
Frequency: rare, depends on device drivers and load
+
*'''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: 14529
+
*'''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: MDS or OSS nodes crash due to stack overflow
+
*'''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.
  
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.  
+
*'''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.4 to v1.6.4.1=
+
=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 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.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)
  
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)
  
Client support for unpatched kernels: (see http://wiki.lustre.org/index.php?title=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).
  
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.11-sun1
  
Recommended e2fsprogs version: 1.40.2-cfs1
+
Note that reiserfs quotas are disabled on SLES 10 in this kernel.
  
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].
  
Severity: major
+
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: 14433
+
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].
  
Description: Oops on connection from 1.6.3 client
+
Output of ''lfs'' quota has been made less detailed by default, old (verbose) output can be obtained by using ''-v'' option.
  
Frequency: always, on connection from 1.6.3 client
+
File join has been disabled in this release, refer to bugzilla [https://bugzilla.lustre.org/show_bug.cgi?id=16929 16929].
  
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.  
+
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].
  
=Changes from v1.6.3 to v1.6.4=
+
*'''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.
  
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
+
*'''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.
  
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)
+
*'''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.
  
Client support for unpatched kernels: (see http://wiki.lustre.org/index.php?title=Patchless_Client) 2.6.16 - 2.6.22 vanilla (kernel.org)
+
*'''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.
  
Due to recently discovered recovery problems, we do not recommend using patchless RHEL 4 clients with this or any earlier release.  
+
*'''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.
  
Recommended e2fsprogs version: 1.40.2-cfs1
+
*'''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.
  
Note that reiserfs quotas are disabled on SLES 10 in this kernel.  
+
*'''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: enhancement
+
*'''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().
  
Bugzilla: 11686
+
=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
  
Description: Console message flood
+
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)
  
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.  
+
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).
  
Severity: enhancement
+
Recommended e2fsprogs version: 1.40.11-sun1
  
Bugzilla: 13521
+
Note that reiserfs quotas are disabled on SLES 10 in this kernel.
  
Description: Update kernel patches for SLES10 2.6.16.53-0.8.  
+
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].
  
Details: Update which_patch & target file for SLES10 latest kernel.  
+
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: enhancement
+
*'''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: 13128
+
*'''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.
  
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.  
+
*'''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: enhancement
+
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13490 13490]'''
 +
Severity: normal<br>
 +
Description: fix credit flow deadlock in uptllnd
  
Bugzilla: 11270
+
*'''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: eliminate client locks in face of contention
+
*'''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: file contention detection and lockless i/o implementation for contended files.  
+
*'''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: enhancement
+
*'''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: 12411
+
*'''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.
  
Description: Remove client patches from SLES 10 kernel.  
+
*'''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: This causes SLES 10 clients to behave as patchless clients even on a Lustre-patched (server) kernel.  
+
*'''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: enhancement
+
*'''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: 2369
+
*'''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: use i_size_read and i_size_write in 2.6 port
+
*'''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.
  
Details: replace inode->i_size access with i_size_read/write()
+
*'''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: 13454
+
*'''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.
  
Description: Add jbd statistics patch for RHEL5 and 2.6.18-vanilla.  
+
*'''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: 13518
+
*'''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.
  
Description: Kernel patches update for RHEL4 2.6.9-55.0.6.  
+
*'''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: Modify vm-tunables-rhel4.patch.  
+
*'''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: enhancement
+
*'''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: 13452
+
*'''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
  
Description: Kernel config for 2.6.18-vanilla.  
+
*'''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.
  
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.  
+
*'''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: 13207
+
*'''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: adapt the lustre_config script to support the upgrade case
+
*'''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.
  
Details: Add "-u" option for lustre_config script to support upgrading 1.4 server targets to 1.6 in parallel.  
+
*'''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: critical
+
*'''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.
  
Frequency: always
+
*'''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: 13751
+
*'''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: Kernel patches update for RHEL5 2.6.18-8.1.14.el5.  
+
*'''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.
  
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).  
+
*'''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: critical
+
*'''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.
  
Frequency: always
+
*'''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: 13748
+
*'''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: Update RHEL 4 kernel to fix local root privilege escalation.  
+
*'''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.
  
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.  
+
=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>
  
Severity: major
+
'''Client support for unpatched kernels: (see [[Patchless Client]])'''<br>
 +
''' 2.6.16 - 2.6.22 vanilla (kernel.org)'''<br>
  
Frequency: occasional
+
'''Recommended e2fsprogs version: 1.40.11-sun1'''
  
Bugzilla: 14353
+
'''Note that reiserfs quotas are disabled on SLES 10 in this kernel.'''
  
Description: excessive CPU consumption on client reduces IO performance
+
'''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]'''
  
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.  
+
'''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: major
+
*'''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: occasional
+
*'''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: 13917
+
*'''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: MDS hang or stay in waiting lock
+
*'''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>
  
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.
+
*'''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: major
+
*'''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>
  
Frequency: occasional
+
*'''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: 11710
+
*'''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: improve handling recoverable errors
+
*'''Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=16679 16679]'''
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<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: 12302
+
*'''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: new userspace socklnd
+
*'''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>
  
Details: Old userspace tcpnal that resided in lnet/ulnds/socklnd replaced with new one - usocklnd.  
+
*'''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: occasional
+
*'''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: 13730
+
*'''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: Do not fail import if osc_interpret_create gets -EAGAIN
+
*'''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: 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.  
+
*'''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
  
Frequency: when removing large files
+
*'''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: 13181
+
*'''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: scheduling issue during removal of large Lustre files
+
*'''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>
  
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).  
+
*'''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: normal
+
*'''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: always
+
*'''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: 13358
+
*'''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.
  
Description: 1.4.11 Can't handle directories with stripe set and extended ACLs
+
*'''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: Impossible (EPROTO is returned) to access a directory that has a non-default striping and ACLs.  
+
*'''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
  
Frequency: only on ppc
+
*'''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: 12234
+
*'''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>
  
Description: /proc/fs/lustre/devices broken on ppc
+
*'''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.
  
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.  
+
*'''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: only for rhel5
+
*'''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: 13616
+
*'''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.
  
Description: Kernel patches update for RHEL5 2.6.18-8.1.10.el5.  
+
*'''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: Modify the target file & which_kernel.  
+
*'''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: normal
+
*'''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: if the uninit_groups feature is enabled on ldiskfs
+
*'''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: 13706
+
*'''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: e2fsck reports "invalid unused inodes count"
+
*'''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: 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.
+
*'''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: only if filesystem is inconsistent
+
*'''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: 11673
+
*'''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: handle "serious error: objid * already exists" more gracefully
+
*'''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>
  
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.  
+
*'''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: rarely
+
*'''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: 13570
+
*'''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: 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.  
+
*'''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.
  
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.  
+
*'''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: when using O_DIRECT and quotas
+
*'''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: 13930
+
*'''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: Incorrect file ownership on O_DIRECT output files
+
*'''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.
  
Details: block usage reported by 'lfs quota' does not take into account files that have been written with O_DIRECT.
+
*'''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: normal
+
*'''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.
  
Frequency: always
+
*'''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: 13976
+
*'''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: touch file failed when fs is not full
+
*'''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: OST in recovery should not be discarded by MDS in alloc_qos(), otherwise we can get ENOSP while fs is not full.  
+
*'''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: normal
+
*'''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.
  
Frequency: always
+
=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
  
Bugzilla: 13805
+
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)
  
Description: data checksumming impacts single node performance
+
Client support for unpatched kernels: (see [[Patchless Client]])
 +
* 2.6.16 - 2.6.22 vanilla (kernel.org)
  
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.  
+
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
  
Severity: minor
+
Note that reiserfs quotas are disabled on SLES 10 in this kernel.
  
Frequency: when lov objid is destroyed
+
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].
  
Bugzilla: 14222
+
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].
  
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.  
+
*'''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: minor
+
*'''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.
  
Frequency: rarely
+
=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
  
Bugzilla: 12948
+
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)
  
Description: buffer overruns could theoretically occur
+
Client support for unpatched kernels: (see [[Patchless Client]])
 +
* 2.6.16 - 2.6.22 vanilla (kernel.org)
  
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.  
+
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
  
Severity: minor
+
Note that reiserfs quotas are disabled on SLES 10 in this kernel.
  
Bugzilla: 13732
+
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].
  
Description: change order of libsysio includes
+
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: '#include sysio.h' should always come before '#include xtio.h'
+
*Severity: critical
  
 +
Frequency: very rare, if additional xattrs are used on kernels >= 2.6.12
  
=Changes from v1.6.2 to v1.6.3=
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15777 15777]
  
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
+
Description: MDS may lose file striping (and hence file data) in some cases
  
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)
+
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.
  
Client support for unpatched kernels: (see http://wiki.lustre.org/index.php?title=Patchless_Client) 2.6.16 - 2.6.22 vanilla (kernel.org)
+
*Severity: enhancement
  
Due to recently discovered recovery problems, we do not recommend using patchless RHEL 4 clients with this or any earlier release.  
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12191 12191]
  
Recommended e2fsprogs version: 1.40.2-cfs1
+
Description: add message levels for liblustreapi
  
Note that reiserfs quotas are disabled on SLES 10 in this kernel.
+
*Severity: minor
  
Severity: enhancement
+
Frequency: rare, only if {mds,oss}_num_threads is specified
  
Bugzilla: 12192
+
Bugzilla : [https://bugzilla.lustre.org/show_bug.cgi?id=15759 15759]
  
Description: llapi_file_create() does not allow some changes
+
Description: MDS or OSS service threads fail startup with -24 (-EMFILE)
  
Details: add llapi_file_open() that allows specifying the file creation mode and open flags, and also returns an open file handle.  
+
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
  
Severity: enhancement
+
Frequency: rare
  
Bugzilla: 12743
+
Bugzilla   : [https://bugzilla.lustre.org/show_bug.cgi?id=13380 13380]
  
Description: df doesn't work properly if diskfs blocksize != 4K
+
Description: MDT cannot be unmounted, reporting "Mount still busy"
  
Details: Choose biggest blocksize of OST's as the LOV's blocksize.  
+
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
  
Severity: enhancement
+
Frequency: rare
  
Bugzilla: 11248
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13380 13380]
  
Description: merge and cleanup kernel patches.
+
Description: fix for occasional failure case of -ENOSPC in recovery-small tests
  
Details: Remove mnt_lustre_list in vfs_intent-2.6-rhel4.patch.  
+
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
  
Severity: enhancement
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14326 14326]
  
Bugzilla: 13039
+
Description: Use old size assignment to avoid deadlock
  
Description: RedHat Update kernel for RHEL5
+
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.
  
Details: Kernel config file for RHEL5.
+
*Severity: normal
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14655 14655]
  
Severity: enhancement
+
Description: Use __u64 instead of int for valid bits
  
Bugzilla: 12446
+
*Severity: normal
  
Description: OSS needs mutliple precreate threads
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14746 14746]
  
Details: Add ability to start more than one create thread per OSS.
+
Description: resolve "_IOWR redefined" build error on SLES10
  
 +
*Severity: normal
  
Severity: enhancement
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14763 14763]
  
Bugzilla: 13039
+
Description: dump the memory debugging after all modules are unloaded to suppress false negative in conf_sanity test 39
  
Description: RedHat Update kernel for RHEL5
+
*Severity: normal
  
Details: Modify the kernel config file more closer RHEL5.  
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14872 14872]
  
 +
Description: the recovery timer never expires
  
Severity: enhancement
+
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.
  
Bugzilla: 13360
+
*Severity: normal
  
Description: Build failure against Centos5 (RHEL5)
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15521 15521]
  
Details: Define PAGE_SIZE when it isn't present.
+
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: enhancement
+
*Severity: normal
  
Bugzilla: 11401
+
Frequency: always with interactive lfs
  
Description: client-side metadata stat-ahead during readdir(directory readahead)
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15212 15212]
  
Details: perform client-side metadata stat-ahead when the client detects readdir and sequential stat of dir entries therein
+
Description: Reinitialize optind to 0 so that interactive lfs works in all cases
  
 +
*Severity: normal
  
Severity: enhancement
+
Frequency: with multiple concurrent readdir processes in same directory
  
Bugzilla: 11230
+
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: Tune the kernel for good SCSI performance.  
+
Description: misc fixes for directory readahead.
  
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.  
+
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
  
Severity: critical
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15316 15316]
  
Frequency: Always for filesystems larger than 2TB on 32-bit systems.
+
Description: build kernel-ib packages for OFED 1.3 in our release cycle
  
Bugzilla: 13547 , 13627
+
*Severity: normal
  
Description: Data corruption for OSTs that are formatted larger than 2TB on 32-bit servers.  
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15036 15036]
  
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.
+
Description: incore types cleaning in quota code (with respect to 64-bit limits)
  
 +
Details: several u32 variables declarations are replaced with u64 declarations
  
Severity: major
+
*Severity: minor
  
Bugzilla: 13236
+
Frequency: always
  
Description: TOE Kernel panic by ksocklnd
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13969 13969]
  
Details: offloaded sockets provide their own implementation of sendpage, can't call tcp_sendpage() directly
+
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: major
+
*Severity: normal
  
Bugzilla: 13482
+
Frequency: rare
  
Description: build error
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14803 14803]
  
Details: fix typos in gmlnd, ptllnd and viblnd
+
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: major
+
*Severity: normal
  
Bugzilla: 12932
+
Frequency: very rare
  
Description: obd_health_check_timeout too short
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15069 15069]
  
Details: set obd_health_check_timeout as 1.5x of obd_timeout
+
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: major
+
*Severity: enhancement
  
Frequency: only with quota on the root user
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15416 15416]
  
Bugzilla: 12223
+
Description: Update kernel to SLES9 2.6.5-7.311.
  
Description: mds_obd_create error creating tmp object
+
*Severity: enhancement
  
Details: When the user sets quota on root, llog will be affected and can't create files and write files.  
+
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
  
Bugzilla: 12782
+
Frequency: always
  
Description: /proc/sys/lnet has non-sysctl entries
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14856 14856]
  
Details: Updating dump_kernel/daemon_file/debug_mb to use sysctl variables
+
Frequency: on PPC only
  
 +
Description: not convert ost objects for directory because it's not exist.
  
Severity: normal
+
Details: ll_dir_getstripe assume directory has ost objects but this wrong.
  
Bugzilla: 10778
+
*Severity: enhancement
  
Description: kibnal_shutdown() doesn't finish; lconf --cleanup hangs
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15517 15517]
  
Details: races between lnd_shutdown and peer creation prevent lnd_shutdown from finishing.  
+
Description: Fix warnings with compile liblustre at sles10/rhel5 which have __u64 as usingied long long type.
  
 +
*Severity: minor
  
Severity: normal
+
Frequency: rare, on shutdown
  
Bugzilla: 13279
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15210 15210]
  
Description: open files rlimit 1024 reached while liblustre testing
+
Description: race process AST vs remove callback
  
Details: ulnds/socklnd must close open socket after unsuccessful 'say hello' attempt.  
+
Details: removing callback before disconnect import open race with processing callback.
  
 +
*Severity: enhancement
  
Severity: normal
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15416 15416]
  
Frequency: always on directories with default striping set
+
Description: Update kernel to SLES9 2.6.5-7.311.
  
Bugzilla: 12836
+
*Severity: enhancement
  
Description: lfs find on -1 stripe looping in lsm_lmm_verify_common()
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12652 12652]
  
Details: Avoid lov_verify_lmm_common() on directory with -1 stripe count.
+
Description: Files open for execute are not marked busy on SLES10
  
 +
Details: Add FMODE_EXEC to SLES10 SP1 server kernel series.
  
Severity: normal
+
*Severity: enhancement
  
Frequency: Always on ia64 patchless client, and possibly others.
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13397 13397]
  
Bugzilla: 12826
+
Description: Add server support for vanilla-2.6.22.14.
  
Description: Add EXPORT_SYMBOL check for node_to_cpumask symbol.
+
*Severity: normal
  
Details: This allows the patchless client to be loaded on architectures without this export.
+
Frequency: occasional
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13375 13375]
  
Severity: normal
+
Description: Avoid lov_create() getting stuck in obd_statfs_rqset()
  
Frequency: rare
+
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.
  
Bugzilla: 13142
+
*Severity: enhancement
  
Description: disorder of journal start and llog_add cause deadlock.  
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=3055 3055]
  
Details: in llog_origin_connect, journal start should happen before llog_add keep the same order as other functions to avoid the deadlock.
+
Description: Disable adaptive timeouts by default
  
 +
*Severity: major
  
Severity: normal
+
Frequency: on network error
  
Frequency: occasionally when using NFS
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15027 15027]
  
Bugzilla: 13030
+
Description: panic with double free request if network error
  
Description: "ll_intent_file_open()) lock enqueue: err: -13" with nfs
+
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.
  
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: rare, on recovery
  
Severity: normal
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14533 14533]
  
Frequency: Occasionally with failover
+
Description: read procfs can produce deadlock in some situation
  
Bugzilla: 12459
+
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.
  
Description: Client eviction due to failover config
+
*Severity: enhancement
  
Details: after a connection loss, the lustre client should attempt to reconnect to the last active server first before trying the other potential connections.  
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15152 15152]
  
 +
Description: Update kernel to RHEL5 2.6.18-53.1.14.el5.
  
Severity: normal
+
*Severity: major
  
Frequency: only with liblustre clients on XT3
+
Frequency: frequent on X2 node
  
Bugzilla: 12418
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15010 15010]
  
Description: evictions taking too long
+
Description: mdc_set_open_replay_data LBUG
  
Details: allow llrd to evict clients directly on OSTs
+
Details: Set replay data for requests that are eligible for replay.
  
 +
*Severity: normal
  
Severity: normal
+
Frequency: common
  
Bugzilla: 13125
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14321 14321]
  
Description: osts not allocated evenly to files
+
Description: lustre_mgs: operation 101 on unconnected MGS
  
Details: change the condition to increase offset_idx
+
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
  
Severity: normal
+
Frequency: rare, depends on device drivers and load
  
Bugzilla: 13436
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14529 14529]
  
Description: Only those disconnect error should be returned by rq_status.
+
Description: MDS or OSS nodes crash due to stack overflow
  
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.  
+
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
  
Severity: normal
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14876 14876]
 +
 
 +
Description: Update to RHEL5 latest kernel-2.6.18-53.1.13.el5.
  
Bugzilla: 13600
+
*Severity: enhancement
  
Description: "lfs find -obd UUID" prints directories
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14858 14858]
  
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.  
+
Description: Update to SLES10 SP1 latest kernel-2.6.16.54-0.2.5.
  
 +
*Severity: enhancement
  
Severity: normal
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14720 14720]
  
Bugzilla: 13596
+
Description: Update to RHEL5 latest kernel-2.6.18-53.1.6.el5.
  
Description: MDS hang after unclean shutdown of lots of clients
+
*Serverity: enhancement
  
Details: Never resend AST requests.  
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14793 14793]
  
 +
Description: Update RHEL4 kernel to 2.6.9-67.0.4.
  
Severity: normal
+
*Severity: minor
  
Frequency: Always, for kernels after 2.6.16
+
Frequency: rare on shutdown OST
  
Bugzilla: 13304
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13196 13196]
  
Description: Fix warning idr_remove called for id=.. which is not allocated.
+
Description: Don't allow skipping OSTs if index has been specified.
Details: Last kernels save old s_dev before kill super and not allow to restore from callback - restore it before call kill_anon_super.  
 
  
 +
Details: Don't allow skipping OSTs if index has been specified, make locking in internal create lots better.
  
Severity: minor
+
*Severity: normal
  
Bugzilla: 12186
+
Frequency: rare
  
Description: Fix errors in lfs documentation
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14421 14421]
  
Details: Fixes man pages
+
Description: ASSERTION(!PageDirty(page)) failed
  
 +
Details: Wrong check could lead to an assertion failure under specific load patterns.
  
Severity: minor
+
*Severity: normal
  
 
Frequency: rare
 
Frequency: rare
  
Bugzilla: 12588
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12228 12228]
  
Description: when mds and osts use different quota unit(32bit and 64bit), quota will be released repeatly.
+
Description: LBUG in ptlrpc_check_set() bad phase ebc0de00
  
Details: void sending multiple quota reqs to mds, which will keep the status between the reqs.  
+
Details: access to bitfield in structure is always rounded to long and this produce problem with not atomic change any bit.
  
 +
*Severity: normal
  
Severity: cleanup
+
Frequency: always
  
Bugzilla: 13532
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13647 13647]
  
Description: rewrite ext2-derived code in llite/dir.c and obdclass/uuid.c
+
Description: Lustre 'make rpms' failed.
  
Details: rewrite inherited code (uuid parsing code from ext2 utils and readdir code from ext3) from scratch preserving functionality.  
+
Details: Remove ldiskfs spec file to avoids rpmbuild be confused when builds Lustre rpms from tarball.
  
 +
*Severity: enhancement
  
=Changes from v1.6.1 to v1.6.2=
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14498 14498]
  
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)
+
Description: Update to SLES9 SP4 kernel-2.6.5-7.308.
  
Client support for unpatched kernels: (see http://wiki.lustre.org/index.php?
+
*Severity: normal
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.
+
Frequency: rare on shutdown OST
  
Recommended e2fsprogs version: 1.39.cfs8
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14608 14608]
  
Note that reiserfs quotas are disabled on SLES 10 in this kernel.  
+
Description: If llog cancel was not send before clean_exports phase, this can produce deadlock in llog code.
  
Severity: enhancement
+
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.
  
Bugzilla: 12786
+
*Severity: normal
  
Description: lfs setstripe enhancement
+
Frequency: only if OST index is skipped
  
Details: Make lfs setstripe understand 'k', 'm' and 'g' for stripe size.  
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14607 14607]
  
 +
Description: NULL lov_tgts causing MDS oops
  
Severity: enhancement
+
Details: more safe checks for NULL lov_tgts for avoid oops.
  
Bugzilla: 12211
+
*Severity: enhancement
  
Description: randomly memory allocation failure util
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14531 14531]
  
Details: Make lustre randomly failed allocating memory for testing purpose.  
+
Description: Update to RHEL4 latest kernel-2.6.9-67.0.1.EL.
  
 +
*Severity: enhancement
  
Severity: enhancement
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14368 14368]
  
Bugzilla: 10786
+
Description: Update to RHEL5 latest kernel-2.6.18-53.1.4.el5.
  
Description: omit set fsid for export NFS
+
*Severity: normal
  
Details: fix set/restore device id for avoid EMFILE error and mark lustre fs as FS_REQUIRES_DEV for avoid problems with generate fsid.
+
Frequency: always
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14136 14136]
  
Severity: enhancement
+
Description: make mgs_setparam() handle fsname containing dash
  
Bugzilla: 10595
+
Details: fsname containing a dash does not work with lctl conf_param
  
Description: Error message improvement.
+
*Severity: enhancement
  
Details: Merging of two LCONSOLE_ERROR_MSG into one.  
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14288 14288]
  
 +
Description: Update to RHEL4 Update-6 kernel-2.6.9-67.EL.
  
Severity: enhancement
+
*Severity: normal
  
Bugzilla: 12606
+
Frequency: rare, in recovery and (or) destroy lovobjid file.
  
Description: don't use GFP_* in generic Lustre code.  
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12702 12702]
  
Details: Use cfs_alloc_* functions and CFS_* flags for code portability.  
+
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: 12333
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14388 14388]
  
Description: obdclass is limited by single OBD_ALLOC(idarray)
+
Description: Update to SLES10 SP1 latest kernel-2.6.16.54-0.2.3.
  
Details: replace OBD_ALLOC/OBD_FREE with OBD_VMALLOC/OBD_VFREE
+
*Severity: enhancement
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14289 14289]
  
Severity: enhancement
+
Description: Update to RHEL5 Update-1 kernel 2.6.18-53.el5.
  
Bugzilla: 12415
+
Details: Use d_move_locked instead of __d_move.
  
Description: updated patchess for new RHEL4 kernel
+
*Severity: major
  
Details: Fixed ext3-unlink-race.patch per Kalpak's comment.
+
Frequency: rare, at shutdown
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14260 14260]
  
Severity: enhancement
+
Description: access already free / zero obd_namespace.
  
Bugzilla: 13006
+
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.
  
Description: warnings with build patchless client with vanila 2.6.19 and up
+
*Severity: minor
  
Details: change old ctl_table style and replace ctl_table/ctl_table_header with cfs_sysctl_table_t/cfs_sysctl_table_header_t
+
Frequency: only at startup
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14418 14418]
  
Severity: enhancement
+
Description: not alloc memory with spinlock held.
  
Bugzilla: 13093
+
Details: allocation memory with GFP_KERNEL can produce sleep deadlock, if any spinlock held.
  
Description: O_DIRECT bypasses client statistics.
+
*Severity: normal
  
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().
+
Frequency: always
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14270 14270]
  
Severity: enhancement
+
Description: lfs find does not continue on file error
  
Bugzilla: 13249
+
Details: Continue other files processing when a file/dir is absent.
  
Description: Kernel patches for SLES9 2.6.5-7.286 kernel
+
*Severity: normal
  
Details: Update target/ChangeLog/which_patch .  
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11791 11791]
  
 +
Description: Inconsistent usage of lustre_pack_reply()
  
Severity: enhancement
+
Details: Standardize the usage of lustre_pack_reply() such that it always generate a CERROR on failure.
  
Bugzilla: 12955
+
*Severity: normal
  
Description: jbd statistics
+
Frequency: very rare
  
Details: Port older jbd statistics patch for sles10
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=3462 3462]
  
 +
Description: Fix replay if there is an un-replied request and open
  
Severity: enhancement
+
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.
  
Bugzilla: 13360
+
*Severity: enhancement
  
Description: Build failure against Centos5 (RHEL5)
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13969 13969]
  
Details: Use getpagesize() instead of PAGE_SIZE.  
+
Description: Update to RHEL5 kernel 2.6.18-8.1.15.el5.
  
 +
*Severity: enhancement
  
Severity: major
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13874 13874]
  
Frequency: after network failures
+
Description: Update to SLES10 SP1 kernel 2.6.16.53-0.16
  
Bugzilla: 12769
+
*Severity: enhancement
  
Description: Add sync option to mount_lustre.c
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13889 13889]
  
Details: Client loses data written to lustre after a network interruption.  
+
Description: Update to SLES9 kernel-2.6.5-7.287.3.
  
 +
*Severity: enhancement
  
Severity: normal
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14041 14041]
  
Frequency: mds/oss recovery
+
Description: Update to RHEL4 kernel-2.6.9-55.0.12.EL.
  
Bugzilla: 10800
+
*Severity: enhancement
  
Description: llog ctxt is refrenced after it has been freed.  
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13690 13690]
  
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.
+
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: normal
+
*Severity: enhancement
  
Frequency: only for SLES10
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11622 11622]
  
Bugzilla: 12771
+
Description: Lustre Page Accounting
  
Description: Update kernel patch for SLES10 SP1
+
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.
  
Details: Add patch blkdev_tunables-2.6-sles10.patch to 2.6-sles10.series.
+
*Severity: normal
  
 +
Frequency: only if debugging is disabled
  
Severity: normal
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13497 13497]
  
Bugzilla: 11802
+
Description: LASSERT_{REQ,REP}SWAB macros are buggy
  
Description: lustre support for RHEL5
+
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.
  
Details: Add support for RHEL5.
+
*Severity: normal
  
 +
Frequency: rare
  
Severity: normal
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13888 13888]
  
Frequency: rare
+
Description: interrupt oig_wait produce painc on resend.
  
Bugzilla: 11756
+
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.
  
Description: umount blocks forever on error
+
*Severity: enhancement
  
Details: In result of wrong using obd_no_recov and obd_force flags client can hand if cancel or some other requests is lost.  
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11089 11089]
  
 +
Description: organize the server-side client stats on per-nid basis
  
Severity: normal
+
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.
  
Frequency: Only for SLES
+
*Severity: normal
  
Bugzilla: 13177
+
Frequency: rare
  
Description: sanity_quota fail test_1
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12266 12266]
  
Details: There are multiple occurences of $TSTUSR in SLES's /etc/group file, which makes TSTID[2] inunique.
+
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: rare
+
Frequency: always
  
Bugzilla: 9977
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13976 13976]
  
Description: lvbo_init failed for resource with missing objects.
+
Description: touch file failed when fs is not full
  
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.  
+
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
  
Severity: normal
+
Frequency: only for Cray XT3
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.
 
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12829 12829] [https://bugzilla.lustre.org/show_bug.cgi?id=13455 13455]
  
Severity: normal
+
Description: Changing primary group doesn't change the group lustre assigns to a file
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.
 
  
 +
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: normal
+
*Severity: enhancement
Frequency: only with deactivated OSTs
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12749 12749]
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.  
 
  
 +
Description: Root Squash Functionality
  
Severity: minor
+
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.
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: enhancement
  
Severity: minor
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=10718 10718]
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
 
  
 +
Description: Slow trucate/writes to huge files at high offsets.
  
Severity: minor
+
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.
Frequency: only with liblustre
+
 
Bugzilla: 12790
+
*Severity: normal
Description: Liblustre is not releasing flock locks on file close.  
 
Details: Release flock locks on file close.
 
  
 +
Frequency: common
  
Severity: minor
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14379 14379]
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.  
 
  
 +
Description: Too many locks accumulating on client during NFS usage
  
Severity: minor
+
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.
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: normal
  
Severity: minor
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14477 14477]
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.  
 
  
 +
Description: Hit ASSERTION(obd->obd_stopping == 1) failed in some setup failed situation.
  
Changes from v1.6.0.1 to v1.6.1
+
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.
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 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.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
  
Severity: enhancement
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14398 14398]
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.  
 
  
 +
Description: Allow masking D_WARNING, D_ERROR messages from console
  
Severity: enhancement
+
Details: Console messages can now be disabled via lnet.printk.
Bugzilla: 10997
 
Description: lfs setstripe use optional parameters instead of postional parameters.  
 
  
 +
*Severity: normal
  
Severity: enhancement
+
Frequency: always
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.
 
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14614 14614]
  
Severity: enhancement
+
Description: User code with malformed file open parameter crashes client node
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.
 
  
 +
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: enhancement
+
*Severity: normal
Bugzilla: 11563
 
Description: Add -o localflock option to simulate old noflock behaviour.
 
Details: This will achieve local-only flock/fcntl locks coherentness.
 
  
 +
Frequency: always
  
Severity: enhancement
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=10600 10600]
Bugzilla: 11647
 
Description: update patchless client
 
Details: Add support for patchless client with 2.6.20, 2.6.21 and RHEL 5
 
  
 +
Description: shrink/enlarge qunit size when needed; fix the problem of coarse grain of quota doing harm to quota's accuracy
  
Severity: enhancement
+
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.
Bugzilla: 10589
+
 
Description: metadata RPC reduction (e.g. for rm performance)
+
*Severity: normal
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.  
+
 
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14225 14225]
  
 +
Description: LDLM_ENQUEUE races with LDLM_CP_CALLBACK
  
Severity: enhancement
+
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.
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: normal
  
Severity: enhancement
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14360 14360]
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.  
 
  
 +
Description: Heavy nfs access might result in deadlocks
  
Severity: enhancement
+
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.
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: normal
  
Severity: enhancement
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14443 14443]
Bugzilla: 11039
 
Description: 2.6.18 server support (lustre 1.6.1)
 
Details: Support for 2.6.18 kernels on the server side.  
 
  
 +
Description: 35% write performance drop with ldiskfs2 when quotas are on
  
Severity: enhancement
+
Details: Enable ext3 journalled quota by default to improve performance when quotas are turned on.
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: normal
  
Severity: enhancement
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13843 13843]
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.  
 
  
 +
Description: Client eviction while running blogbench
  
Severity: enhancement
+
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.
Bugzilla: 11721
 
Description: Add printing inode info into message about error in writepage.  
 
  
 +
*Severity: normal
  
Severity: major
+
Frequency: RHEL4 only
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().
 
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14618 14618]
  
Severity: major
+
Description: mkfs is very slow on IA64/RHEL4
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.
 
  
 +
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
+
*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.
 
  
 +
Frequency: PPC/PPC64 only
  
Severity: normal
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14845 14845]
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.  
 
  
 +
Description: conflicts between asm-ppc64/types.h and lustre_types.h
  
Severity: normal
+
Details: fix duplicated definitions between asm-ppc64/types.h and lustre_types.h on PPC.
Frequency: rare
+
 
Bugzilla: 12470
+
*Severity: normal
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.  
 
  
 +
Frequency: PPC/PPC64 only
  
Severity: normal
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14844 14844]
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.  
 
  
 +
Description: asm-ppc/segment.h does not exist
  
Severity: normal
+
Details: fix compile issue on PPC.
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
  
Severity: normal
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13805 13805]
Frequency: SLES10 only
 
Bugzilla: 12538
 
Description: sanity-quota.sh quotacheck failed: rc = -22
 
Details: Quotas cannot be enabled on SLES10.
 
  
 +
Description: data checksumming impacts single node performance
  
Severity: normal
+
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.
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
  
Severity: normal
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14648 14648]
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.
 
  
 +
Description: use adler32 for page checksums
  
Severity: normal
+
Details: when available, use the Adler-32 algorithm instead of CRC32 for page checksums.
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
  
Severity: normal
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14864 14864]
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.  
 
  
 +
Description: better handle error messages in extents code
  
Severity: normal
+
*Severity: enhancement
Frequency: rare
+
 
Bugzilla: 12477
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14729 14729]
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.  
 
  
 +
Description: SNMP support enhancement
  
Severity: normal
+
Details: Adding total number of sampled request for an MDS node in snmp support.
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: enhancement
  
Severity: normal
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14748 14748]
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.  
 
  
 +
Description: Optimize ldlm waiting list processing for PR extent locks
  
Severity: normal
+
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.
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
  
Severity: normal
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14774 14774]
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.  
 
  
 +
Description: Time out and refuse to reconnect
  
Severity: normal
+
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.
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: major
  
Severity: normal
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14775 14775]
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.  
 
  
 +
Description: Client not clear own cache if answer to reconnect is lost.
  
Severity: normal
+
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.
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
  
Severity: normal
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14483 14483]
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.
 
  
 +
Description: Detect stride IO mode in read-ahead
  
Severity: normal
+
Details: When a client does stride read, read-ahead should detect that and read-ahead pages according to the detected stride pattern.
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
  
Severity: normal
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15033 15033]
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.  
 
  
 +
Description: build for X2 fails
  
Severity: normal
+
Details: fix compile issue on Cray systems.
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: enhancement
  
Severity: normal
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13371 13371]
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.
 
  
 +
Description: implement readv/writev APIs(aio_read/aio_writes in newer kernels)
  
Severity: normal
+
Details: This greatly improves speed of NFS writes on 2.6 kernels.
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
  
Severity: normal
+
Frequency: only on PPC/SLES10
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.
 
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14855 14855]
  
Severity: normal
+
Description: "BITS_PER_LONG is not 32 or 64" in linux/idr.h
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.  
 
  
 +
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
+
*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.
 
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14257 14257]
  
Severity: normal
+
Description: LASSERT on MDS when client holding flock lock dies
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.
 
  
 +
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
+
*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.
 
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15188 15188]
  
Severity: normal
+
Description: MDS deadlock with many ll_sync_lov threads and I/O stalled
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.
 
  
 +
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: normal
+
*Severity: minor
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.
 
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15566 15566]
  
Severity: normal
+
Description: Update an obsolete wirecheck.c generator
Frequency: only for i686
 
Bugzilla: 12695
 
Description: 1.4.11 RC1 build fails for RHEL 4, i686
 
Details: Fixed config variable for build.  
 
  
 +
Details: Update wirecheck.c/wirehdr.c and regenerate wiretest.c
  
Severity: normal
+
*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
 
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14712 14712]
  
Severity: normal
+
Description: Client can panic on open sometimes
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.
 
  
 +
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
+
*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.
 
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14410 14410]
  
Severity: normal
+
Description: performance in 1.6.3
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.  
 
  
 +
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
+
*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.
 
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15198 15198]
  
Severity: normal
+
Description: LDLM soft lockups - improvement
Frequency: rare
+
 
Bugzilla: 11324
+
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.
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
  
Severity: normal
 
 
Frequency: rare
 
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.
 
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14036 14036]
 +
 +
Description: lfs quota fails with deactivated OSTS
  
Severity: normal
+
Details: With this patch, three improvements are included:
Bugzilla: 11301
+
    1. detete the softlimit in mds and osts when use "lfs quota".
Description: parallel lock callbacks
+
    2. display the inaccurate data in the output of "lfs quota".
Details: Instead of sending blocking and completion callbacks as separated requests, adding them to a set and sending in parallel.  
+
    3. try to get quota info when "lfs quota" is executed.
  
 +
*Severity: normal
  
Severity: normal
+
Frequency: rare
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.
 
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15776 15776]
  
Severity: normal
+
Description: Extent locks not granted with no conflicts sometimes.
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.  
 
  
 +
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: normal
+
Severity: major
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.
 
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=15712 15712]
  
Severity: normal
+
Description: ksocknal_create_conn() hit ASSERTION during connection race
Frequency: only for SLES9
 
Bugzilla: 12543
 
Description: Routinely utilize latest Quadrics drivers in CFS releases
 
Details: Update patch qsnet-suse-2.6.patch.
 
  
 +
Details: ksocknal_create_conn() hit ASSERTION during connection race
  
Severity: normal
+
Severity: major
Frequency: only for sles10
 
Bugzilla: 12771
 
Description: Update patches for SLES 10 SP1 kernel.
 
Details: Update the patch vfs_intent-2.6-sles10.patch.
 
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13983 13983]
  
Severity: normal
+
Description: ksocknal_send_hello() hit ASSERTION while connecting race
Frequency: rare
+
 
Bugzilla: 12543
+
Details: ksocknal_send_hello() hit ASSERTION while connecting race
Description: Routinely utilize latest Quadrics drivers in CFS releases
+
 
Details: Update patch qsnet-rhel4-2.6.patch.
+
Severity: major
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14425 14425]
  
Severity: normal
+
Description: o2iblnd/ptllnd credit deadlock in a routed config.
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
 
  
 +
Details: o2iblnd/ptllnd credit deadlock in a routed config.
  
 
Severity: normal
 
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.
 
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14956 14956]
  
Severity: normal
+
Description: High load after starting lnet
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.
 
  
 +
Details: gmlnd should sleep in rx thread in interruptible way. Otherwise, uptime utility reports high load that looks confusingly.
  
 
Severity: normal
 
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.
 
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14838 14838]
 +
 +
Description: ksocklnd fails to establish connection if accept_port is high
  
Severity: minor
+
Details: PID remapping must not be done for active (outgoing) connections
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.
 
  
 +
=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)
  
Severity: minor
+
Client support for unpatched kernels: (see [[Patchless Client]]) 2.6.16 - 2.6.22 vanilla (kernel.org)
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
 
  
 +
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).
  
Severity: minor
+
Recommended e2fsprogs version: 1.40.4-cfs1
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().  
 
  
 +
Note that reiserfs quotas are disabled on SLES 10 in this kernel.
  
Severity: minor
+
RHEL 4 (patched) and RHEL 5/SLES 10 (patchless) clients behave differently on 'cd' to a removed cwd "./" (refer to Bugzilla 14399).
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: critical
  
Severity: minor
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14793  14793 ]
Frequency: rare
+
 
Bugzilla: 11658
+
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.
Description: log_commit_thread vs filter_destroy race leads to crash
 
Details: Take import reference before releasing llog record semaphore
 
  
  
Severity: minor
+
*Severity: critical
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.
 
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14858  14858 ]
  
Severity: minor
+
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.
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
+
*Severity: critical
Frequency: always
 
Bugzilla: 12747
 
Description: fix mal-formatted messages
 
Details: fix some mal-formatted DEBUG_REQ and LCONSOLE_ERROR_MSG messages
 
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14876  14876 ]
  
Severity: minor
+
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.
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
+
*Severity: normal
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.
 
  
 +
Frequency: RHEL4 only
  
Severity: minor
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14618  14618 ]
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.  
 
  
 +
Description: mkfs is very slow on IA64/RHEL4
  
Severity: minor
+
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.
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
+
*Severity: major
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.
 
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14775  14775 ]
  
Severity: minor
+
Description: Client not clear own cache if answer to reconnect is lost.
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.  
 
  
 +
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.0 to v1.6.0.1
+
=Changes from v1.6.4.1 to v1.6.4.2=
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.  
 
  
 +
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)
  
Severity: normal
+
Client support for unpatched kernels: (see [[Patchless Client]]) 2.6.16 - 2.6.22 vanilla (kernel.org)
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.  
 
  
 +
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).
  
Severity: normal
+
Recommended e2fsprogs version: 1.40.4-cfs1
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.  
 
  
 +
Note that reiserfs quotas are disabled on SLES 10 in this kernel.
  
Changes from v1.4.10 to v1.6.0
+
RHEL 4 (patched) and RHEL 5/SLES 10 (patchless) clients behave differently on 'cd' to a removed cwd "./" (refer to Bugzilla 14399).
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 https://mail.clusterfs.com/wikis/lustre/MountConf 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 https://mail.clusterfs.com/wikis/lustre/PatchlessClient) 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: critical
  
Severity: enhancement
+
Frequency: only for relatively new filesystems, when OSTs are in recovery
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 https://mail.clusterfs.com/wikis/lustre/MountConf for details.
 
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14631  14631 ]
  
Severity: enhancement
+
Description: OST objects below id 20000 are deleted, causing data loss
Bugzilla: 4482
 
Description: dynamic OST addition
 
Details: OSTs can now be added to a live filesystem
 
  
 +
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: 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
+
*Severity: major
Bugzilla: 4899
 
Description: parallel, asynchronous orphan cleanup
 
Details: orphan cleanup is now performed in separate threads for each OST, allowing parallel non-blocking operation.
 
  
 +
Frequency: rare, depends on device drivers and load
  
Severity: enhancement
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14529 14529]
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.  
 
  
 +
Description: MDS or OSS nodes crash due to stack overflow
  
Severity: enhancement
+
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.
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.  
 
  
 +
=Changes from v1.6.4 to v1.6.4.1=
  
Severity: enhancement
+
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
Bugzilla: 10547
 
Description: Lustre message v2
 
Details: Add lustre message format v2.  
 
  
 +
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)
  
Severity: enhancement
+
Client support for unpatched kernels: (see [[Patchless Client]]) 2.6.16 - 2.6.22 vanilla (kernel.org)
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.  
 
  
 +
Due to recently discovered recovery problems, we do not recommend using patchless RHEL 4 clients with this or any earlier release.
  
Severity: enhancement
+
Recommended e2fsprogs version: 1.40.2-cfs1
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.
 
  
 +
Note that reiserfs quotas are disabled on SLES 10 in this kernel.
  
Severity: enhancement
+
*Severity: major
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.
 
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14433 14433]
  
Severity: enhancement
+
Description: Oops on connection from 1.6.3 client  
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.
 
  
 +
Frequency: always, on connection from 1.6.3 client
  
Severity: enhancement
+
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.
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.  
 
  
 +
=Changes from v1.6.3 to v1.6.4=
  
Severity: enhancement
+
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
Bugzilla: 22485
 
Description: per-client statistics on server
 
Details: Add ldlm and operations statistics for each client in /proc/fs/lustre/mds|obdfilter/*/exports/  
 
  
 +
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)
  
Severity: enhancement
+
Client support for unpatched kernels: (see [[Patchless Client]]) 2.6.16 - 2.6.22 vanilla (kernel.org)
Bugzilla: 22486
 
Description: improved MDT statistics
 
Details: Add detailed MDT operations statistics in /proc/fs/lustre/mds/*/stats
 
  
 +
Due to recently discovered recovery problems, we do not recommend using patchless RHEL 4 clients with this or any earlier release.
  
Severity: enhancement
+
Recommended e2fsprogs version: 1.40.2-cfs1
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]
 
  
 +
Note that reiserfs quotas are disabled on SLES 10 in this kernel.
  
Severity: enhancement
+
*Severity: enhancement
Bugzilla: 2258
 
Description: Dynamic service threads
 
Details: Within a small range, start extra service threads automatically when the request queue builds up.
 
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11686 11686]
  
Severity: enhancement
+
Description: Console message flood
Bugzilla: 11229
 
Description: Easy OST removal
 
Details: OSTs can be permanently deactivated with e.g. 'lctl conf_param lustre-OST0001.osc.active=0'
 
  
 +
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: 11335
 
Description: MGS proc entries
 
Details: Added basic proc entries for the MGS showing what filesystems are served.
 
  
 +
*Severity: enhancement
  
Severity: enhancement
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13521 13521]
Bugzilla: 10998
 
Description: provide MGS failover
 
Details: Added config lock reacquisition after MGS server failover.  
 
  
 +
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: 11461
 
Description: add Linux 2.4 support
 
Details: Added support for RHEL 2.4.21 kernel for 1.6 servers and clients
 
  
 +
*Severity: enhancement
  
Severity: enhancement
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13128 13128]
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.  
 
  
 +
Description: add --type and --size parameters to lfs find
  
Severity: enhancement
+
Details: Enhance lfs find by adding filetype and filesize parameters. Also multiple OBDs can now be specified for the --obd option.  
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
+
*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.
 
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11270 11270]
  
Severity: enhancement
+
Description: eliminate client locks in face of contention
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.
 
  
 +
Details: file contention detection and lockless i/o implementation for contended files.
  
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: enhancement
  
Severity: major
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12411 12411]
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.  
 
  
 +
Description: Remove client patches from SLES 10 kernel.
  
Severity: major
+
Details: This causes SLES 10 clients to behave as patchless clients even on a Lustre-patched (server) kernel.  
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
+
*Severity: enhancement
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.
 
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=2369 2369 ]
  
Severity: major
+
Description: use i_size_read and i_size_write in 2.6 port
Frequency: only for devices with external journals
+
 
Bugzilla: 10719
+
Details: replace inode->i_size access with i_size_read/write()
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
+
*Severity: enhancement
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.
 
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13454 13454]
  
Severity: normal
+
Description: Add jbd statistics patch for RHEL5 and 2.6.18-vanilla.  
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
+
*Severity: enhancement
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.
 
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13518 13518]
  
Severity: minor
+
Description: Kernel patches update for RHEL4 2.6.9-55.0.6.  
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.  
 
  
 +
Details: Modify vm-tunables-rhel4.patch.
  
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: enhancement
  
Severity: minor
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13452 13452]
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").  
 
  
 +
Description: Kernel config for 2.6.18-vanilla.
  
Severity: minor
+
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.  
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
+
*Severity: enhancement
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
 
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13207 13207]
  
Severity: minor
+
Description: adapt the lustre_config script to support the upgrade case
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.
 
  
 +
Details: Add "-u" option for lustre_config script to support upgrading 1.4 server targets to 1.6 in parallel.
  
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
+
*Severity: critical
Bugzilla: 10916
 
Description: added LNET self test
 
Details: landing b_self_test
 
  
 +
Frequency: always
  
Severity: major
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13751 13751]
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.
 
  
 +
Description: Kernel patches update for RHEL5 2.6.18-8.1.14.el5.
  
Severity: normal
+
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).
Bugzilla: 11680
 
Description: make panic on lbug configurable
 
  
  
Severity: minor
+
*Severity: critical
Bugzilla: 13288
 
Description: Initialize cpumask before use
 
  
 +
Frequency: always
  
Severity: minor
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13748 13748]
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.  
 
  
 +
Description: Update RHEL 4 kernel to fix local root privilege escalation.
  
Severity: minor
+
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.  
Details: lnet_clear_peer_table can wait forever if user forgets to clear a lazy portal.  
 
  
  
Severity: minor
+
*Severity: major
Details: libcfs_id2str should check pid against LNET_PID_ANY.
 
  
 +
Frequency: occasional
  
Severity: minor
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14353 14353]
Frequency: rare
 
Bugzilla: 12227
 
Description: cfs_duration_{u,n}sec() wrongly calculate nanosecond part of struct timeval.  
 
Details: do_div() macro is used incorrectly.  
 
  
 +
Description: excessive CPU consumption on client reduces IO performance
  
Changes from v1.4.9 to v1.6.0
+
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.  
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
+
*Severity: major
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.
 
  
 +
Frequency: occasional
  
Severity: enhancement
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13917 13917]
Bugzilla: 11094
 
Description: Multiple instances for o2iblnd
 
Details: Allow multiple instances of o2iblnd to enable networking over multiple HCAs and routing between them.  
 
  
 +
Description: MDS hang or stay in waiting lock
  
Severity: major
+
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.  
Frequency: rare
 
Bugzilla: 12458
 
Description: Assertion failure in kernel ptllnd caused by posting passive bulk buffers before connection establishment complete.  
 
  
  
Severity: major
+
*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.
 
  
 +
Frequency: occasional
  
Severity: major
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11710 11710]
Frequency: rare
 
Bugzilla: 12432
 
Description: Kernel ptllnd lock ordering issue could hang a node.  
 
  
 +
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: major
 
Frequency: rare
 
Bugzilla: 12016
 
Description: node crash on socket teardown race
 
  
 +
*Severity: normal
  
Severity: major
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12302 12302]
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.  
 
  
 +
Description: new userspace socklnd
  
Severity: major
+
Details: Old userspace tcpnal that resided in lnet/ulnds/socklnd replaced with new one - usocklnd.  
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
+
*Severity: normal
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.
 
  
 +
Frequency: occasional
  
Severity: major
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13730 13730]
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.  
 
  
 +
Description: Do not fail import if osc_interpret_create gets -EAGAIN
  
Severity: major
+
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.  
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
+
*Severity: normal
Frequency: rare
 
Description: gmlnd ignored some transmit errors when finalizing lnet messages.
 
  
 +
Frequency: when removing large files
  
Severity: normal
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13181 13181]
Frequency: rare
 
Bugzilla: 11472
 
Description: Changed the default kqswlnd ntxmsg=512
 
  
 +
Description: scheduling issue during removal of large Lustre files
  
Severity: minor
+
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).  
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: normal
Frequency: rare
 
Description: ptllnd logs a piece of incorrect debug info in kptllnd_peer_handle_hello.
 
  
 +
Frequency: always
  
Severity: minor
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13358 13358]
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.  
 
  
 +
Description: 1.4.11 Can't handle directories with stripe set and extended ACLs
  
Severity: minor
+
Details: Impossible (EPROTO is returned) to access a directory that has a non-default striping and ACLs.
Frequency: 'lctl peer_list' issued on a mx net
 
Bugzilla: 12237
 
Description: Enable lctl's peer_list for MXLND
 
  
  
Changes from v1.4.9 to v1.4.10
+
*Severity: normal
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 (SLES 10)
 
Recommended e2fsprogs version: 1.39.cfs5
 
Note that reiserfs quotas are disabled on SLES 10 in this kernel
 
Severity: enhancement
 
Bugzilla: 11667
 
Description: Add "/proc/sys/lustre/debug_peer_on_timeout" (liblustre envirable: LIBLUSTRE_DEBUG_PEER_ON_TIMEOUT) boolean to control whether to print peer debug info when a client's RPC times out.
 
  
 +
Frequency: only on ppc
  
Severity: enhancement
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12234 12234]
Bugzilla: 11563
 
Description: Add -o localflock option to simulate old noflock behaviour.  
 
Details: This will achieve local-only flock/fcntl locks coherentness.  
 
  
 +
Description: /proc/fs/lustre/devices broken on ppc
  
Severity: enhancement
+
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.  
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
+
*Severity: normal
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.
 
  
 +
Frequency: only for rhel5
  
Severity: critical
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13616 13616]
Frequency: occasional, depends on client load and configuration
 
Bugzilla: 12181 , 12203
 
Description: data loss for recently-modified files
 
Details: In some cases it is possible that recently written or created files may not be written to disk in a timely manner (this should normally be within 30s unless client IO load is very high). The problem appears as zero-length files or files that are a multiple of 1MB in size after a client crash or client eviction that are missing data at the end of the file.  
 
  
 +
Description: Kernel patches update for RHEL5 2.6.18-8.1.10.el5.
  
Severity: major
+
Details: Modify the target file & which_kernel.  
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
+
*Severity: normal
Frequency: rare
 
Bugzilla: 10866
 
Description: proc file read during shutdown sometimes raced obd removal, causing node crash
 
Details: Add lock to prevent obd access after proc file removal.
 
  
 +
Frequency: if the uninit_groups feature is enabled on ldiskfs
  
Severity: major
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13706 13706]
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.  
 
  
 +
Description: e2fsck reports "invalid unused inodes count"
  
Severity: major
+
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.  
Frequency: always
 
Bugzilla: 11710
 
Description: add support PG_writeback bit
 
Details: add support for PG_writeback bit for Lustre, for more carefull work with page cache in 2.6 kernel. This also fix some deadlocks and remove hack for work O_SYNC with 2.6 kernel.  
 
  
  
Severity: normal
+
*Severity: normal
Frequency: frequent on thin XT3 nodes
 
Bugzilla: 10802
 
Description: UUID collision on thin XT3 Linux nodes
 
Details: UUIDs on Compute Node Linux XT3 nodes were not generated randomly, since we relied on an insufficiently-seeded PRNG.
 
  
 +
Frequency: only if filesystem is inconsistent
  
Severity: normal
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11673 11673]
Frequency: rare
 
Bugzilla: 11693
 
Description: OSS hangs after "All ost request buffers busy"
 
Details: A deadlock between quota and journal operations caused OSS hangs after printing "All ost request buffers busy."
 
  
 +
Description: handle "serious error: objid * already exists" more gracefully
  
Severity: normal
+
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.  
Frequency: always
 
Bugzilla: 10214
 
Description: make O_SYNC working on 2.6 kernels
 
Details: 2.6 kernels use different method for mark pages for write, so need add a code to lustre for O_SYNC work.  
 
  
  
Severity: normal
+
*Severity: normal
Frequency: Only for files larger than 4GB on 32-bit clients.
 
Bugzilla: 11237
 
Description: improperly doing page alignment of locks
 
Details: Modify lustre core code to use CFS_PAGE_* defines instead of PAGE_*. Make CFS_PAGE_MASK a 64-bit mask.
 
  
 
Severity: normal
 
 
Frequency: rarely
 
Frequency: rarely
Bugzilla: 11203
 
Description: RPCs being resent when they shouldn't be
 
Details: Some RPCs that should not be resent are being resent. This can cause inconsistencies in the RPC state machine. Do not resend such requests.
 
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13570 13570]
  
Severity: normal
+
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.
Frequency: rare, only with NFS export
 
Bugzilla: 11669
 
Description: Crash on NFS re-export node
 
Details: under very unusual load conditions an assertion is hit in ll_intent_file_open()
 
  
 +
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: always
 
Bugzilla: 10901
 
Description: large O_DIRECT requests fail under memory pressure/fragmentation
 
Details: Large single O_DIRECT read and write calls can fail to allocate a sufficiently large buffer to process the request. In case of allocation failure the allocation is retried with a smaller buffer and broken into smaller requests.
 
  
 +
*Severity: normal
  
Severity: normal
+
Frequency: when using O_DIRECT and quotas
Frequency: always
 
Bugzilla: 11090
 
Description: versioning check is incomplete
 
Details: Checking the version difference of client vs. server, report error if the gap is too big.
 
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13930 13930]
  
Severity: minor
+
Description: Incorrect file ownership on O_DIRECT output files
Frequency: always on liblustre builds
 
Bugzilla: 11175
 
Description: Cleanup compiler warnings on liblustre
 
  
 +
Details: block usage reported by 'lfs quota' does not take into account files that have been written with O_DIRECT.
  
Severity: minor
 
Frequency: always on liblustre builds on XT3
 
Bugzilla: 12146
 
Description: LC_CONFIG_CDEBUG don't run while build liblustre on XT3.
 
  
 +
*Severity: normal
  
Severity: minor
 
 
Frequency: always
 
Frequency: always
Bugzilla: 11110
 
Description: Failure to close file and release space on NFS
 
Details: Put inode details into lock acquired in ll_intent_file_open. Use mdc_intent_lock in ll_intent_open to properly detect all kind of errors unhandled by mdc_enqueue.
 
  
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13976 13976]
  
Changes from v1.4.8 to v1.4.9
+
Description: touch file failed when fs is not full
Support for kernels: 2.6.16.21-0.8 (SLES10), 2.6.9-42.0.3EL (RHEL 4), 2.6.5-7.276 (SLES 9), 2.4.21-47.0.1.EL (RHEL 3), 2.6.12.6 vanilla (kernel.org)
 
Support for networks: socklnd - kernels up to 2.6.15 (I believe this is accurate, SLES10), 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
 
Recommended e2fsprogs version: 1.39.cfs2-0
 
The backwards-compatible /proc/sys/portals symlink has been removed in this release. Before upgrading, please ensure that you change any configuration scripts or /etc/sysctl.conf files that access /proc/sys/portals/* or sysctl portals.* to use the corresponding entry in /proc/sys/lnet or sysctl lnet.*. This change can be made in advance of the upgrade on any system running Lustre 1.4.6 or newer, since /proc/sys/lnet was added in that version.
 
Note that reiserfs quotas are temporarily disabled on SLES 10 in this kernel.
 
Severity: enhancement
 
Bugzilla: 11245
 
Description: new ko2iblnd module parameter: ib_mtu
 
Details: the default IB MTU of 2048 performs badly on 23108 Tavor HCAs. You can avoid this problem by setting the MTU to 1024 using this module parameter.
 
  
Severity: enhancement
+
Details: OST in recovery should not be discarded by MDS in alloc_qos(), otherwise we can get ENOSP while fs is not full.  
Bugzilla: 11118/11620
 
Description: ptllnd small request message buffer alignment fix
 
Details: Set the PTL_MD_LOCAL_ALIGN8 option on small message receives. Round up small message size on sends in case this option is not supported. 11620 was a defect in the initial implementation which effectively asserted all peers had to be running the correct protocol version which was fixed by always NAK-ing such requests and handling any misalignments they introduce.  
 
  
Severity: enhancement
 
Bugzilla: 11250
 
Description: Patchless ZC(zero copy) socklnd
 
Details: New protocol for socklnd, socklnd can support zero copy without kernel patch, it's compatible with old socklnd. Checksum is moved from tunables to modparams.
 
  
Severity: enhancement
+
*Severity: normal
Bugzilla: 11234
 
Description: Dump XT3 portals traces on kptllnd timeout
 
Details: Set the kptllnd module parameter "ptltrace_on_timeout=1" to dump Cray portals debug traces to a file. The kptllnd module parameter "ptltrace_basename", default "/tmp/lnet-ptltrace", is the basename of the dump file.
 
  
Severity: enhancement
+
Frequency: always
Bugzilla: 10316
 
Description: Allow /proc/sys/lnet/debug to be set symbolically
 
Details: Allow debug and subsystem debug values to be read/set by name in addition to numerically, for ease of use.
 
  
Severity: critical
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13805 13805]
Frequency: MDS failover only, very rarely
 
Bugzilla: 11125
 
Description: "went back in time" messages on mds failover
 
Details: The greatest transno may be lost when the current operation finishes with an error (transno==0) and the client's last_rcvd record is over-written. Save the greatest transno in the mds_last_transno for this case.  
 
  
Severity: major on XT3
+
Description: data checksumming impacts single node performance
Bugzilla: none
 
Description: libcfs overwrites /proc/sys/portals
 
Details: libcfs created a symlink from /proc/sys/portals to /proc/sys/lnet for backwards compatibility. This is no longer required and makes the Cray portals /proc variables inaccessible.
 
  
Severity: major
+
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.  
Frequency: infrequent
 
Bugzilla: 11308
 
Description: kernel ptllnd fix bug in connection re-establishment
 
Details: Kernel ptllnd could produce protocol errors e.g. illegal matchbits and/or violate the credit flow protocol when trying to re-establish a connection with a peer after an error or timeout.  
 
  
Severity: major
 
Frequency: Cray XT3 with more than 4000 clients and multiple jobs
 
Bugzilla: 10906
 
Description: many clients connecting with IO in progress causes connect timeouts
 
Details: Avoid synchronous journal commits to avoid delays caused by many clients connecting/disconnecting when bulk IO is in progress. Queue liblustre connect requests on OST_REQUEST_PORTAL instead of OST_IO_PORTAL to avoid delays behind potentially many pending slow IO requests.
 
  
Severity: major
+
*Severity: minor
Frequency: rare
 
Bugzilla: 10891
 
Description: handle->h_buffer_credits > 0, assertion failure
 
Details: h_buffer_credits is zero after truncate, causing assertion failure. This patch extends the transaction or creates new one after truncate.
 
  
Severity: major
+
Frequency: when lov objid is destroyed
Frequency: rarely, using CFS RAID5 patches in non-standard kernel series
 
Bugzilla: 11313
 
Description: stale data returned from RAID cache
 
Details: If only a small amount of IO is done to the RAID device before reading it again it is possible to get stale data from the RAID cache instead of reading it from disk.
 
  
Severity: major
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=14222 14222]
Frequency: always for 2.6.16.27-0.6 sles10 kernel
 
Bugzilla: 11641
 
Description: lbuild failure
 
Details: extra -0.6 in SLES10 kernel version confuses lbuild. lustre and Linux kernel calculate different kernel release strings if a localversion file is present in the kernel tarball. The fix deletes the localversion file.  
 
  
Severity: minor
+
Description: mds can't recreate lov objid file.  
Bugzilla: 11312
 
Description: OFED FMR API change
 
Details: This changes parameter usage to reflect a change in ib_fmr_pool_map_phys() between OFED 1.0 and OFED 1.1. Note that FMR support is only used in experimental versions of the o2iblnd - this change does not affect standard usage at all.  
 
  
Severity: minor
+
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.  
Frequency: rarely
 
Description: When kib(nal|lnd)_del_peer() is called upon a peer whose ibp_tx_queue is not empty, kib(nal|lnd)_destroy_peer()'s 'LASSERT(list_empty(&peer->ibp_tx_queue))' will fail.  
 
  
Severity: minor
 
Frequency: rarely
 
Description: When ksocknal_del_peer() is called upon a peer whose ksnp_tx_queue is not empty, ksocknal_destroy_peer()'s 'LASSERT(list_empty(&peer->ksnp_tx_queue))' will fail.
 
  
Severity: minor
+
*Severity: minor
Frequency: very rarely
 
Bugzilla: 10727
 
Description: If ksocknal_lib_setup_sock() fails, a ref on peer is lost. If connd connects a route which has been closed by ksocknal_shutdown(), ksocknal_create_routes() may create new routes which hold references on the peer, causing shutdown process to wait for peer to disappear forever.
 
  
Severity: minor
+
Frequency: rarely
Frequency: always for specific kernels and striping counts
 
Bugzilla: 11042
 
Description: client may get "Matching packet too big" without ACL support
 
Details: Clients compiled without CONFIG_FS_POSIX_ACL get an error message when trying to access files in certain configurations. The clients should in fact be denied when mounting because they do not understand ACLs.
 
  
Severity: minor
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12948 12948]
Frequency: always with random mmap IO to multi-striped file
 
Bugzilla: 10919
 
Description: mmap write might be lost if we are writing to a 'hole' in stripe
 
Details: Only if the hole is at the end of OST object so that kms is too small. Fix is to increase kms accordingly in ll_nopage.  
 
  
Severity: minor
+
Description: buffer overruns could theoretically occur
Frequency: rare
 
Bugzilla: 11040
 
Description: Creating too long symlink causes lustre errors
 
Details: Check symlink and name lengths before sending requests to MDS.
 
  
Severity: minor
+
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.  
Frequency: MDS failover only, very rarely
 
Bugzilla: 11277
 
Description: clients may get ASSERTION(granted_lock != NULL)
 
Details: When request was taking a long time, and a client was resending a getattr by name lock request. The were multiple lock requests with the same client lock handle and mds_getattr_name->fixup_handle_for_resent_request found one of the lock handles but later failed with ASSERTION(granted_lock != NULL).  
 
  
Severity: minor
 
Frequency: depends on hardware
 
Bugzilla: 11540
 
Description: lustre write performance loss in the SLES10 kernel
 
Details: the performance loss is caused by using of write barriers in the ext3 code. The SLES10 kernel turns barrier support on by default. The fix is to undo that change for ldiskfs.
 
  
Severity: normal
+
*Severity: minor
Frequency: when ptlrpc is under heavy use and runs out of request buffer
 
Bugzilla: 11318
 
Description: In lnet_match_blocked_msg(), md can be used without holding a ref on it.
 
  
Severity: normal
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13732 13732]
Frequency: only in configurations with LNET routers
 
Bugzilla: 10316
 
Description: routes automatically marked down and recovered
 
Details: In configurations with LNET routers if a router fails routers now actively try to recover routes that are down, unless they are marked down by an administrator.  
 
  
Severity: normal
+
Description: change order of libsysio includes
Frequency: occasionally with multiple writers to a single file
 
Bugzilla: 11081
 
Description: shared writes to file may result in wrong size reported by stat()
 
Details: Allow growing of kms when extent lock is cancelled
 
  
Severity: normal
+
Details: '#include sysio.h' should always come before '#include xtio.h'
Frequency: rare, only if OST filesystem is inconsistent with MDS filesystem
 
Bugzilla: 11211
 
Description: writes to a missing object would leak memory on the OST
 
Details: If there is an inconsistency between the MDS and OST filesystems, such that the MDS references an object that doesn't exist, writes to that object will leak memory due to incorrect cleanup in the error handling path, eventually running out of memory on the OST.  
 
  
Severity: normal
+
=Changes from v1.6.2 to v1.6.3=
Frequency: only if flock is enabled (not on by default)
+
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
Bugzilla: 11415
 
Description: posix locks not released on fd closure on 2.6.9+
 
Details: We failed to add posix locks to list of inode locks on 2.6.9+ kernels, this caused such locks not to be released on fd close and then assertions on fs unmount about still used locks.  
 
  
Severity: normal
+
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)
Frequency: NFS re-export or patchless client
 
Bugzilla: 11179, 10796
 
Description: Crash on NFS re-export node (__d_move)
 
Details: We do not want to hash the dentry is we don't have a lock. But if this dentry is later used in d_move, we'd hit uninitialised list head d_hash, so we just do this to init d_hash field but leave dentry unhashed.  
 
  
Severity: normal
+
Client support for unpatched kernels: (see http://wiki.lustre.org/index.php?title=Patchless_Client) 2.6.16 - 2.6.22 vanilla (kernel.org)
Frequency: NFS re-export or patchless client
 
Bugzilla: 11135
 
Description: NFS exports has problem with symbolic link
 
Details: lustre client don`t propertly install dentry when re-exported to nfs or run patchless client.  
 
  
Severity: normal
+
Due to recently discovered recovery problems, we do not recommend using patchless RHEL 4 clients with this or any earlier release.  
Frequency: NFS re-export or patchless client
 
Bugzilla: 10796
 
Description: Various nfs/patchless fixes.
 
Details: fixes reuse disconected alias for lookup process - this fixes warning "find_exported_dentry: npd != pd", fix permission error with open files at nfs. fix apply umask when do revalidate.  
 
  
Severity: normal
+
Recommended e2fsprogs version: 1.40.2-cfs1
Frequency: occasional
 
Bugzilla: 11191
 
Description: Crash on NFS re-export node
 
Details: calling clear_page on the wrong pointer triggered oops in generic_mapping_read().
 
  
Severity: normal
+
Note that reiserfs quotas are disabled on SLES 10 in this kernel.  
Frequency: rarely, using O_DIRECT IO
 
Bugzilla: 10903
 
Description: unaligned directio crashes client with LASSERT
 
Details: check for unaligned buffers before trying any requests.  
 
  
Changes from v1.4.7.1 to v1.4.8
+
*Severity: enhancement
Support for kernels: 2.6.9-42.0.3EL (RHEL 4) 2.6.5-7.276 (SLES 9) 2.4.21-47.0.1.EL (RHEL 3) 2.6.12.6 vanilla (kernel.org)
 
Severity: enhancement
 
Bugzilla: 10452
 
Description: Allow recovery/failover for liblustre clients.
 
Details: liblustre clients were unaware of failover configurations until now.
 
  
Severity: enhancement
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12192 12192]
Bugzilla: 10743
 
Description: user file locks should fail when not mounting with flock option
 
Details: Set up an error-returning stub in ll_file_operations.lock field to prevent incorrect behaviour when client is mounted without flock option. Also, set up properly f_op->flock field for RHEL4 kernels.  
 
  
Severity: enhancement
+
Description: llapi_file_create() does not allow some changes
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
+
Details: add llapi_file_open() that allows specifying the file creation mode and open flags, and also returns an open file handle.  
Bugzilla: 10889
 
Description: Checksum enhancements
 
Details: New checksum enhancements allow for resending RPCs that failed checksum checks.  
 
  
Severity: enhancement
 
Bugzilla: 7376
 
Description: Tunables on number of dirty pages in cacche
 
Details: Allow to set limit on number of dirty pages cached.
 
  
Severity: major
+
*Severity: enhancement
Frequency: quota enabled and large files being deleted
 
Bugzilla: 10707
 
Description: releasing more than 4GB of quota at once hangs OST
 
Details: If a user deletes more than 4GB of files on a single OST it will cause the OST to spin in an infinite loop. Release quota in < 4GB chunks, or use a 64-bit value for 1.4.7.1+.
 
  
Severity: major
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12743 12743]
Frequency: rarely (truncate to non-zero file size after write under load)
 
Bugzilla: 10730, 10687
 
Description: Files padded with zeros to next 4K multiple
 
Details: With filesystems mounted using the "extents" option (2.6 kernels) it is possible that files that are truncated to a non-zero size immediately after being written are filled with zero bytes beyond the truncated size. No file data is lost.  
 
  
Severity: major
+
Description: df doesn't work properly if diskfs blocksize != 4K
Frequency: extremely rare except on liblustre-based clients
 
Bugzilla: 10480
 
Description: Lustre space not freed when files are deleted
 
Details: Clean up open-unlinked files after client eviction. Previously the unlink was skipped and the files remained as orphans.
 
  
Severity: major
+
Details: Choose biggest blocksize of OST's as the LOV's blocksize.  
Frequency: always
 
Bugzilla: 11103
 
Description: Broke core dumps to lustre
 
Details: Negative dentry may be unhashed if parent does not have UPDATE lock, but some callers, e.g. do_coredump, expect dentry to be hashed after successful create, hash it in ll_create_it.  
 
  
Severity: minor
 
Frequency: rare
 
Bugzilla: 10845
 
Description: statfs data retrieved from /proc may be stale or zero
 
Details: When reading per-device statfs data from /proc, in the {kbytes,files}_{total,free,avail} files, it may appear as zero or be out of date.
 
  
Severity: minor
+
*Severity: enhancement
Frequency: systems with MD RAID1 external journal devices
 
Bugzilla: 10832
 
Description: lconf's call to blkid is confused by RAID1 journal devices
 
Details: Use the "blkid -l" flag to locate the MD RAID device instead of returning all block devices that match the journal UUID.
 
  
Severity: minor
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11248 11248]
Frequency: always if "lfs find" used on a local file/directory
 
Bugzilla: 10864
 
Description: "lfs find" segfaults if used on a local file/directory
 
Details: The case where a directory component was not specified wasn't handled correctly. Handle this properly.  
 
  
Severity: minor
+
Description: merge and cleanup kernel patches.  
Frequency: always on ia64
 
Bugzilla: 10905
 
Description: "lfs df" loops on printing out MDS statfs information
 
Details: The obd_ioctl_data was not initialized and in some systems this caused a failure during the ioctl that did not return an error. Initialize the struct and return an error on failure.  
 
  
Severity: minor
+
Details: Remove mnt_lustre_list in vfs_intent-2.6-rhel4.patch.  
Frequency: SLES 9 only
 
Bugzilla: 10667
 
Description: Error of copying files with lustre special EAs as root
 
Details: Client side always return success for setxattr call for lustre special xattr (currently only "trusted.lov").  
 
  
Severity: minor
 
Frequency: liblustre clients only
 
Bugzilla: 10883
 
Description: Race in 'instant cancel' lock handling could lead to such locks never to be granted in case of SMP MDS
 
Details: Do not destroy not yet granted but cbpending locks in handle_enqueue
 
  
Severity: minor
+
*Severity: enhancement
Frequency: replay/resend of open
 
Bugzilla: 10991
 
Description: non null lock assetion failure in mds_intent_policy
 
Details: Trying to replay/resend lockless open requests resulted in mds_open() returning 0 with no lock. Now it sets a flag if a lock is going to be returned.
 
  
Severity: normal
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13039 13039]
Frequency: always, for aggregate stripe size over 4GB
 
Bugzilla: 10725
 
Description: "lfs setstripe" fails assertion when setting 4GB+ stripe width
 
Details: Using "lfs setstripe" to set stripe size * stripe count over 4GB will fail the kernel with "ASSERTION(lsm->lsm_xfersize != 0)"
 
  
Severity: normal
+
Description: RedHat Update kernel for RHEL5
Frequency: always on ppc64
 
Bugzilla: 10634
 
Description: the write to an ext3 filesystem mounted with mballoc got stuck
 
Details: ext3_mb_generate_buddy() uses find_next_bit() which does not perform endianness conversion.
 
  
Severity: normal
+
Details: Kernel config file for RHEL5.  
Frequency: rarely on clusters with both ia64+i386 clients
 
Bugzilla: 10672
 
Description: ia64+i686 clients doing shared IO on the same file may LBUG
 
Details: In rare cases when both ia64+i686 (or other mixed-PAGE_SIZE) clients are doing concurrent writes to the same file it is possible that the ia64 clients may LASSERT because the OST extent locks are not PAGE_SIZE aligned. Ensure that grown locks are always aligned on the request boundary.  
 
  
Severity: normal
 
Frequency: always
 
Bugzilla: 7040
 
Description: Overwriting in use executable truncates on-disk binary image
 
Details: If one node attempts to overwrite an executable in use by another node, we now correctly return ETXTBSY instead of truncating the file.
 
  
Severity: normal
+
*Severity: enhancement
Frequency: always
 
Bugzilla: 2707
 
Description: chmod on Lustre root is propagated to other clients
 
Details: Re-validate root's dentry in ll_lookup_it to avoid having it invalid by the follow_mount time.
 
  
Severity: normal
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12446 12446]
Frequency: rare
 
Bugzilla: 10643
 
Description: client crash on unmount - lock still has references
 
Details: In some error handling cases it was possible to leak a lock reference on a client while accessing a file. This was not harmful to the client during operation, but would cause the client to crash when the filesystem is unmounted.  
 
  
Severity: normal
+
Description: OSS needs mutliple precreate threads
Frequency: always
 
Bugzilla: 10921
 
Description: ETXTBSY on mds though file not in use by client
 
Details: ETXTBSY is no longer incorrectly returned when attempting to chmod or chown a directory that the user previously tried to execute or a currently-executing binary.
 
  
Severity: normal
+
Details: Add ability to start more than one create thread per OSS.  
Frequency: rare
 
Bugzilla: 10999
 
Description: OST failure "would be an LBUG" in waiting_locks_callback()
 
Details: In some cases it was possible to send a blocking callback to a client doing a glimpse, even though that client didn't get a lock granted. When the glimpse lock is cancelled on the OST the freed lock is left on the waiting list and corrupted the list.  
 
  
Changes from v1.4.7 to v1.4.7.1
 
Support for kernels: 2.6.9-42.0.2.EL (RHEL 4) 2.6.5-7.276 (SLES 9) 2.4.21-40.EL (RHEL 3) 2.6.12.6 vanilla (kernel.org)
 
bug fix
 
Severity: major
 
Frequency: always on RHEL 3
 
Bugzilla: 10867
 
Description: Number of open files grows over time
 
Details: The number of open files grows over time, whether or not Lustre is started. This was due to a filp leak introduced by one of our kernel patches.
 
  
Changes from v1.4.6 to v1.4.7
+
*Severity: enhancement
Support for kernels: 2.6.9-42.EL (RHEL 4) 2.6.5-7.267 (SLES 9) 2.4.21-40.EL (RHEL 3) 2.6.12.6 vanilla (kernel.org)
 
Severity: enhancement
 
Bugzilla: 3627
 
Description: add TCP zero-copy support to kernel
 
Details: Add support to the kernel TCP stack to allow zero-copy bulk sends if the hardware supports scatter-gather and checksumming. This allows socklnd to do client-write and server-read more efficiently and reduce CPU utilization from skbuf copying.
 
  
Severity: enhancement
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13039 13039]
Bugzilla: 9340
 
Description: allow number of MDS service threads to be changed at module load
 
Details: It is now possible to change the number of MDS service threads running. Adding "options mds mds_num_threads={N}" to the MDS's /etc/modprobe.conf will set the number of threads for the next time Lustre is restarted (assuming the "mds" module is also reloaded at that time). The default number of threads will stay the same, 32 for most systems.  
 
  
Severity: enhancement
+
Description: RedHat Update kernel for RHEL5
Bugzilla: 10193 (patchless)
 
Description: Remove dependency on various unexported kernel interfaces.
 
Details: No longer need reparent_to_init, exit_mm, exit_files, sock_getsockopt, filemap_populate, FMODE_EXEC, put_filp.
 
  
Severity: enhancement
+
Details: Modify the kernel config file more closer RHEL5.  
Bugzilla: 10420
 
Description: Support NFS exporting on 2.6 kernels.
 
Details: Implement non-rawops metadata methods for NFS server to use without changing NFS server code.  
 
  
Severity: enhancement
 
Bugzilla: 9293, 9385
 
Description: MDS RPCs are serialised on client. This is unnecessary for some.
 
Details: Do not serialize getattr (non-intent version) and statfs.
 
  
Severity: Enhancement
+
*Severity: enhancement
Bugzilla: 10482
 
Description: Cache open file handles on client.
 
Details: MDS now will return special lock along with openhandle, if requested and client is allowed to hold openhandle, even if unused, until such a lock is revoked. Helps NFS a lot, since NFS is opening closing files for every read/write openration.
 
  
Severity: Enhancement
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13360 13360]
Bugzilla: 9291
 
Description: Cache open negative dentries on client when possible.
 
Details: Guard negative dentries with UPDATE lock on parent dir, drop negative dentries on lock revocation.  
 
  
Severity: enhancement
+
Description: Build failure against Centos5 (RHEL5)
Description: Include MPICH 1.2.6 Lustre ADIO interface patch
 
Details: In lustre/contrib/ or /usr/share/lustre in RPM a patch for MPICH is included to add Lustre-specific ADIO interfaces. This is based closely on the UFS ADIO layer and only differs in file creation, in order to allow the OST striping to be set. This is user-contributed code and not supported by CFS.
 
  
Severity: enhancement
+
Details: Define PAGE_SIZE when it isn't present.  
Frequency: Always
 
Bugzilla: 10248
 
Description: Allow fractional MB tunings for lustre in /proc/ filesystem.
 
Details: Many of the /proc/ tunables can only be tuned at a megabyte granularity. Now, Fractional MB granularity is be supported, this is very useful for low memory system.  
 
  
Severity: enhancement
 
Bugzilla: 9292
 
Description: Getattr by fid
 
Details: Getting a file attributes by its fid, obtaining UPDATE|LOOKUP locks, avoids extra getattr rpc requests to MDS, allows '/' to have locks and avoids getattr rpc requests for it on every stat.
 
  
Severity: enhancement
+
*Severity: enhancement
Bugzilla: 10462
 
Description: add client O_DIRECT support for 2.6 kernels
 
Details: It is now possible to do O_DIRECT reads and writes to files in the Lustre client mountpoint on 2.6 kernel clients.
 
  
Severity: enhancement
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11401 11401]
Bugzilla: 10446
 
Description: parallel glimpse, setattr, statfs, punch, destroy requests
 
Details: Sends glimpse, setattr, statfs, punch, destroy requests to OSTs in parallel, not waiting for response from every OST before sending a rpc to the next OST.  
 
  
Severity: enhancement
+
Description: client-side metadata stat-ahead during readdir(directory readahead)
Bugzilla: 10318
 
Description: Bring 'lfs find' closer in line with regular Linux find.
 
Details: lfs find util supports -atime, -mtime, -ctime, -maxdepth, -print, -print0 options and obtains all the needed info through the lustre ioctls.
 
  
Severity: enhancement
+
Details: perform client-side metadata stat-ahead when the client detects readdir and sequential stat of dir entries therein
Bugzilla: 6221
 
Description: support up to 1024 configured devices on one node
 
Details: change obd_dev array from statically allocated to dynamically allocated structs as they are first used to reduce memory usage
 
  
Severity: enhancement
 
Bugzilla: 2259
 
Description: clear OBD RPC statistics by writing to them
 
Details: It is now possible to clear the OBD RPC statistics by writing to the "stats" file.
 
  
Severity: critical
+
*Severity: enhancement
Frequency: Always, for 32-bit kernel without CONFIG_LBD and filesystem > 2TB
 
Bugzilla: 6191
 
Description: filesystem corruption for non-standard kernels and very large OSTs
 
Details: If a 32-bit kernel is compiled without CONFIG_LBD enabled and a filesystems larger than 2TB is mounted then the kernel will silently corrupt the start of the filesystem. CONFIG_LBD is enabled for all CFS-supported kernels, but the possibility of this happening with a modified kernel config exists.
 
  
Severity: major
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11230 11230]
Frequency: rare
 
Bugzilla: 5719, 9635, 9792, 9684
 
Description: OST (or MDS) trips assertions in (re)connection under heavy load
 
Details: If a server is under heavy load and cannot reply to new connection requests before the client resends the (re)connect, the connection handling code can behave badly if two service threads are concurrently handing separate (re)connections from the same client. Add better locking to the connection handling code, and ensure that only a single connection will be processed for a given client UUID, even if the lock is dropped.  
 
  
Severity: major
+
Description: Tune the kernel for good SCSI performance.  
Frequency: rare
 
Bugzilla: 9326, 10402, 10897
 
Description: client crash in ptlrpcd_wake() thread when sending async RPC
 
Details: It is possible that ptlrpcd_wake() dereferences a freed async RPC. In rare cases the ptlrpcd thread alread processed the RPC before ptlrpcd_wake() was called and the request was freed.  
 
  
Severity: major
+
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.  
Frequency: rare
 
Bugzilla: 10300
 
Description: OST crash if filesystem is unformatted or corrupt
 
Details: If an OST is started on a device that has never been formatted or if the filesystem is corrupt and cannot even mount then the error handling cleanup routines would dereference a NULL pointer.  
 
  
Severity: major
 
Frequency: rare (only with non-default dump_on_timeout debug enabled)
 
Bugzilla: 10397
 
Description: waiting_locks_callback trips kernel BUG if client is evicted
 
Details: Running with the dump_on_timeout debug flag turned on makes it possible that the waiting_locks_callback() can try to dump the Lustre kernel debug logs from an interrupt handler. Defer this log dumping to the expired_lock_main() thread.
 
  
Severity: major
+
*Severity: critical
Frequency: only very large systems with liblustre clients
 
Bugzilla: 7304
 
Description: slow eviction of liblustre clients with the "evict_by_nid" RPC
 
Details: Use asynchronous set_info RPCs to send the "evict_by_nid" to all OSTs in parallel. This allows the eviction of stale liblustre clients to proceed much faster than if they were done in series, and also offers similar improvements for other set_info RPCs.
 
  
Severity: major
+
Frequency: Always for filesystems larger than 2TB on 32-bit systems.
Frequency: Always, for filesystems larger than 2TB
 
Bugzilla: 6191
 
Description: ldiskfs crash at mount for filesystem larger than 2TB with mballoc
 
Details: Kenrel kmalloc limits allocations to 128kB and this prevents filesystems larger than 2TB to be mounted with mballoc enabled.  
 
  
Severity: major
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13547 13547] , [https://bugzilla.lustre.org/show_bug.cgi?id=13627 13627]
Frequency: during server recovery
 
Bugzilla: 10479
 
Description: crash after server is denying duplicate export
 
Details: If clients are resending connect requests to the server, the server refuses to allow a client to connect multiple times. Fixed a bug in the handling of this case.  
 
  
Severity: minor
+
Description: Data corruption for OSTs that are formatted larger than 2TB on 32-bit servers.  
Frequency: only if NFS exporting from client
 
Bugzilla: 10258
 
Description: NULL pointer deref in ll_iocontrol() if chattr mknod file
 
Details: If setting attributes on a file created under NFS that had never been opened it would be possible to oops the client if the file had no objects.  
 
  
Severity: minor
+
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.  
Frequency: always for liblustre
 
Bugzilla: 10290
 
Description: liblustre client does MDS+OSTs setattr RPC for each write
 
Details: When doing a write from a liblustre client, the client incorrectly issued an RPC to the MDS and each OST the file was striped over in order to update the timestamps. When writing with small chunks and many clients this could overwhelm the MDS with RPCs. In all cases it would slow down the write because these RPCs are unnecessary.  
 
  
Severity: minor
 
Frequency: Sometimes when using sys_sendfile
 
Bugzilla: 7020
 
Description: "page not covered by a lock" warnings from ll_readpage
 
Details: sendfile called ll_readpage without right page locks present. Now we introduced ll_file_sendfile that does necessary locking around call to generic_file_sendfile() much like we do in ll_file_read().
 
  
Severity: minor
+
*Severity: major
Frequency: rare (only users of deprecated and unsupported LDAP config)
 
Bugzilla: 9337
 
Description: write_conf for zeroconf mount queried LDAP incorrectly for client
 
Details: LDAP apparently contains 'lustreName' attributes instead of 'name'. A simple remapping of the name is sufficient.
 
  
Severity: minor
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13236 13236]
Frequency: common
 
Bugzilla: 10265
 
Description: excessive CPU usage during initial read phase on client
 
Details: During the initial read phase on a client, it would agressively retry readahead on the file, consuming too much CPU and impacting performance (since 1.4.5.8). Improve the readahead algorithm to avoid this, and also improve some other common cases (read of small files in particular, where "small" is files smaller than /proc/fs/lustre/llite/*/max_read_ahead_whole_mb, 2MB by default).  
 
  
Severity: minor
+
Description: TOE Kernel panic by ksocklnd
Frequency: rare
 
Bugzilla: 10450
 
Description: MDS crash when receiving packet with unknown intent.
 
Details: Do not LBUG in unknown intent case, just return -EFAULT
 
  
Severity: minor
+
Details: offloaded sockets provide their own implementation of sendpage, can't call tcp_sendpage() directly
Frequency: occasional, when OST network is overloaded/intermittent
 
Bugzilla: 10416
 
Description: client evicted by OST after bulk IO timeout
 
Details: If a client sends a bulk IO request (read or write) the OST may evict the client if it is unresposive to its data GET/PUT request. This is incorrect if the network is overloaded (takes too long to transfer the RPC data) or dropped the OST GET/PUT request. There is no need to evict the client at all, since the pinger and/or lock callbacks will handle this, and the client can restart the bulk request.
 
  
Severity: minor
 
Frequency: Always when mmapping file with no objects
 
Bugzilla: 10438
 
Description: client crashes when mmapping file with no objects
 
Details: Check that we actually have objects in a file before doing any operations on objects in ll_vm_open, ll_vm_close and ll_glimpse_size.
 
  
Severity: minor
+
*Severity: major
Frequency: Rare
 
Bugzilla: 10484
 
Description: Request leak when working with deleted CWD
 
Details: Introduce advanced request refcount tracking for requests referenced from lustre intent.
 
  
Severity: minor
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13482 13482]
Frequency: Always
 
Bugzilla: 10510
 
Description: Remounting a client read-only wasn't possible with a zconf mount
 
Details: It wasn't possible to remount a client read-only with llmount.  
 
  
Severity: minor
+
Description: build error
Frequency: Always
 
Bugzilla: 9486
 
Description: extended inode attributes (immutable, append-only) work improperly when 2.4 and 2.6 kernels are used on client/server or vice versa
 
Details: Introduce kernel-independent values for these flags.
 
  
Severity: minor
+
Details: fix typos in gmlnd, ptllnd and viblnd
Frequency: rare
 
Bugzilla: 10150
 
Description: setattr vs write race when updating file timestamps
 
Details: Client processes that update a file timestamp into the past right after writing to the file (e.g. tar) it is possible that the updated file modification time can be reset to the current time due to a race between processing the setattr and write RPC.
 
  
Severity: minor
 
Frequency: rare
 
Bugzilla: 10437
 
Description: Flush dirty partially truncated pages during truncate
 
Details: Immediatelly flush partially truncated pages in filter_setattr, this way we completely avoid having any pages in page cache on OST and can retire ugly workarounds during writes to flush such pages.
 
  
Severity: minor
+
*Severity: major
Frequency: rare
 
Bugzilla: 10409
 
Description: i_sem vs transaction deadlock in mds_obd_destroy during unlink.
 
Details: protect inode from truncation within vfs_unlink() context just take a reference before calling vfs_unlink() and release it when parent's i_sem is free.
 
  
Severity: minor
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12932 12932]
Frequency: always, if extents are used on OSTs
 
Bugzilla: 10703
 
Description: index ei_leaf_hi (48-bit extension) is not zeroed in extent index
 
Details: OSTs using the extents format would not zero the high 16 bits of the index physical block number. This is not a problem for any OST filesystems smaller than 16TB, and no kernels support ext3 filesystems larger than 16TB yet. This is fixed in 1.4.7 (all new/modified files) and can be fixed for existing filesystems with e2fsprogs-1.39-cfs1.  
 
  
Severity: minor
+
Description: obd_health_check_timeout too short
Frequency: rare
 
Bugzilla: 9387
 
Description: import connection selection may be incorrect if timer wraps
 
Details: Using a 32-bit jiffies timer with HZ=1000 may cause backup import connections to be ignored if the 32-bit jiffies counter wraps. Use a 64-bit jiffies counter.
 
  
Severity: minor
+
Details: set obd_health_check_timeout as 1.5x of obd_timeout
Frequency: very large clusters immediately after boot
 
Bugzilla: 10083
 
Description: LNET request buffers exhausted under heavy short-term load
 
Details: If a large number of client requests are generated on a service that has previously never seen so many requests it is possible that the request buffer growth cannot keep up with the spike in demand. Instead of dropping incoming requests, they are held in the LND until the RPC service can accept more requests.
 
  
Severity: minor
 
Frequency: Sometimes during replay
 
Bugzilla: 9314
 
Description: Assertion failure in ll_local_open after replay.
 
Details: If replay happened on an open request reply before we were able to set replay handler, reply will become not swabbed tripping the assertion in ll_local_open. Now we set the handler right after recognising of open request
 
  
Severity: minor
+
*Severity: major
Frequency: very rare
 
Bugzilla: 10584
 
Description: kernel reports "badness in vsnprintf"
 
Details: Reading from the "recovery_status" /proc file in small chunks may cause a negative length in lprocfs_obd_rd_recovery_status() call to vsnprintf() (which is otherwise harmless). Exit early if there is no more space in the output buffer.
 
  
Severity: minor
+
Frequency: only with quota on the root user
Frequency: rare
 
Bugzilla: 10641
 
Description: Client mtime is not the same on different clients after utimes
 
Details: In some cases, the client was using the utimes() syscall on a file cached on another node. The clients now validate the ctime from the MDS + OSTs to determine which one is right.
 
  
Severity: minor
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12223 12223]
Frequency: always
 
Bugzilla: 10611
 
Description: Inability to activate failout mode
 
Details: lconf script incorrectly assumed that in pythong string's numeric value is used in comparisons.  
 
  
Severity: minor
+
Description: mds_obd_create error creating tmp object  
Frequency: always with multiple stripes per file
 
Bugzilla: 10671
 
Description: Inefficient object allocation for mutli-stripe files
 
Details: When selecting which OSTs to stripe files over, for files with a stripe count that divides evenly into the number of OSTs, the MDS is always picking the same starting OST for each file. Return the OST selection heuristic to the original design.
 
  
Severity: minor
+
Details: When the user sets quota on root, llog will be affected and can't create files and write files.  
Frequency: rare
 
Bugzilla: 10673
 
Description: mount failures may take full timeout to return an error
 
Details: Under some heavy load conditions it is possible that a failed mount can wait for the full obd_timeout interval, possibly several minutes, before reporting an error. Instead return an error as soon as the status is known.  
 
  
Severity: normal
 
Frequency: rare
 
Bugzilla: 10047
 
Description: NULL pointer deref in llap_from_page.
 
Details: get_cache_page_nowait can return a page with NULL (or otherwise incorrect) mapping if the page was truncated/reclaimed while it was searched for. Check for this condition and skip such pages when doing readahead. Introduce extra check to llap_from_page() to verify page->mapping->host is non-NULL (so page is not anonymous).
 
  
Severity: normal
+
*Severity: normal
Frequency: with certain MDS communication failures at client mount time
 
Bugzilla: 10268
 
Description: NULL pointer deref after failed client mount
 
Details: a client connection request may delayed by the network layer and not be sent until after the PTLRPC layer has timed out the request. If the client fails the mount immediately it will try to clean up before the network times out the request. Add a reference from the request import to the obd device and delay the cleanup until the network drops the request.
 
  
Severity: normal
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12782 12782]
Frequency: occasionally during client (re)connect
 
Bugzilla: 9387
 
Description: assertion failure during client (re)connect
 
Details: processing a client connection request may be delayed by the client or server longer than the client connect timeout. This causes the client to resend the connection request. If the original connection request is replied in this interval, the client may trip an assertion failure in ptlrpc_connect_interpret() which thought it would be the only running connect process.  
 
  
Severity: normal
+
Description: /proc/sys/lnet has non-sysctl entries
Frequency: only with obd_echo servers and clients that are rebooted
 
Bugzilla: 10140
 
Description: kernel BUG accessing uninitialized data structure
 
Details: When running an obd_echo server it did not start the ping_evictor thread, and when a client was evicted an uninitialized data structure was accessed. Start the ping_evictor in the RPC service startup instead of the OBD startup.
 
  
Severity: normal
+
Details: Updating dump_kernel/daemon_file/debug_mb to use sysctl variables
Frequency: very rare (synthetic metadata workload only)
 
Bugzilla: 9974
 
Description: two racing renames might cause an MDS thread to deadlock
 
Details: Running the "racer" program may cause one MDS thread to rename a file from being the source of a rename to being the target of a rename at exactly the same time that another thread is doing so, and the second thread has already enqueued these locks after doing a lookup of the target and is trying to relock them in order. Ensure that we don't try to re-lock the same resource.
 
  
Changes from v1.4.5 to v1.4.6
 
WIRE PROTOCOL CHANGE. This version of Lustre networking WILL NOT INTEROPERATE with older versions automatically. Please read the user documentation before upgrading any part of a live system.
 
WARNING: Lustre networking configuration changes are required with this release. See https://bugzilla.clusterfs.com/show_bug.cgi?id=10052 for details.
 
Support for kernels: 2.6.9-22.0.2.EL (RHEL 4) 2.6.5-7.244 (SLES 9) 2.6.12.6 vanilla (kernel.org)
 
Severity: enhancement
 
Bugzilla: 7981/8208
 
Description: Introduced Lustre Networking (LNET)
 
Details: LNET is new networking infrastructure for Lustre, it includes a reorganized network configuration mode (see the user documentation for full details) as well as support for routing between different network fabrics. Lustre Networking Devices (LNDs) for the supported network fabrics have also been created for this new infrastructure.
 
  
Severity: enhancement
+
*Severity: normal
Description: Introduced Access control lists
 
Details: clients can set ACLs on files and directories in order to have more fine-grained permissions than the standard Unix UGO+RWX. The MDS must be started with the "-o acl" mount option.
 
  
Severity: enhancement
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=10778 10778]
Description: Introduced filesystem quotas
 
Details: Administrators may now establish per-user quotas on the filesystem.  
 
  
Severity: enhancement
+
Description: kibnal_shutdown() doesn't finish; lconf --cleanup hangs
Bugzilla: 7982
 
Description: Configuration change for the XT3 The PTLLND is now used to run Lustre over Portals on the XT3 The configure option(s) --with-cray-portals are no longer used. Rather --with-portals=<path-to-portals-includes> is used to enable building on the XT3. In addition to enable XT3 specific features the option --enable-cray-xt3 must be used.
 
  
Severity: enhancement
+
Details: races between lnd_shutdown and peer creation prevent lnd_shutdown from finishing.  
Bugzilla: 7116
 
Description: 2.6 OST async journal commit and locking fix to improve performance
 
Details: The filter_direct_io()+filter_commitrw_write() journal commits for 2.6 kernels are now async as they already were in 2.4 kernels so that they can commit concurrently with the network bulk transfer. For block-allocated files the filter allocation semaphore is held to avoid filesystem fragmentation during allocation. BKL lock removed for 2.6 xattr operations where it is no longer needed.  
 
  
Severity: enhancement
 
Bugzilla: 7328
 
Description: specifying an (invalid) directory default stripe_size of -1 would reset the directory default striping
 
Details: stripe_size -1 was used internally to signal directory stripe removal, now use "all default" to signal dir stripe removal as a directory striping of "all default" is not useful
 
  
Severity: enhancement
+
*Severity: normal
Bugzilla: 7198
 
Description: doing an ls at the same time as file IO can be slow
 
Details: enqueue and other "small" requests can be blocked behind many large IO requests. Create a new OST IO portal for non-IO requests so they can be processed faster.
 
  
Severity: enhancement
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13279 13279]
Bugzilla: 6252
 
Description: Improve read-ahead algorithm to avoid excessive IO for random reads
 
Details: Existing read-ahead algorithm is tuned for the case of streamlined sequential reads and behaves badly with applications doing random reads. Improve it by reading ahead at least read region, and avoiding excessive large RPC for small reads.  
 
  
Severity: enhancement
+
Description: open files rlimit 1024 reached while liblustre testing
Bugzilla: 8330
 
Description: Creating more than 1000 files for a single job may cause a load imbalance on the OSTs if there are also a large number of OSTs.
 
Details: qos_prep_create() uses an OST index reseed value that is an even multiple of the number of available OSTs so that if the reseed happens in the middle of the object allocation it will still utilize the OSTs as uniformly as possible.
 
  
Severity: enhancement
+
Details: ulnds/socklnd must close open socket after unsuccessful 'say hello' attempt.  
Bugzilla: 7304
 
Description: improve by-nid export eviction on the MDS and OST
 
Details: allow multiple exports with the same NID to be evicted at one time without re-searching the exports list.  
 
  
Severity: enhancement
 
Bugzilla: 7342
 
Description: bind OST threads to NUMA nodes to improve performance
 
Details: all OST threads are uniformly bound to CPUs on a single NUMA node and do their allocations there to localize memory access
 
  
Severity: enhancement
+
*Severity: normal
Bugzilla: 7979
 
Description: llmount can determine client NID directly from Myrinet (GM)
 
Details: the client NID code from gmnalnid was moved directly into llmount, removing the need to use this or specifying the client NID explicitly when mounting GM clients with zeroconf
 
  
Severity: enhancement
+
Frequency: always on directories with default striping set
Bugzilla: 9445
 
Description: remove cleanup logs
 
Details: replace lconf-generated cleanup logs with lustre internal cleanup routines. Eliminates the need for client-cleanup and mds-cleanup logs.
 
  
Severity: enhancement
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12836 12836]
Bugzilla: 8592
 
Description: add support for EAs (user and system) on lustre filesystems
 
Details: it is now possible to store extended attributes in the Lustre client filesystem, and with the user_xattr mount option it is possible to allow users to store EAs on their files also
 
  
Severity: enhancement
+
Description: lfs find on -1 stripe looping in lsm_lmm_verify_common()  
Bugzilla: 7293
 
Description: Add possibility (config option) to show minimal available OST free space.
 
Details: When compiled with --enable-mindf configure option, statfs(2) (and so, df) will return least minimal free space available from all OSTs as amount of free space on FS, instead of summary of free spaces of all OSTs.
 
  
Severity: enhancement
+
Details: Avoid lov_verify_lmm_common() on directory with -1 stripe count.  
Bugzilla: 7311
 
Description: do not expand extent locks acquired on OST-side
 
Details: Modify ldlm_extent_policy() to not expand local locks, acquired by server: they are not cached anyway.  
 
  
Severity: enhancement
 
Frequency: if MDS is started with down OST
 
Bugzilla: 9439,5706
 
Description: Allow startup/shutdown of an MDS without depending on the availability of the OSTs.
 
Details: Asynchronously call mds_lov_synchronize during MDS startup. Add appropriate locking and lov-osc refcounts for safe cleaning. Add osc abort_inflight calls in case the synchronize never started.
 
  
Severity: enhancement
+
*Severity: normal
Bugzilla: 7417
 
Description: Ability to exchange lustre version between client and servers and issue warnings at client side if client is too old. Also for liblustre clients there is ability to refuse connection of too old clients.
 
Details: New 'version' field is added to connect data structure that is filled with version info. That info is later checked by server and by client.
 
  
Severity: enhancement
+
Frequency: Always on ia64 patchless client, and possibly others.
Bugzilla: 9528
+
 
Description: allow liblustre clients to delegate truncate locking to OST
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12826 12826]
Details: To avoid overhead of locking, liblustre client instructs OST to take extent lock in ost_punch() on client's behalf. New connection flag is added to handle backward compatibility.  
 
  
Severity: enhancement
+
Description: Add EXPORT_SYMBOL check for node_to_cpumask symbol.  
Bugzilla: 4928, 7341, 9758
 
Description: allow number of OST service threads to be specified
 
Details: a module parameter allows the number of OST service threads to be specified via "options ost ost_num_threads={N}" in the OSS's /etc/modules.conf or /etc/modprobe.conf.  
 
  
Severity: enhancement
+
Details: This allows the patchless client to be loaded on architectures without this export.  
Frequency: if client is started with failover MDS
 
Bugzilla: 9818
 
Description: Allow multiple MDS hostnames in the mount command
 
Details: Try to read the configuration from all specified MDS hostnames during a client mount in case the "primary" MDS is down.  
 
  
Severity: enhancement
 
Bugzilla: 9297
 
Description: Stop sending data to evicted clients as soon as possible.
 
Details: Check if the client we are about to send or are sending data to was evicted already. (Check is done every second of waiting, for which l_wait_event interface was extended to allow checking of exit condition at specified intervals).
 
  
Severity: enhancement
+
*Severity: normal
Bugzilla: 9477, 9557, 9870
 
Description: Verify that the MDS configuration logs are updated when xml is
 
Details: Check if the .xml configuration logs are newer than the config logs stored on the MDS and report an error if this is the case. Request --write-conf, or allow starting with --old_conf.
 
  
Severity: enhancement
+
Frequency: rare
Bugzilla: 6034
 
Description: Handle symlinks in the path when checking if Lustre is mounted.
 
Details: Resolve intermediate symlinks when checking if a client has mounted a filesystem to avoid duplicate client mounts.
 
  
Severity: enhancement
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13142 13142]
Bugzilla: 9578
 
Description: Support for specifying external journal device at mount
 
Details: If an OST or MDS device is formatted with an external journal device, this device major/minor is stored in the ext3 superblock and may not be valid for failover. Allow detecting and specifying the external journal at mount time.  
 
  
Severity: enhancement
+
Description: disorder of journal start and llog_add cause deadlock.  
Bugzilla: 9461
 
Description: Implement 'lfs df' to report actual free space on per-OST basis
 
Details: Add sub-command 'df' on 'lfs' to report the disk space usage of MDS/OSDs. Usage: lfs df [-i][-h]. Command Options: '-i' to report usage of objects; '-h' to report in human readable format.  
 
  
Severity: major
+
Details: in llog_origin_connect, journal start should happen before llog_add keep the same order as other functions to avoid the deadlock.  
Frequency: rare
 
Bugzilla: 7407
 
Description: Running on many-way SMP OSTs can trigger oops in llcd_send()
 
Details: A race between allocating a new llcd and re-getting the llcd_lock allowed another thread to grab newly-allocated llcd.  
 
  
Severity: major
 
Frequency: rare
 
Bugzilla: 7359
 
Description: Fix for potential infinite loop processing records in an llog.
 
Details: If an llog record is corrupted/zeroed, it is possible to loop forever in llog_process(). Validate the llog record length and skip the remainder of the block on error.
 
  
Severity: major
+
*Severity: normal
Frequency: rare
 
Bugzilla: 8322
 
Description: OST or MDS may oops in ping_evictor_main()
 
Details: ping_evictor_main() drops obd_dev_lock if deleting a stale export but doesn't restart at beginning of obd_exports_timed list afterward.
 
  
Severity: major
+
Frequency: occasionally when using NFS
Frequency: rare, only with supplementary groups enabled on SMP 2.6 kernels
 
Bugzilla: 7273
 
Description: MDS may oops in groups_free()
 
Details: in rare race conditions a newly allocated group_info struct is freed again, and this can be NULL. The 2.4 compatibility code for groups_free() checked for a NULL pointer, but 2.6 did not.
 
  
Severity: major
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13030 13030]
Frequency: rare
 
Bugzilla: 5047
 
Description: data loss during non-page-aligned writes to a single file from both multiple nodes and multiple threads on one node at same time
 
Details: updates to KMS and lsm weren't protected by common lock. Resulting inconsistency led to false short-reads, that were cached and later used by ->prepare_write() to fill in partially written page, leading to data loss.  
 
  
Severity: major
+
Description: "ll_intent_file_open()) lock enqueue: err: -13" with nfs
Frequency: when mmap is used/binaries executed from Lustre
 
Bugzilla: 9482
 
Description: Unmmap pages before throwing them away from read cache.
 
Details: llap_shrink cache now attempts to unmap pages before discarding them (if unmapping failed - do not discard). SLES9 kernel has extra checks that trigger if this unmapping is not done first.
 
  
Severity: major
+
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.  
Frequency: rare
 
Bugzilla: 6146, 9635, 9895
 
Description: servers crash with bad pointer in target_handle_connect()
 
Details: In rare cases when a client is reconnecting it was possible that the connection request was the last reference for that export. We would temporarily drop the export reference and get a new one, but this may have been the last reference and the export was just destroyed. Get new reference before dropping old one.  
 
  
Severity: major
 
Frequency: rare, unless heavy write-truncate concurrency is continuous
 
Bugzilla: 4180, 6984, 7171, 9963, 9331
 
Description: OST becomes very slow and/or deadlocked during object unlink
 
Details: filter_destroy() was holding onto the parent directory lock while truncating+unlinking objects. For very large objects this may block other threads for a long time and slow overall OST responsiveness. It may also be possible to get a lock ordering deadlock in this case, or run out of journal credits because of the combined truncate+unlink. Solution is to do object truncate first in one transaction without parent lock, and then do the final unlink in a new transaction with the parent lock. This reduces the lock hold time dramatically.
 
  
Severity: major
+
*Severity: normal
Frequency: rare, 2.4 kernels only
 
Bugzilla: 9967
 
Description: MDS or OST cleanup may trip kernel BUG when dropping kernel lock
 
Details: mds_cleanup() and filter_cleanup() need to drop the kernel lock before unmounting their filesystem in order to avoid deadlock. The kernel_locked() function in 2.4 kernels only checks whether the kernel lock is held, not whether it is this process that is holding it as 2.6 kernels do.
 
  
Severity: major
+
Frequency: Occasionally with failover
Frequency: rare
 
Bugzilla: 9635
 
Description: MDS or OST may oops/LBUG if a client is connecting multiple times
 
Details: The client ptlrpc code may be trying to reconnect to a down server before a previous connection attempt has timed out. Increase the reconnect interval to be longer than the connection timeout interval to avoid sending duplicate connections to servers.
 
  
Severity: major
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12459 12459]
Frequency: rare, 2.6 OSTs only
 
Bugzilla: 10076
 
Description: OST may deadlock under high load on fragmented files
 
Details: If there was a heavy load and highly-fragmented OST filesystems it was possible to have all the OST threads deadlock waiting on allocation of biovecs, because the biovecs were not released until the entire RPC IO was completed. Instead, release biovecs as soon as they are complete to ensure forward IO progress.  
 
  
Severity: major
+
Description: Client eviction due to failover config
Frequency: rare
 
Bugzilla: 10235
 
Description: Mounting an MDS with pending unlinked files may cause oops
 
Details: target_finish_recovery() calls mds_postrecov() which returned the number of orphans unlinked. mds_lov_connect->mds_postsetup() considers this an error and immediately begins cleaning up the lov, just after starting the mds_lov process
 
  
Severity: minor
+
Details: after a connection loss, the lustre client should attempt to reconnect to the last active server first before trying the other potential connections.  
Frequency: rare
 
Bugzilla: 8320
 
Description: lconf incorrectly determined whether two IP networks could talk
 
Details: In some more complicated routing and multiple-network configurations, lconf will avoid trying to make a network connection to a disjoint part of the IP space. It was doing the math incorrectly for one set of cases.  
 
  
Severity: minor
 
Frequency: occasional (liblustre only)
 
Bugzilla: 6363
 
Description: liblustre could not open files whose last component is a symlink
 
Details: sysio_path_walk() would incorrectly pass the open intent to intermediate path components.
 
  
Severity: minor
+
*Severity: normal
Frequency: rare (liblustre only with non-standard tuning)
 
Bugzilla: 7201 (7350)
 
Description: Tuning the MDC DLM LRU size to zero triggers client LASSERT
 
Details: llu_lookup_finish_locks() tries to set lock data on a lock after it has been released, only do this for referenced locks
 
  
Severity: minor
+
Frequency: only with liblustre clients on XT3
Frequency: common for large clusters running liblustre clients
 
Bugzilla: 7198
 
Description: doing an ls when liblustre clients are running is slow
 
Details: sending a glimpse AST to a liblustre client waits for every AST to time out, as liblustre clients will not respond. Since they cannot cache data we refresh the OST lock LVB from disk instead.
 
  
Severity: minor
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12418 12418]
Frequency: rare (only HPUX clients mounting unsupported re-exported NFS vol)
 
Bugzilla: 5781
 
Description: an HPUX NFS client would get -EACCESS when ftruncate()ing a newly created file with mode 000
 
Details: the Linux NFS server relies on an MDS_OPEN_OWNEROVERRIDE hack to allow an ftruncate() as a non-root user to a file with mode 000. Lustre now respects this flag to disable mode checks when truncating a file owned by the user
 
  
Severity: minor
+
Description: evictions taking too long
Frequency: liblustre-only, when liblustre client dies unexpectedly or becomes busy
 
Bugzilla: 7313
 
Description: Revoking locks from clients that went dead or catatonic might take a lot of time.
 
Details: New lock flags FL_CANCEL_ON_BLOCK used by liblustre makes cancellation of such locks instant on servers without waiting for any reply from clients. Clients drops these locks when cancel notification from server is received without replying.
 
  
Severity: minor
+
Details: allow llrd to evict clients directly on OSTs
Frequency: liblustre-only, when liblustre client dies or becomes busy
 
Bugzilla: 7311
 
Description: Doing ls on Linux clients can take a long time with active liblustre clients
 
Details: Liblustre client cannot handle ASTs in timely manner, so avoid granting such locks to it in the first place if possible. Locks are taken by proxy on the OST during the read or write and dropped immediately afterward. Add connect flags handling, do not grant locks to liblustre clients for glimpse ASTs.
 
  
Severity: minor
 
Frequency: common for liblustre clients doing little filesystem IO
 
Bugzilla: 9352, 7313
 
Description: server may evict liblustre clients accessing contended locks
 
Details: if a client is granted a lock or receives a completion AST with a blocking AST already set it would not reply to the AST for LDLM_FL_CANCEL_ON_BLOCK locks. It now replies to such ASTs.
 
  
Severity: minor
+
*Severity: normal
Frequency: lfs setstripe, only systems with more than 160 OSTs
 
Bugzilla: 9440
 
Description: unable to set striping with a starting offset beyond OST 160
 
Details: llapi_create_file() incorrectly limited the starting stripe index to the maximum single-file stripe count.
 
  
Severity: minor
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13125 13125]
Frequency: LDAP users only
 
Bugzilla: 6163
 
Description: lconf did not handle in-kernel recovery with LDAP properly
 
Details: lconf/LustreDB get_refs() is searching the wrong namespace
 
  
Severity: minor
+
Description: osts not allocated evenly to files
Frequency: if client is started with down MDS
 
Bugzilla: 7184
 
Description: if client is started with down MDS mount hangs in ptlrpc_queue_wait
 
Details: Having an LWI_INTR() wait event (interruptible, but no timeout) will wait indefinitely in ptlrpc_queue_wait->l_wait_event() after ptlrpc_import_delayed_req() because we didn't check if the request was interrupted, and we also didn't break out of the event loop if there was no timeout
 
  
Severity: minor
+
Details: change the condition to increase offset_idx
Frequency: always, if lconf --abort_recovery used
 
Bugzilla: 7047
 
Description: lconf --abort_recovery fails with 'Operation not supported'
 
Details: lconf was attempting to abort recovery on the MDT device and not the MDS device
 
  
Severity: minor
 
Frequency: rare
 
Bugzilla: 6034
 
Description: lconf didn't resolve symlinks before checking to see whether a given mountpoint was already in use
 
  
Severity: minor
+
*Severity: normal
Frequency: when migrating failover services
 
Bugzilla: 6395, 9514
 
Description: When migrating a subset of services from a node (e.g. failback from a failover service node) the remaining services would time out and evict clients.
 
Details: lconf --force (implied by --failover) sets the global obd_timeout to 5 seconds in order to quickly disconnect, but this caused other RPCs to time out too quickly. Do not change the global obd_timeout for force cleanup, only set it for DISCONNECT RPCs.
 
  
Severity: minor
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13436 13436]
Frequency: occasional (Cray XT3 only)
 
Bugzilla: 7305
 
Description: root not authorized to access files in CRAY_PORTALS environment
 
Details: The client process capabilities were not honoured on the MDS in a CRAY_PORTALS/CRAY_XT3 environment. If the file had previously been accessed by an authorized user then root was able to access the file on the local client also. The root user capabilities are now allowed on the MDS, as this environment has secure UID.  
 
  
Severity: minor
+
Description: Only those disconnect error should be returned by rq_status.  
Frequency: occasional
 
Bugzilla: 6449
 
Description: ldiskfs "too long searching" message happens too often
 
Details: A debugging message (otherwise harmless) prints too often on the OST console. This has been reduced to only happen when there are fragmentation problems on the filesystem.  
 
  
Severity: minor
+
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.  
Frequency: rare
 
Bugzilla: 9598
 
Description: Division by zero in statfs when all OSCs are inactive
 
Details: lov_get_stripecnt() returns zero due to incorrect order of checks, lov_statfs divides by value returned by lov_get_stripecnt().  
 
  
Severity: minor
 
Frequency: common
 
Bugzilla: 9489, 3273
 
Description: First write from each client to each OST was only 4kB in size, to initialize client writeback cache, which caused sub-optimal RPCs and poor layout on disk for the first writen file.
 
Details: Clients now request an initial cache grant at (re)connect time and so that they can start streaming writes to the cache right away and always do full-sized RPCs if there is enough data. If the OST is rebooted the client also re-establishes its grant so that client cached writes will be honoured under the grant.
 
  
Severity: minor
+
*Severity: normal
Frequency: common
 
Bugzilla: 7198
 
Description: Slow ls (and stat(2) syscall) on files residing on IO-loaded OSTs
 
Details: Now I/O RPCs go to different portal number and (presumably) fast lock requests (and glimses) and other RPCs get their own service threads pool that should be able to service those RPCs immediatelly.
 
  
Severity: minor
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13600 13600]
Frequency: rare, liblustre only.
 
Bugzilla: 9296, 9581
 
Description: Two simultaneous writes from liblustre at offset within same page might proceed at the same time overwriting eachother with stale data.
 
Details: I/O lock withing llu_file_prwv was released too early, before data actually was hitting the wire. Extended lock-holding time until server acknowledges receiving data.  
 
  
Severity: minor
+
Description: "lfs find -obd UUID" prints directories
Frequency: extremely rare. Never observed in practice.
 
Bugzilla: 9652
 
Description: avoid generating lustre_handle cookie of 0.
 
Details: class_handle_hash() generates handle cookies by incrementing global counter, and can hit 0 occasionaly (this is unlikely, but not impossible, because initial value of cookie counter is selected randonly). Value of 0 is used as a sentinel meaning "unassigned handle" --- avoid it. Also coalesce two critical sections in this function into one.
 
  
Severity: minor
+
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.  
Frequency: rare, normally only when NFS exporting is done from client
 
Bugzilla: 9301
 
Description: 'bad disk LOV MAGIC: 0x00000000' error when chown'ing files without objects
 
Details: Make mds_get_md() recognise empty md case and set lmm size to 0.  
 
  
Severity: minor
 
Frequency: always, if srand() is called before liblustre initialization
 
Bugzilla: 9794
 
Description: Liblustre uses system PRNG disturbing its usage by user application
 
Details: Introduce internal to lustre fast and high-quality PRNG for lustre usage and make liblustre and some other places in generic lustre code to use it.
 
  
Severity: minor
+
*Severity: normal
Frequency: rare
 
Bugzilla: 9309
 
Description: lconf can hit an error exception but still return success.
 
Details: The lconf command catches the Command error exception at the top level script context and will exit with the associated exit status, but doesn't ensure that this exit status is non-zero.
 
  
Severity: minor
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13596 13596]
Frequency: rare
 
Bugzilla: 9493
 
Description: failure of ptlrpc thread startup can cause oops
 
Details: Starting a ptlrpc service thread can fail if there are a large number of threads or the server memory is very fragmented. Handle this without oopsing.  
 
  
Severity: minor
+
Description: MDS hang after unclean shutdown of lots of clients
Frequency: always, only if liblustre and non-default acceptor port was used
 
Bugzilla: 9933
 
Description: liblustre cannot connect to servers with non-default acceptor port
 
Details: tcpnal_set_default_params() was not called and was therefore ignoring the environment varaible TCPNAL_PORT, as well as other TCPNAL_ environment variables
 
  
Severity: minor
+
Details: Never resend AST requests.  
Frequency: rare
 
Bugzilla: 9923
 
Description: two objects could be created on the same OST for a single file
 
Details: If an OST is down, in some cases it was possible to create two objects on a single OST for a single file. No problems other than potential performance impact and spurious error messages.  
 
  
Severity: minor
 
Frequency: rare
 
Bugzilla: 5681, 9562
 
Description: Client may oops in ll_unhash_aliases
 
Details: Client dcache may become inconsistent in race condition. In some cases "getcwd" can fail if the current directory is modified.
 
  
Severity: minor
+
*Severity: normal
Frequency: always
 
Bugzilla: 9942
 
Description: Inode refcounting problems in NFS export code
 
Details: link_raw functions used to call d_instantiate without obtaining extra inode reference first.
 
  
Severity: minor
+
Frequency: Always, for kernels after 2.6.16
Frequency: rare
 
Bugzilla: 9942, 9903
 
Description: Referencing freed requests leading to crash, memleaks with NFS.
 
Details: We used to require that call to ll_revalidate_it was always followed by ll_lookup_it. Also with revalidate_special() it is possible to call ll_revalidate_it() twice for the same dentry even if first occurence returned success. This fix changes semantic between DISP_ENQ_COMPLETE disposition flag to mean there is extra reference on a request referred from the intent. ll_intent_release() then releases such a request.  
 
  
Severity: minor
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13304 13304]
Frequency: rare, normally benchmark loads only
 
Bugzilla: 1443
 
Description: unlinked inodes were kept in memory on the client
 
Details: If a client is repeatedly creating and unlinking files it can accumulate a lot of stale inodes in the inode slab cache. If there is no other client load running this can cause the client node to run out of memory. Instead flush old inodes from client cache that have the same inode number as a new inode.  
 
  
Severity: minor
+
Description: Fix warning idr_remove called for id=.. which is not allocated.  
Frequency: SLES9 2.6.5 kernel and long filenames only
+
Details: Last kernels save old s_dev before kill super and not allow to restore from callback - restore it before call kill_anon_super.  
Bugzilla: 9969, 10379
 
Description: utime reports stale NFS file handle
 
Details: SLES9 uses out-of-dentry names in some cases, which confused the lustre dentry revalidation. Change it to always use the in-dentry qstr.  
 
  
Severity: minor
 
Frequency: echo_client brw_test command
 
Bugzilla: 9919
 
Description: fix echo_client to work with OST preallocated code
 
Details: OST preallocation code (5137) didn't take echo_client IO path into account: echo_client calls filter methods outside of any OST thread and, hence, there is no per-thread preallocated pages and buffers to use. Solution: hijack pga pages for IO. As a byproduct, this avoids unnecessary data copying.
 
  
Severity: minor
+
*Severity: minor
Frequency: rare
 
Bugzilla: 3555, 5962, 6025, 6155, 6296, 9574
 
Description: Client can oops in mdc_commit_close() after open replay
 
Details: It was possible for the MDS to return an open request with no transaction number in mds_finish_transno() if the client was evicted, but without actually returning an error. Clients would later try to replay that open and may trip an assertion Simplify the client close codepath, and always return an error from the MDS in case the open is not successful.
 
  
Changes from v1.4.4 to v1.4.5
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12186 12186]
Severity: enhancement
 
Frequency: occasional, if non-standard max_dirty_mb used
 
Bugzilla: 7138
 
Description: Client will block write RPCs if not enough grant
 
Details: If a client has max_dirty_mb smaller than max_rpcs_in_flight, then the client will block writes while waiting for another RPC to complete instead of consuming its dirty limit. With change we get improved performance when max_dirty_mb is small.  
 
  
Severity: enhancement
+
Description: Fix errors in lfs documentation
Bugzilla: 3389, 6253
 
Description: Add support for supplementary groups on the MDS.
 
Details: The MDS has an upcall /proc/fs/lustre/mds/{mds}/group_upcall (set to /usr/sbin/l_getgroups if enabled) which will do MDS-side lookups for user supplementary groups into a cache.
 
  
Severity: enhancement
+
Details: Fixes man pages
Bugzilla: 6902
 
Description: Add ability to evict clients by NID from MDS.
 
Details: By echoing "nid:$NID" string into /proc/fs/lustre/mds/.../evict_client client with nid that equals to $NID would be instantly evicted from this MDS and from all active OSTs connected to it.
 
  
Severity: major
 
Frequency: rare
 
Bugzilla: 7264
 
Description: Mounting an ldiskfs file system with mballoc may crash OST node.
 
Details: ldiskfs mballoc code may reference an uninitialized buddy struct at startup during orphan unlinking. Instead, skip buddy update before setup, as it will be regenerated after recovery is complete.
 
  
Severity: minor
+
*Severity: minor
 +
 
 
Frequency: rare
 
Frequency: rare
Bugzilla: 7039
 
Description: If an OST is inactive, its locks might reference stale inodes.
 
Details: lov_change_cbdata() must iterate over all namespaces, even if they are inactive to clear inode references from the lock.
 
  
Severity: minor
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12588 12588]
Bugzilla: 7278
 
Description: O_CREAT|O_EXCL open flags in liblustre always return -EEXIST
 
Details: Make libsysio to not enforce O_EXCL by clearing the flag, for liblustre O_EXCL is enforced by MDS.  
 
  
Severity: minor
+
Description: when mds and osts use different quota unit(32bit and 64bit), quota will be released repeatly.  
Bugzilla: 6455
 
Description: readdir never returns NULL in liblustre.
 
Details: Corrected llu_iop_getdirentries logic, to return offset of next dentry in struct dirent.  
 
  
Severity: minor
+
Details: void sending multiple quota reqs to mds, which will keep the status between the reqs.  
Bugzilla: 7137
 
Frequency: liblustre only, depends on application IO pattern
 
Description: liblustre clients evicted if not contacting servers
 
Details: Don't put liblustre clients into the ping_evictor list, so they will not be evicted by the pinger ever.  
 
  
Severity: minor
 
Bugzilla: 7198
 
Description: Do not query file size twice, somewhat slowing stat(2) calls.
 
Details: lookup_it_finish() used to query file size from OSTs that was not needed.
 
  
Severity: minor
+
*Severity: cleanup
Bugzilla: 6237
 
Description: service threads change working directory to that of init
 
Details: Starting lustre service threads may pin the working directory of the parent thread, making that filesystem busy. Threads now change to the working directory of init to avoid this.
 
  
Severity: minor
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13532 13532]
Bugzilla: 6827
 
Frequency: during shutdown only
 
Description: shutdown with a failed MDS or OST can cause unmount to hang
 
Details: Don't resend DISCONNECT messages in ptlrpc_disconnect_import() if server is down.  
 
  
Severity: minor
+
Description: rewrite ext2-derived code in llite/dir.c and obdclass/uuid.c
Bugzilla: 7331
 
Frequency: 2.6 only
 
Description: chmod/chown may include an extra supplementary group
 
Details: ll{,u}_mdc_pack_op_data() does not properly initialize the supplementary group and if none is specified this is used.  
 
  
Severity: minor
+
Details: rewrite inherited code (uuid parsing code from ext2 utils and readdir code from ext3) from scratch preserving functionality.
Bugzilla: 5479 (6816)
 
Frequency: rare
 
Description: Racing open + rm can assert client in mdc_set_open_replay_data()
 
Details: If lookup is in progress on a file that is unlinked we might try to revalidate the inode and fail in revalidate after lookup is complete and ll_file_open() enqueues the open again but it_open_error() was not checking DISP_OPEN_OPEN errors correctly.  
 
  
Severity: minor
+
=Changes from v1.6.1 to v1.6.2=
Frequency: always, if lconf --abort_recovery used
 
Bugzilla: 7047
 
Description: lconf --abort_recovery fails with 'Operation not supported'
 
Details: lconf was attempting to abort recovery on the MDT device and not the MDS device
 
  
Changes from v1.4.3 to v1.4.4
+
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)
Severity: enhancement
 
Bugzilla: 7015
 
Description: Addition of lconf --service command line option
 
Details: lconf now accepts a '--service <arg>' option, which is shorthand for 'lconf --group <arg> --select <arg>=<hostname>'
 
  
Severity: enhancement
+
Client support for unpatched kernels: (see [[Patchless Client]]) 2.6.16 - 2.6.22 vanilla (kernel.org)
Bugzilla: 6101
 
Description: Failover mode is now the default for OSTs.
 
Details: By default, OSTs will now run in failover mode. To return to the old behaviour, add '--failout' to the lmc line for OSTs.  
 
  
Severity: enhancement
+
Due to recently discovered recovery problems, we do not recommend using patchless RHEL 4 clients with this or any earlier release.
Bugzilla: 1693
 
Description: Health checks are now provided for MDS and OSTs
 
Details: Additional detailed health check information on MSD and OSTs is now provided through the procfs health_check value.  
 
  
Severity: critical
+
Recommended e2fsprogs version: 1.39.cfs8
Bugzilla: 6866
 
Frequency: rare, only 2.6 kernels
 
Description: Unusual file access patterns on the MDS may result in inode data being lost in very rare circumstances.
 
Details: Bad interaction between the ea-in-inode patch and the "no-read" code in the 2.6 kernel caused the inode and/or EA data not to be read from disk, causing single-file corruption.  
 
  
Severity: critical
+
Note that reiserfs quotas are disabled on SLES 10 in this kernel.
Bugzilla: 6998
 
Frequency: rare, only 2.6 filesystems using extents
 
Description: Heavy concurrent write and delete load may cause data corruption.
 
Details: It was possible under high-load situations to have an extent metadata block in the block device cache from a just-unlinked file overwrite a newly-allocated data block. We now unmap any metadata buffers that alias just-allocated data blocks.  
 
  
Severity: major
+
*Severity: enhancement
Frequency: rare (only unsupported configurations with a node running as an OST and a client)
 
Bugzilla: 6514, 5137
 
Description: Mounting a Lustre file system on a node running as an OST could lead to deadlocks
 
Details: OSTs now preallocates memory needed to write out data at startup, instead of when needed, to avoid having to allocate memory in possibly low memory situations. Specifically, if the file system is mounted on on OST, memory pressure could force it to try to write out data, which it needed to allocate memory to do. Due to the low memory, it would be unable to do so and the node would become unresponsive.
 
  
Severity: major
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12786 12786]
Bugzilla: 6302
 
Frequency: rare
 
Description: Network or server problems during mount may cause partially mounted clients instead of returning an error.
 
Details: The config llog parsing code may overwrite the error return code during mount error handling, returning success instead of an error.  
 
  
Severity: minor
+
Description: lfs setstripe enhancement
Frequency: occasional, depends on IO load
 
Bugzilla: 4466
 
Description: Disk fragmentation on the OSTs could eventually cause slowdowns after numerous create/delete cycles
 
Details: The ext3 inode allocation policy would not allocate new inodes very well on the OSTs because there are no new directories being created. Instead we look for groups with free space if the parent directories are nearly full.
 
  
Severity: minor
+
Details: Make lfs setstripe understand 'k', 'm' and 'g' for stripe size.  
Bugzilla: 6422
 
Frequency: rare
 
Description: MDS can fail to allocate large reply buffers
 
Details: After long uptimes the MDS can fail to allocate large reply buffers (e.g. zconf client mount config records) due to memory fragmentation or consumption by the buffer cache. Preallocate some large reply buffers so that these replies can be sent even under memory pressure.  
 
  
Severity: minor
 
Bugzilla: 6266
 
Frequency: rare (liblustre)
 
Description: fsx running with liblustre complained that using truncate() to extend the file doesn't work. This patch corrects that issue.
 
Details: This is the liblustre equivalent of the fix for bug 6196. Fixes ATTR_SIZE and lsm use in llu_setattr_raw.
 
  
Severity: minor
+
*Severity: enhancement
Bugzilla: 7241
 
Frequency: filesystems with default stripe_count larger than 77
 
Description: lconf+mke2fs fail when formatting filesystem with > 77 stripes
 
Details: lconf specifies an inode size of 4096 bytes when the default stripe_count is larger than 77. This conflicts with the default inode density of 1 per 4096 bytes. Allocate smaller inodes in this case to avoid pinning too much memory for large EAs.
 
  
Changes from v1.4.2 to v1.4.3
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12211 12211]
Severity: enhancement
 
Bugzilla: 5902
 
Description: New debugging infrastructure for tracking down data corruption
 
Details: The I/O checksum code was replaced to: (a) control it at runtime, (b) cover more of the client-side code path, and (c) try to narrow down where problems occurred
 
  
Severity: enhancement
+
Description: randomly memory allocation failure util
Bugzilla: 6296
 
Description: Default groups are now added by lconf
 
Details: You can now run lconf --group <servicename> without having to manually add groups with lmc.
 
  
Severity: enhancement
+
Details: Make lustre randomly failed allocating memory for testing purpose.  
Description: The default stripe count has been changed to 1
 
Details: The interpretation of the default stripe count (0, to lfs or lmc) has been changed to mean striping across a single OST, rather than all available. For general usage we have found a stripe count of 1 or 2 works best.  
 
  
Severity: enhancement
 
Description: Add support for compiling against Cray portals.
 
Details: Conditional compiling for some areas that are different on Cray Portals.
 
  
Severity: enhancement
+
*Severity: enhancement
Bugzilla: 6931
 
Description: Initial enabling of flock support for clients
 
Details: Implements fcntl advisory locking and file status functions. This feature is provided as an optional mount flag (default off), and is NOT CURRENTLY SUPPORTED. Not all types of record locking are implemented yet, and those that are are not guaranteed to be completely correct in production environments. mount -t lustre -o [flock|noflock] ...
 
  
Severity: major
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=10786 10786]
Frequency: occasional during --force or --failover shutdown under load
 
Bugzilla: 5949, 4834
 
Description: Server oops/LBUG if stopped with --force or --failover under load
 
Details: a collection of import/export refcount and cleanup ordering issues fixed for safer force cleanup
 
  
Severity: major
+
Description: omit set fsid for export NFS
Frequency: only filesystems larger than 120 OSTs
 
Bugzilla: 5990, 6223
 
Description: lfs getstripe would oops on a very large filesystem
 
Details: lov_getconfig used kfree on vmalloc'd memory
 
  
Severity: major
+
Details: fix set/restore device id for avoid EMFILE error and mark lustre fs as FS_REQUIRES_DEV for avoid problems with generate fsid.  
Frequency: rare
 
Bugzilla: 6200
 
Description: A bug in MDS/OSS recovery could cause the OSS to fail an assertion
 
Details: There's little harm in aborting MDS/OSS recovery and letting it try again, so I removed the LASSERT and return an error instead.  
 
  
Severity: major
 
Frequency: rare
 
Bugzilla: 3819, 4364, 4397, 6313
 
Description: Racing close and eviction MDS could cause assertion in mds_close
 
Details: It was possible to get multiple mfd references during close and client eviction, leading to one thread referencing a freed mfd. Severity:: enhancement
 
Bugzilla: 3262, 6359
 
Description: Attempts to reconnect to servers are now more aggressive.
 
Details: This builds on the enhanced upcall-less recovery that was added in 1.4.2. When trying to reconnect to servers, clients will now try each server in the failover group every 10 seconds. By default, clients would previously try one server every 25 seconds.
 
  
Severity: major
+
*Severity: enhancement
Frequency: rare
 
Bugzilla: 6371
 
Description: After recovery, certain operations trigger a failed assertion on a client.
 
Details: Failing over an mds, using lconf -d --failover, while a client was doing a readdir() call would cause the client to LBUG after recovery completed and the readdir() was resent.
 
  
Severity: major
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=10595 10595]
Frequency: occasional
 
Bugzilla: 6412
 
Description: Nodes with an elan id of 0 trigger a failed assertion
 
  
Severity: major
+
Description: Error message improvement.  
Frequency: Only if a default stripe is set on the filesystem root.
 
Bugzilla: 6367
 
Description: Setting a default stripe on the filesystem root prevented the filesystem from being remounted.
 
Details: The client was sending extra request flags in the root getattr request and did not allocate a reply buffer for the dir EA.  
 
  
Severity: major
+
Details: Merging of two LCONSOLE_ERROR_MSG into one.  
Frequency: occasional, higher if lots of files are accessed by one client
 
Bugzilla: 6159, 6097
 
Description: Client trips assertion regarding lsm mismatch/magic
 
Details: While revalidating inodes the VFS looks up inodes with ifind() and in rare cases can find an inode that is being freed. The ll_test_inode() code will free the lsm during ifind() when it finds an existing inode and then the VFS later attaches this free lsm to a new inode.  
 
  
Severity: major
 
Frequency: rare
 
Bugzilla: 6422, 7030
 
Description: MDS deadlock between mkdir and client eviction
 
Details: Creating a new file via mkdir or mknod (starting a transaction and getting the ns lock) can deadlock with client eviction (gets ns lock and trying to finish a synchronous transaction).
 
  
Severity: major
+
*Severity: enhancement
Frequency: occasional
 
Bugzilla: 6409, 6834
 
Description: Creating files with an explicit stripe count may lead to a failed assertion on the MDS
 
Details: If some OSTs are full or unavailable, creating files may trigger a failed assertion on the MDS. Now, Lustre will try to use other servers or return an error to the client.
 
  
Severity: major
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12602 12606]
Frequency: occasional
 
Bugzilla: 6198
 
Description: OSTs running 2.4 kernels but with extents enabled might trip an assertion in the ext3 JBD (journaling) layer.
 
Details: The b_committed_data struct is protected by the big kernel lock in 2.4 kernels, serializing journal_commit_transaction() and ext3_get_block_handle->ext3_new_block->find_next_usable_block() access to this struct. In 2.6 kernels there is finer grained locking to improve SMP performance of the JBD layer.  
 
  
Severity: minor
+
Description: don't use GFP_* in generic Lustre code.  
Frequency: rare (extremely heavy IO load with hundreds of clients)
 
Bugzilla: 6172
 
Description: Client is evicted, gets IO error writing to file
 
Details: lock ordering changes for bug 5492 reintroduced bug 3267 and caused clients to be evicted for AST timeouts. The fixes in bug 5192 mean we no longer need to have such short AST timeouts so ldlm_timeout has been increased.  
 
  
Severity: minor
+
Details: Use cfs_alloc_* functions and CFS_* flags for code portability.
Frequency: only filesystems exporting via NFS to Solaris 10 clients
 
Bugzilla: 6242, 6243
 
Description: reading from files that had been truncated to a non-zero size but never opened returned no data
 
Details: ll_file_read() reads zeros from no-object files to EOF
 
  
Severity: minor
 
Frequency: always when accessing e.g. tty/console device nodes
 
Bugzilla: 3790
 
Description: tty and some other devices nodes cannot be used on lustre
 
Details: file's private_data field is used by device data and lustre values in there got lost. New field was added to struct file to store fs-specific private data.
 
  
Severity: minor
+
*Severity: enhancement
Frequency: when exporting Lustre via NFS
 
Bugzilla: 5275
 
Description: NFSD failed occasionally when looking up a path component
 
Details: NFSD is looking up ".." which was broken in ext3 directories that had grown large enough to become hashed.
 
  
Severity: minor
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12333 12333]
Frequency: Clusters with multiple interfaces not on the same subnet
 
Bugzilla: 5541
 
Description: Nodes will repeatedly try to reconnect to an interface which it cannot reach and report an error to the log.
 
Details: Extra peer list entries will be created by lconf with some peers unreachable. lconf now validates the peer before adding it.  
 
  
Severity: minor
+
Description: obdclass is limited by single OBD_ALLOC(idarray)
Frequency: occasional
 
Description: While starting a server, the fsfilt_ext3 module could not be loaded.
 
Details: CFS's improved ext3 filesystem is named ldiskfs for 2.6 kernels. Previously, lconf would still use the ext3 name when trying to load modules. Now, it will correctly use ext3 on 2.4 and ldiskfs on 2.6.
 
  
Severity: minor
+
Details: replace OBD_ALLOC/OBD_FREE with OBD_VMALLOC/OBD_VFREE
Frequency: occasional
 
Bugzilla: 6469
 
Description: Multiple concurrent overlapping read+write on multiple SMP nodes caused lock timeout during readahead (since 1.4.2).
 
Details: Processes doing readahead might match a lock that hasn't been granted yet if there are overlapping and conflicting lock requests. The readahead process waits on ungranted lock (original lock is CBPENDING), while OST waits for that process to cancel CBPENDING read lock and eventually evicts client.
 
  
Severity: minor
 
Bugzilla: 6147
 
Description: Changes the "SCSI I/O Stats" kernel patch to default to "enabled"
 
  
Changes from v1.4.1 to v1.4.2
+
*Severity: enhancement
Note: Lustre 1.4.2 uses a network protocol incompatible with previous versions of Lustre.
 
Please update all servers and clients to version 1.4.2 or later at the same time. You must also update the configuration logs.
 
  
If you get AttributeErrors when running lconf, see the Knowledge Base.
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12415 12415 ]
  
Severity: Enhancement
+
Description: updated patchess for new RHEL4 kernel
Description: Upcalls are no longer needed for clients to recover to failover servers. (3262)
 
  
Severity: Enhancement
+
Details: Fixed ext3-unlink-race.patch per Kalpak's comment.  
Description: When creating new directories, inherit the parent's custom striping settings if present. (3048)
 
  
Severity: Enhancement
 
Description: Servers are now more enthusiastic about evicting unresponsive clients, which increases the likliness of successful recovery. (5921)
 
  
Severity: Enhancement
+
*Severity: enhancement
Description: Quadrics Elan drivers are now included in our kernel for the RHEL 3 2.4 and SLES 9 2.6 kernels.
 
  
Severity: Enhancement
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13006 13006 ]
Description: Changes to the network protocols were made to increase interoperability with future versions of Lustre. This reduces the need to upgrade whole clusters at a time. (6007)
 
  
Severity: Enhancement
+
Description: warnings with build patchless client with vanila 2.6.19 and up
Description: Protocol changes to support quota were added in this release. Actual quota functionality will be present in a future release.
 
  
Severity: Enhancement
+
Details: change old ctl_table style and replace ctl_table/ctl_table_header with cfs_sysctl_table_t/cfs_sysctl_table_header_t
Description: Mixed endian and word size environments are now supported.
 
  
Severity: Enhancement
 
Description: Change the default MDS formatting parameters to create more inodes (1 per 4 kB, instead of 1 per 8 kB).
 
  
Severity: Enhancement
+
*Severity: enhancement
Description: If you know recovery will not succeed, you can now run "lconf --abort-recovery <config.xml>" instead of waiting for recovery to timeout. (6017)
 
  
Severity: Enhancement
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13093 13093]
Description: Another limit on the number of OSTs was removed. (3026)
 
  
Severity: Enhancement
+
Description: O_DIRECT bypasses client statistics.  
Description: Improved lustre status init script.
 
  
Severity: Enhancement
+
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().
Description: With large configurations, lconf performance is much improved. (6204)
 
  
Severity: Enhancement
 
Description: Increased the maximum number of obd devices to 520. (6242)
 
  
Severity: Major
+
*Severity: enhancement
Frequency: Only on clients using zconf mounting and the unsupported SLES 2.4 kernel
 
Description: The zero-copy TCP patch was causing data corruption, and has been removed. (5902)
 
  
Severity: Major
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13249 13249]
Frequency: Occasional
 
Description: Under load, incorrect locking could lead to client hangs and watchdog timeouts on servers. (6077)
 
  
Severity: Major
+
Description: Kernel patches for SLES9 2.6.5-7.286 kernel
Frequency: Rare
 
Description: A race condition could lead to failed assertions on a client. (5666)
 
  
Severity: Major
+
Details: Update target/ChangeLog/which_patch .  
Frequency: Rare
 
Description: Disk I/O errors in 2.6 would usually lead to a server panic. (6046)
 
  
Severity: Major
 
Frequency: Occasional
 
Description: The fix for 4908 (in 1.4.1 RC1) was not quite complete, and could lead to a failed assertion requiring a reboot. (5653)
 
  
Severity: Major
+
*Severity: enhancement
Frequency: Occasional
 
Description: Avoid lock ordering deadlock issue with write/truncate. (6203,5654)
 
  
Severity: Major
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12955 12955]
Frequency: Rare
 
Description: Some setattr calls on striped files could lead to a server panic. (4554)
 
  
Severity: Major
+
Description: jbd statistics
Frequency: Rare
 
Description: A locking error path could lead to a failed assertion. (6149, 6148)
 
  
Severity: Major
+
Details: Port older jbd statistics patch for sles10
Frequency: Rare (Only on clusters with ~200 servers) Description: Clients on filesystems with a large number of servers are unable to create files. (5707)
 
  
Severity: Major
 
Frequency: Rare (Only on big-endian clients with a large number of servers) Description: Big-endian clients on filesystems with a large number of servers could oops when mounting. (5861)
 
  
Severity: Minor
+
*Severity: enhancement
Frequency: Rare (Only when exporting Lustre over NFS to HP-UX clients)
 
Description: HP-UX clients would get an error opening a file with O_TRUNC. (5781)
 
  
Severity: Minor
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13360 13360]
Frequency: Occasional
 
Description: In certain cases the Lustre software watchdog could be easily triggered, causing an unnecessary number of messages to be printed to the log files. (5515)
 
  
Severity: Minor
+
Description: Build failure against Centos5 (RHEL5)  
Frequency: Occasional
 
Description: Renaming one directory over another would leak an inode, causing errors if e2fsck was run. (5953)
 
  
Severity: Major
+
Details: Use getpagesize() instead of PAGE_SIZE.  
Frequency: Occasional (only on 2.6 systems)
 
Description: A subtle change from Linux 2.4 to 2.6 could lead to client threads hanging indefinitely. It would only happen if a timeout occurred in just the right place, but would affect all threads attempting to do I/O -- to any file system -- until the node was rebooted. (5981)
 
  
Severity: Minor
 
Frequency: Occasional
 
Description: Display the correct file size in create+truncate+fstat case. (6196)
 
  
Severity: Minor
+
*Severity: major
Frequency: Rare
 
Description: Correctly handle dentries for mountpoints. (5907)
 
  
Severity: Minor
+
Frequency: after network failures
Frequency: Rare
 
Description: A race condition could lead to extraneous error messages about lvbo_update. (6170)
 
  
Severity: Minor
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12769 12769]
Frequency: Rare (Solaris 10 NFS clients)
 
Description: Correctly handle reads of files with no objects. (6243, 6264)
 
  
Severity: Minor
+
Description: Add sync option to mount_lustre.c
Frequency: Rare (only after administrative deactivation of a client/server connection)
+
 
Description: lctl recover will also mark a device active if deactivate was used. (5933)
+
Details: Client loses data written to lustre after a network interruption.  
  
Severity: Minor
 
Frequency: Rare
 
Description: Configurations for clients with different nettypes are now properly stored on the MDS. (5619)
 
  
Severity: Minor
+
*Severity: normal
Frequency: Rare
 
Description: Configurations for filesystems not available from an MDS are no longer stored on that MDS. This speeds up the reformat/write_conf process. (5617)
 
  
Severity: Minor
+
Frequency: mds/oss recovery
Frequency: Rare
 
Description: lconf now creates multiple connections when routed OSTs are used. (5201)
 
  
Severity: Minor
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=10800 10800]
Description: Init scripts are now turned off by default; run chkconfig --on lustre and chkconfig --on lustrefs to turn them on.
 
  
Severity: Minor
+
Description: llog ctxt is refrenced after it has been freed.  
Frequency: Occasional
 
Description: Some modules that were autoloaded are now removed when Lustre is shut down using lconf.
 
  
Severity: Minor
+
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.  
Frequency: Rare
 
Description: Limit stripes per file to 160 (the maximum EA size). (6093)
 
  
Changes from v1.4.1 RC1 to v1.4.1 Final
 
(If you are upgrading from v1.4.0, please also read the changes for v1.4.0 to v1.4.1 RC1)
 
Severity: Enhancement
 
Description: Support has been added for the RHEL 4 kernel on i686. (5773)
 
  
Severity: Enhancement
+
*Severity: normal
Description: Improved error messages have been added in some situations, including at service startup, during recovery, for socket errors, and when incompatible (Lustre 1.4.2+) configuration logs are encountered. (5898, 5864)
 
  
Severity: Enhancement
+
Frequency: only for SLES10
Description: mount.lustre now accepts common mount arguments that the client VFS handles for us, such as nodev, nosuid, and noexec. (5637)
 
  
Severity: Major
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12771 12771]
Frequency: Common, when serving NFS from a lustre client
 
Description: When serving NFS from a Lustre client, heavy NFS operations could cause a failed assertion on the Lustre client. Note that although we have not yet made significant improvements to NFS performance, some people do it anyway. (4655, 5760)
 
  
Severity: Major
+
Description: Update kernel patch for SLES10 SP1
Frequency: Rare
 
Description: A 2.6-specific race condition could produce crashes (in "ll_unhash_aliases") under load (5687, 5210)
 
  
Severity: Major
+
Details: Add patch blkdev_tunables-2.6-sles10.patch to 2.6-sles10.series.  
Frequency: Rare
 
Description: If a client tries to mount when some OSTs are down, the OST may think it is already connected, and the client will be unable to mount. (5317)
 
  
Severity: Major
 
Frequency: Rare
 
Description: A number of client deadlocks have been fixed; these were most often on 2.6, but could in some rare cases affect 2.4. (5492, 5624, 5654, 5672)
 
  
Severity: Major
+
*Severity: normal
Frequency: Rare
 
Description: An incorrect error path in the lock manager could lead to out-of-sync clients, and long delays while waiting on invalid locks. These delays would affect only certain files, and would never go away until the node was rebooted. (5779)
 
  
Severity: Major
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11802 11802]
Frequency: Rare
 
Description: Occasionally the MDS would grant locks to clients that had been evicted, eventually causing the MDS to lock up. (5683)
 
  
Severity: Major
+
Description: lustre support for RHEL5
Frequency: Rare
 
Description: Creating a file whose name begins with . in an unlinked directory could cause an oops. (5548)
 
  
Severity: Major
+
Details: Add support for RHEL5.  
Frequency: Rare, only on 2.6
 
Description: There was a tiny window in the I/O path where, if a thread doing I/O received an interrupt from the disk subsystem to complete a previous I/O, the OSSwould deadlock. (5811)
 
  
Severity: Major
 
Frequency: Rare, only on servers with extents enabled
 
Description: When corruption is encountered on an ext3 filesystem using extents, errors are now returned instead of causing a panic. (5733)
 
  
Severity: Major
+
*Severity: normal
Frequency: Only on servers with extents enabled
 
Description: Directories are no longer created using extents to ensure compatibility with all versions of e2fsck. (5909, 5936)
 
  
Severity: Major
+
Frequency: rare
Frequency: Common, only on 64-bit servers with mballoc enabled
 
Description: Fixed 64-bit alignment access, and other mballoc fixes. The code will automatically repair the file system. (5733, 5638)
 
  
Severity: Minor in 2.4, Major in 2.6
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11756 11756]
Frequency: Rare
 
Description: SUID bug (5695) kernel version 43: fix remove_suid bugs in both 2.4 and 2.6. In 2.4 it would cause a minor loss of functionality; in 2.6 it would ASSERT. (5695)
 
  
Severity: Minor
+
Description: umount blocks forever on error
Frequency: Common, only on SuSE
 
Description: The init scripts now work on SuSE Linux. (5702)
 
  
Severity: Minor
+
Details: In result of wrong using obd_no_recov and obd_force flags client can hand if cancel or some other requests is lost.  
Frequency: Common, only on 64 bit systems
 
Description: lconf and lmc will now look in /usr/lib64 for Python libraries. (5800)
 
  
Severity: Minor
 
Frequency: Common if you tried to fail-back, rare otherwise
 
Description: Many fixes when running lconf --force or lconf --failover were made. (3607, 3651, 4797, 5203, 4834)
 
  
Severity: Minor
+
*Severity: normal
Frequency: Rare
 
Description: Files occasionally have mtime in the future. (4829, 5669)
 
  
Severity: Minor
+
Frequency: Only for SLES
Frequency: Rare
 
Description: Some internal timers did not handle wrapping time values leading to stalled recovery. (5882)
 
  
Severity: Minor
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13177 13177]
Frequency: Rare
 
Description: When trying to open a file whose parent directory doesn't exist, fix a memory leak and add a negative lookup. (5154)
 
  
Changes from v1.4.0 to v1.4.1 RC1 (release candidate; not certified for production use)
+
Description: sanity_quota fail test_1
Severity: enhancement
 
Description: proper mmap locking has been landed again, with considerable improvements from the initial attempt in v1.2.7. This will correct a class of errors which could normally manifest themselves in two ways:
 
  
 +
Details: There are multiple occurences of $TSTUSR in SLES's /etc/group file, which makes TSTID[2] inunique.
  
running a binary on node A, then overwriting it on node B, would not cause node A to download a fresh copy. At best, subsequent executions would run the old binary; at worst, the executable would crash, likely with "bus error"
 
if the binary had a stripe count greater than 1, and was large enough that it would be spread across multiple OSTs, then a "bus error" crash was common
 
  
Although we have made every effort to thoroughly test this new version, because there were serious problems with the previous mmap code, we are releasing this 1.4.1 release candidate in the hopes that users with test systems can thoroughly stress-test this build before we certify it for production use.
+
*Severity: normal
  
Severity: major
 
 
Frequency: rare
 
Frequency: rare
Description: after a backend disk failure which caused some objects to be lost, it was possible to crash an OSS while trying to read data from that object. (5265)
 
  
Severity: major
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=9977 9977]
Frequency: rare
 
Description: some confusion with lists and locks could lead to an unfortunate list corruption, with the effect of making a server evict the same client, for the same lock, in an infinite loop. (4908)
 
  
Severity: minor
+
Description: lvbo_init failed for resource with missing objects.  
Frequency: rare
 
Description: an unlikely error at just the right time could leak a Lustre DLM lock on the client, and cause an assertion at shutdown. This was fixed by cleaning up the lock properly after the server indicates an error. (4238)
 
  
Severity: major
+
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.  
Frequency: common
 
Description: we have received many reports of the VM failing to do its job of discarding unused pages from the page cache, under memory pressure. As a workaround, we try to alleviate this pressure by setting a maximum amount of memory that Lustre will allow to be used by pages in the page cache under Lustre's control. (4699)
 
  
Severity: major
 
Frequency: very rare
 
Description: an unlikely error at just the right time could leave a page dirty and locked; this page would never be unlocked, and could cause a deadlock or failure to unmount the file system. (3677)
 
  
Severity: major
+
*Severity: normal
Frequency: common
 
Description: if a user attempted to open() a symlink, that request would be incorrectly saved for later replay during recovery. This replayed request would cause an assertion on the MDS. (3440)
 
  
Severity: major
+
Frequency: When flocks are used.
Frequency: very rare
 
Description: if an Elan server disappeared from the network fabric in the middle of a zero-copy bulk read, the client would cleanup improperly, and trigger an assertion in the Elan driver. (4012)
 
  
Severity: minor
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13103 13103]
Frequency: common
 
Description: fix some small memory leaks in the RPC handling error paths.(5406)
 
  
Severity: major
+
Description: assertion failure in ldlm_cli_enquque_fini for non NULL lock.  
Frequency: very rare
 
Description: if some Lustre threads start, but others fail, then a list could be left corrupted. (5160)
 
  
Severity: major
+
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.  
Frequency: common
 
Description: an off-by-one error in the readahead code could cause it to readahead an extra page, not covered by a lock, which would then stick around in the page cache for a long time. (5388)
 
  
Severity: minor
 
Frequency: very rare
 
Description: if multiple processes attempt to manipulate OBD objects (like running multiple "lconf" instances at once), incorrect locking could cause a crash on that node. (5260)
 
  
Severity: major
+
*Severity: normal
Frequency: very rare
 
Description: a race condition in the sync() path left the MDs open to a theoretical crash. (5458)
 
  
Severity: major
+
Frequency: Rare
Frequency: common
 
Description: the new multi-block ext3 allocator (mballoc) would try to allocate too many contiguous pages, which could often fail on systems with fragmented memory. Poor error checking in this case would cause a crash. Both have been fixed. (5504)
 
  
Severity: major
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11974 11974]
Frequency: always
 
Description: patches were added to the SLES9 2.6 series to address problems in the block device and scsi disk layers. Both had I/O size limits which were too low, and caused serious performance degradation. (5482)
 
  
Severity: major
+
Description: reply_lock_interpret crash due to race with it and lock cancel.
Frequency: common
+
 
Description: the ordering of two inode semaphores changed between Linux 2.4 and 2.6, but it was not documented anywhere. As a result, Lustre still unconditionally took them in the wrong order, which could cause a deadlock if two processes on the same node tried to simultaneously truncate the same file. (5654)
+
Details: Do not replay locks that are being cancelled. Do not reference locks by their address during replay, just by their handle.  
  
Severity: minor
 
Frequency: common
 
Description: configurations including multiple TCP devices would cause lconf to try to start multiple acceptors, unless you specified different ports for each. (5277)
 
  
Severity: major
+
*Severity: normal
Frequency: very rare
 
Description: a lookup failure in MDS getattr could cause an MDS crash by not handing the error correctly. (5635)
 
  
Severity: minor
+
Frequency: only with deactivated OSTs
Frequency: common
 
Description: now we return the same kinds of errors that mount(8) does, at least, from our lustre mount handler. Better errors are coming. (5168)
 
  
Severity: minor
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11679 11679]
Frequency: common
 
Description: the ppc64/x86_64 spec files were fixed to use %{_libdir} instead of /usr/lib (5389)
 
  
Severity: major
+
Description: lstripe command fails for valid OST index
Frequency: common
 
Description: some kernels would block for memory during readahead in low-memory situations, instead of just failing. This was fixed with a kernel patch to expose a different allocation API. (5383)
 
  
Severity: enhancement
+
Details: The stripe offset is compared to 'lov->desc.ld_tgt_count' instead of lov->desc.ld_active_tgt_count.  
Description: at some point we lost the ability to do a Lustre ping from userspace; this has been replaced as liblustreapi:llapi_ping, which uses a /proc file on the backend. This has the side effect of fixing "lfs check" to return an error instead of block when the MDS is down. (5628)
 
  
Changes from v1.2.8 to v1.4.0
 
Severity: Enhancement
 
Description: prototype InfiniBand NALs were added to the tree
 
  
Severity: Enhancement
+
*Severity: minor
Description: support for ext3 disk extents and the optimized multi-block allocator were added, to improve I/O performance
 
  
Severity: Enhancement
+
Frequency: rare
Description: the OSS now performes direct I/O reads, as it has always done for writes, bypassing the poorly-performing page cache (4048)
 
  
Severity: Enhancement
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13147 13147]
Description: the logical object volume (LOV) was rewritten more sensibly; many bugs were fixed in the process, and the subsystem will be easier to maintain and extend.
 
  
Severity: minor
+
Description: block reactivating mgc import until all deactivates complete
Frequency: small, temporary memory leak is guaranteed; crash is extremely rare
 
Description: OST read/write RPC replies did not contain a "last committed" transaction number, so they were being pinned in memory on the client side for longer than necessary. In one extreme case, consisting of an I/O pattern with absolutely no other RPCs, many thousands were pinned in this way until memory was exhausted. (4966)
 
  
Severity: minor
+
Details: Fix race when failing back MDT/MGS to itself (testing)  
Frequency: always
 
Description: the kernel primitive that we used in the software watchdog thread caused it to run as uninterruptible, thus artificially increasing the load on the system to a minimum of 1.00 at all times. (5246)
 
  
Severity: minor
 
Frequency: rare
 
Description: an acute memory shortage at startup could cause an assertion in at least one place, which we now handle gracefully. (5176)
 
  
Severity: minor
+
*Severity: minor
Frequency: rare
 
Description: failing to allocate memory in one particular spot in the RPC transmit path would cause an assertion (5119)
 
  
Severity: minor
+
Frequency: only for Cray XT3
Frequency: rare
 
Description: on Portals router nodes, dumping the internal state via /proc/sys/portals/routes could cause the system to oops if the routing table was changing at that instant (4827)
 
  
Severity: Enhancement
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11706 11706]
Description: Some fixes were made to the flock/lockf code, but it's still disabled (pending 5135)
 
  
Changes from v1.2.7 to v1.2.8
+
Description: peer credits not enough on many OST per OSS systems.  
Severity: major
 
Frequency: very common
 
Description: a defect in the 1.2.7 networking code caused small messages (stat, create, etc.) to move very slowly over TCP/IP.
 
  
Severity: minor
+
Details: Use new lnet way to add credits as we need those for pings and ASTs
Frequency: common
 
Description: users should notice a more accurate "mtime" during and after file writes
 
  
Severity: minor
 
Frequency: rare
 
Description: an issue was fixed in which the signals sent by "strace" could cause a Lustre RPC to abort too soon
 
  
Severity: minor
+
*Severity: minor
Frequency: rare
 
Description: if an asynchronous write fails (because a server disk has failed, for example), we now do our best to tell the application that issued the write (although it may not always be possible)
 
  
Severity: major
+
Frequency: only with liblustre
Frequency: common
 
Description: Lustre 1.2.7 contained a partial fix for problems which, in certain cases, prevented binaries from being executed properly when stored in Lustre. This introduced different problems, so this code has been removed from 1.2.8 -- mmap support has reverted to the same state as in 1.2.6. A proper fix will appear in an early 1.4.x release.
 
  
Severity: severe
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12790 12790]
Frequency: rare
 
Description: An issue was fixed which could cause a page to be incorrectly partially zeroed on the server (resulting in data loss of between 1 and PAGE_SIZE-1 bytes). This was extremely rare, and most likely when using large-page (IA64) clients to write to small-page (IA32, x86-64) servers.
 
  
Severity: minor
+
Description: Liblustre is not releasing flock locks on file close.  
Frequency: common
 
Description: Mounting Lustre could result in significantly-degraded NFS read performance on the same node, because Lustre disables kernel readahead in favour of its own. We now do this in a way that does not impact other file systems.
 
  
allocate qswnal tx descriptors singly to avoid fragmentation (4504)
+
Details: Release flock locks on file close.  
don't LBUG on obdo_alloc() failure, use OBD_SLAB_ALLOC() (4800)
 
fix NULL dereference in /proc/sys/portals/routes (4827)
 
allow failed mdc_close() operations to be interrupted (4561)
 
stop precreate on OST before MDS would time out on it (4778)
 
discard client grant for sub-page writes on large-page clients (4520)
 
don't free dentries not owned by NFS code, check generation (4806)
 
fix lsm leak if mds_create_objects() fails (4801)
 
limit debug_daemon file size, always print CERROR messages (4789)
 
use transno after validating reply (3892)
 
process timed out requests if import state changes (3754)
 
update mtime on OST during writes, return in glimpse (4829)
 
add mkfsoptions to LDAP (4679)
 
fix socknal refcount leak preventing cleanup on failed socket (4805)
 
add software watchdogs to catch hung threads quickly (4941)
 
make lustrefs init script start after nfs is mounted
 
fix CWARN/ERROR duplication (4930)
 
support for sles 9 %post scripts
 
support for building 2.6 kernel-source packages
 
support for sles km_* packages
 
Changes from v1.2.6 to v1.2.7
 
avoid deadlock during client->OST recovery handling
 
  
avoid allocating new objects on OSTs that are full
 
  
use privileged source ports for client->{MDS,OST} connections
+
*Severity: minor
deny non-priviledged connections at server by default
 
  
Note: Because the servers will reject connections from non-privileged ports by default, it is necessary to update the clients before, or at the same time as the servers. It is not possible to update only the servers unless you specifically disable this security feature.
+
Frequency: only for RHEL4
  
rate-limit console error and warning messages
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12839 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: [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: [https://bugzilla.lustre.org/show_bug.cgi?id=12194 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: [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: enhancement
 +
 
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11563 11563]
 +
 
 +
Description: Add -o localflock option to simulate old noflock behaviour.
 +
 
 +
Details: This will achieve local-only flock/fcntl locks coherentness.
 +
 
 +
 
 +
*Severity: enhancement
 +
 
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11647 11647]
 +
 
 +
Description: update patchless client
 +
 
 +
Details: Add support for patchless client with 2.6.20, 2.6.21 and RHEL 5
 +
 
 +
 
 +
*Severity: enhancement
 +
 
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=10589 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12605 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12764 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: [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: [https://bugzilla.lustre.org/show_bug.cgi?id=12678 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: [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: normal
 +
 
 +
Frequency: rare
 +
 
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=13129 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: [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: [https://bugzilla.lustre.org/show_bug.cgi?id=12229 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: [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: normal
 +
 
 +
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: [https://bugzilla.lustre.org/show_bug.cgi?id=11662 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: [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
 +
 
 +
Frequency: rare
 +
 
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=10818 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11935 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12556 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12086 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: [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: [https://bugzilla.lustre.org/show_bug.cgi?id=12784 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: [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: normal
 +
 
 +
Frequency: rare
 +
 
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12696 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: [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: 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: normal
 +
 
 +
Frequency: SLES9 only
 +
 
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12744 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: [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: normal
 +
 
 +
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: normal
 +
 
 +
Frequency: only for sles10
 +
 
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12771 12771]
 +
 
 +
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
 +
 
 +
Frequency: rare
 +
 
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12975 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: [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: minor
 +
 
 +
Frequency: only with 10000 clients or more
 +
 
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12364 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: [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: minor
 +
 
 +
Frequency: only with huge numbers of clients
 +
 
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=11817 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: [https://bugzilla.lustre.org/show_bug.cgi?id=11706 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12747 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: [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: [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=8007 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: [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: [https://bugzilla.lustre.org/show_bug.cgi?id=10547 10547]
 +
 
 +
Description: Lustre message v2
 +
 
 +
Details: Add lustre message format v2.
 +
 
 +
 
 +
*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: [https://bugzilla.lustre.org/show_bug.cgi?id=22485 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: [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: [https://bugzilla.lustre.org/show_bug.cgi?id=11684 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: [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: [https://bugzilla.lustre.org/show_bug.cgi?id=12014 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: [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: [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: 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: major
 +
 
 +
Frequency: rare
 +
 
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12455 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: [https://bugzilla.lustre.org/show_bug.cgi?id=12432 12432]
 +
 
 +
Description: Kernel ptllnd lock ordering issue could hang a node.
 +
 
 +
 
 +
*Severity: major
 +
 
 +
Frequency: rare
 +
 
 +
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12016 12016]
 +
 
 +
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: 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: [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
 +
 
 +
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
 +
 
 +
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
  
handle mmap()ed regions coherently, by using the Lustre DLM. This will correct the "Bus error" symptom occasionally seen when running modified binaries from Lustre.
+
Bugzilla: [https://bugzilla.lustre.org/show_bug.cgi?id=12237 12237]
  
ignore -ENOENT errors in osc_destroy (3639)
+
Description: Enable lctl's peer_list for MXLND
notify osc create thread that OSC is being cleaned up (4600)
 
add nettype argument for llmount in #5d in conf-sanity.sh (3936)
 
reconstruct ost_handle() like mds_handle() (4657)
 
create a new thread to do import eviction to avoid deadlock (3969)
 
let lconf resolve symlinked-to devices (4629)
 
allow more than 32,000 subdirectories in a single directory (3244)
 
fix i_blocks count for O_DIRECT writes (3751)
 
OST returns ENOSPC from object create when no space left (4539)
 
don't send truncate RPC if file size isn't changing (4410)
 
limit OSC precreate to 1/2 of value OST considers bogus (4778)
 
rate limit CERROR/CWARN console message to avoid overload (4519)
 
GETFILEINFO dir ioctl returns LOV EA + MDS stat in 1 call (3327)
 
Changes from v1.2.5 to v1.2.6
 
avoid crash during MDS cleanup with OST shut down (2775)
 
fix loi_list_lock/oig_lock inversion on interrupted IO (4136)
 
don't use bad inodes on the MDS (3744)
 
dynamic object preallocation to improve recovery speed (4236)
 
don't hold spinlock over lock dumping or change debug flags (4401)
 
don't zero obd_dev when it is force cleaned (3651)
 
print grants to console if they go negative (4431)
 
"lctl deactivate" will stop automatic recovery attempts (3406)
 
look for existing locks in ldlm_handle_enqueue() (3764)
 
don't resolve lock handle twice in recovery avoiding race (4401)
 
Changes from v1.2.4 to v1.2.5
 
MDS->OST orphan recovery fixes
 
reduce lock hold times that may have caused timeouts under load
 
VFS fixes to avoid using invalid dentries
 
don't close LustreDB during write_conf until it is done (3860)
 
fix typo in lconf for_each_profile (3821)
 
allow dumping logs from multiple threads at one time (3820)
 
don't allow multiple threads in OSC recovery(3812)
 
fix debug_size parameters (3864)
 
fix mds_postrecov to initialize import for llog ctxt (3121)
 
replace config semaphore with spinlock (3306)
 
be sure to send a reply for a CANCEL rpc with bad export (3863)
 
don't allow enqueue to complete on a destroyed export (3822)
 
down write_lock before checking llog header bitmap (3825)
 
recover from lock replay timeout (3764)
 
up llog sem before sending rpc (3652)
 
reduce ns lock hold times when setting kms (3267)
 
change a dlm LBUG to LASSERTF, to maybe learn something (4228)
 
fix NULL deref and obd_dev leak on setup error (3312)
 
replace some LBUG about llog ops with error handling (3841)
 
don't match INVALID dentries from d_lookup and spin (3784)
 
hold dcache_lock while marking dentries INVALID and hashing (4255)
 
miscellania
 
add libwrap support for the TCP acceptor (3996)
 
add /proc/sys/portals/routes for non-root route listing (3994)
 
allow setting MDS UUID in .xml (2580)
 
print the stack of a process that LBUGs (4228)
 
Changes from v1.2.3 to v1.2.4
 
improved IO performance
 
client recovery fixes
 
lower overhead for Lustre debugging logs
 
init scripts for starting Lustre
 
don't cleanup request in ll_file_open() on failed MDS open (3430)
 
make sure to unset replay flag from failed open requests (3440)
 
if default stripe count is 0, use OST count for inode size (3636)
 
update parent mtime/ctime on client for create/unlink (2611)
 
drop dentry ref in ext3_add_link from open_connect_dentry (3266)
 
free recovery state on server during a forced cleanup (3571)
 
unregister_reply for resent reqs (3063)
 
loop back devices mounting and status check on 2.6 (3563)
 
fix resource-creation race that can provoke i_size == 0 (3513)
 
don't try to use bad inodes returned from MDS/OST fs lookup (3688)
 
more debugging for page-accounting assertion (3746)
 
return -ENOENT instead of asserting if ost getattr+unlink race (3558)
 
avoid deadlock after precreation failure (3758)
 
fix race and lock order deadlock in orphan handling (3450, 3750)
 
add validity checks when grabbing inodes from l_ast_data (3599)
 
miscellania
 
add /proc/.../recovery_status to obdfilter (3428)
 
lightweight CDEBUG infrastructure, debug daemon (3668)
 
change default OSC RPC parameters to be better on small clusters
 
turn off OST read cache for files smaller than 32MB
 
install man pages and include them in rpms (3100)
 
add new init script for (un)mounting lustre filesystems (2593)
 
run chkconfig in %post for init scripts (3701)
 
drop scimac NAL (unmaintained)
 
Changes from v1.2.2 to v1.2.3
 
recoverable OST fixes
 
other recovery fixes
 
scheduling hang in newer kernels fixed
 
clean kiobufs before and after use (3485)
 
strip trailing '/'s before comparing paths with /proc/mounts (3486)
 
remove assertions to work around "in-flight rpcs" recovery bug (3063)
 
change init script to fail more clearly if not run as root (1528)
 
allow clients to reconnect during replay (1742)
 
fix ns_lock/i_sem lock ordering deadlock for kms update (3477)
 
don't do DNS lookups on NIDs too small for IP addresses (3442)
 
re-awaken ptlrpcd if new requests arrive during check_set (3554)
 
fix cond_resched (3554)
 
only evict unfinished clients after recovery (3515)
 
allow bulk resend, prevent data loss (3570)
 
dynamic ptlrpc request buffer allocation (2102)
 
don't allow unlinking open directory if it isn't empty (2904)
 
set MDS/OST threads to umask 0 to not clobber client modes (3359)
 
remove extraneous obd dereference causing LASSERT failure (3334)
 
don't use get_cycles() when creating temp. files on the mds (3156)
 
hold i_sem when setting i_size in ll_extent_lock() (3564)
 
miscellania
 
servers can dump a log evicting a client - lustre.dump_on_timeout=1
 
fix ksocknal_fmb_callback() error messages (2918)
 
Changes from v1.2.1 to v1.2.2
 
Linux 2.6 SuSE kernel support is significantly improved
 
More recovery fixes
 
don't copy lvb into (possibly NULL) reply on error (2983)
 
don't deref dentry after dput, don't free lvb on error (2922)
 
use the kms to determine writeback rpc length (2947)
 
increment oti_logcookies when osc is inactive (2948)
 
update client's i_blocks count via lvb messages (2543)
 
handle intent open/close of special files properly (1557)
 
mount MDS with errors=remount-ro, like obdfilter (2009)
 
initialize lock handle to avoid ASSERT on error cleanup (3057)
 
don't use cancelling-locks' kms values (2947)
 
use highest lock extent for kms, not last one (2925)
 
don't dereference ERR_PTR() dentry in error handling path (3107)
 
fix thread race in portals_debug_dumplog() (3122)
 
create lprocfs device entries at setup instead of at attach (1519)
 
common AST error handler, don't evict client on completion race (3145)
 
zero nameidata in detach_mnt in 2.6 (3118)
 
verify d_inode after revalidate_special is valid in 2.6 (3116)
 
use lustre_put_super() to handle zconf unmounts in 2.6 (3064)
 
initialize RPC timeout timer earlier for 2.6 (3219)
 
don't dereference NULL reply buffer if mdc_close was never sent (2410)
 
print nal/nid for unknown nid (3258)
 
additional checks for oscc recovery before doing precreate (3284)
 
fix ll_extent_lock() error return code for 64-bit systems (3043)
 
don't crash in mdc_close for bad permissions on open (3285)
 
zero i_rdev for non-device files (3147)
 
clear page->private before handing to FS, better assertion (3119)
 
fix incorrect decref of invalidated dentry (2350)
 
don't hold journal transaction open across create RPC (3313)
 
update atime on MDS at close time (3265)
 
close LDAP connection when recovering to avoid server load (3315)
 
update iopen-2.6 patch with fixes from 2399,2517,2904 (3301)
 
don't leak open file on MDS after open resend (3325)
 
serialize filter_precreate and filter_destroy_precreated (3329)
 
loop device shouldn't call sync_dev() for nul device (3092)
 
clear page cache after eviction (2766)
 
resynchronize MDS->OST in background (2824)
 
refuse to mount the same filesystem twice on same mountpoint (3394)
 
allow llmount to create routes for mounting behind routers (3320)
 
push lock cancellation to blocking thread for glimpse ASTs (3409)
 
don't call osc_set_data_with_check() for TEST_LOCK matches (3159)
 
fix rare problem with rename on htree directories (3417)
 
miscellania
 
allow default OST striping configuration per directory (1414)
 
fix compilation for qswnal for 2.6 kernels (3125)
 
increase maximum number of MDS request buffers for large systems
 
change liblustreapi to be useful for external progs like lfsck (3098)
 
increase local configuration timeout for slow disks (3353)
 
allow configuring ldlm AST timeout - lustre.ldlm_timeout=<seconds>
 
Changes from v1.2 to v1.2.1
 
improved support for Linux 2.6.x
 
fixes for glimpse AST timeouts / incorrectly 0-sized files (2818)
 
don't overwrite extent policy data in reply if lock was blocked (2901)
 
drop filter export grants atomically with removal from device (2663)
 
del obd_self_export from work_list in class_disconnect_exports (2908)
 
don't LBUG if MDS recovery times out during orphan cleanup (2530)
 
swab reply message in mdc_close, other PPC fixes (2464)
 
fix destroying of named logs (2325)
 
overwrite old logs when running lconf --write_conf (2264)
 
bump LLOG_CHUNKSIZE to 8k to allow for more OSTs (2306)
 
fix race in target_handle_connect (2898)
 
mds_reint_create() should take same inode create lock (2926)
 
correct journal credits calculated for CANCEL_UNLINK_LOG (2931)
 
don't close files for self_export to avoid uninitialized obd (2936)
 
allow MDS with the same name as client node (2939)
 
hold dentry reference for closed log files for unlink (2325)
 
reserve space for all logs during transactions (2059)
 
don't evict page beyond end of stripe extent (2925)
 
don't oops on a deleted current working directory (2399)
 
handle hard links to targets without a parent properly (2517)
 
don't dereference NULL lock when racing during eviction (2867)
 
don't grow lock extents when there are lots of conflicting locks (2919)
 
Changes from v1.0.4 to v1.2
 
ENOSPC is properly handled, to avoid data loss when disks become full (974)
 
protocol optimizations allow for faster stat() calls while other nodes are writing to a file (1021)
 
reads no longer exclude all writes from the same file (1021)
 
orphan handling to avoid leaking space on client/server crashes
 
fewer journal credits needed for writes, to improve parallelism (2370)
 
fixes for running a small-page-size MDS with large-page-size clients (2777)
 
dozes of less user-visible bugs, detailed below
 
lfsck support in lustre kernel code (2349)
 
ptlrpcd can be blocked, stopping all progress (2477)
 
takes i_sem instead of DLM locks internally on obdfilter (2720)
 
recovery for initial connections (2355)
 
fixes for mds_cleanup_orphans (1934)
 
abort_recovery crashes MDS in b_eq (mds_unlink_orphan) (2584)
 
block all file creations until orphan recovery completes (1901)
 
client remove rq_connection from request struct (2423)
 
conf-sanity test_5, proper cleanup in umount log not availale (2640)
 
recovery timer race (2670)
 
mdc_close recovey bug (2532)
 
ptlrpc cleanup bug (2710)
 
mds timeout on local locks (2588)
 
namespace lock held during RPCs (2431)
 
handle interrupted sync write properly (2503)
 
don't try to handle a message that hasn't been replied to (2699)
 
client assert failure during cleanup after abort recovery (2701)
 
leak mdc device after failed mount (2712)
 
ptlrpc_check_set allows timedout requests to complete (2714)
 
wait for inflight reqs when ptlrpcd finishes (2710)
 
make sure unregistered services are removed from the srv_list
 
reset bulk XID's when resending them (caught by 1138 test)
 
unregister_bulk after timeout
 
handle write after unfinished setstripe, stripe-only getstripe (2388)
 
readahead locks pages, leaves pending causing memory pressure (2673)
 
increase OST request buffers to 4096 on large machines (2729)
 
fix up permission of existing directories in simple_mkdir (2661)
 
init deleted item, add assertions ptlrpc_abort_inflight() (2725)
 
don't assign transno to errored transactions (2742)
 
don't delete objects on OST if given a bogus objid from MDS (2751)
 
if rq_no_resend, then timeout request after recovery (2432)
 
fix MDS llog_logid record size, 64-bit array alignment (2733)
 
don't call usermode_helper from ptlrpcd, DEFAULT upcall (2773)
 
put magic in mount.lustre data, check for bad/NULL mount data (2529)
 
MDS recovery shouldn't delete objects that it has given out (2730)
 
don't unlock pages twice when trigger_group_io returns error (2814)
 
don't deref NULL rq_repmsg if ldlm_handle_enqueue failed (2822)
 
don't write pages to disk if there was an error (1450)
 
don't ping imports that have recovery disabled (2676)
 
take buffered bytes into account when balancing socknal conn (2817)
 
hold a DLM lock over readdir always, use truncate_inode_pages (2706)
 
reconnect unlink llog connection after MDS reconnects to OST (2816)
 
remove little-endian swabbing of llog records (1987)
 
set/limit i_blksize to LL_MAX_BLKSIZE on client (2884)
 
retry reposting request buffers if they fail (1191)
 
grow extent at grant time to avoid granting a revoked lock (2809)
 
lock revoke doesn't evict page if covered by a second lock (2765)
 
disable VM readahead to avoid reading outside lock extents (2805)
 
return LL_SUPER_MAGIC from statfs for the filesystem type (1972)
 
updated kernel patches for hp-2.4.20 kernel (2681)
 
Changes from v1.0.3 to v1.0.4
 
fix truncated write corruption (2366)
 
zero end of page at obdfilter for partial page writes (2648)
 
fix for failed assertion in iopen_connect_dentry (1792, 2517)
 
don't flag the ptlrpcd thread with PF_MEMALLOC (2636)
 
ensure len(uuid) < 37 in lmc (1171)
 
don't leave stale dentries around after renames (bug 2428)
 
fix timeouts when evicting a client with a single lock held (2642)
 
set deadline for the initial HELLO message to drain (2634)
 
print out dotted-quad IP addresses in the socknal (2302)
 
additional debugging for MDS client eviction problem (2443)
 
fix mkfsoptions support for osts (2603, 2604)
 
Changes from v1.0.2 to v1.0.3
 
added kernel patch series for vanilla 2.6.0 and vanilla 2.4.24
 
fix object leak when renaming a file to itself (2429)
 
fix "lfs find --obd" (2510)
 
add a /proc tunable to disable the obdfilter's read cache (2591)
 
disable nagle in the socknal under 0conf to improve MDS performance (2578)
 
fix several bugs in the kernel-source RPM (2516)
 
add --disable-doc to avoid PDF generation (2421)
 
add --ptldebug and --subsystem to lmc (1719)
 
don't take the new-inode lock after a failed creation (2362)
 
allocate memory with _NOFS in the DLM to avoid deadlock (1933)
 
when a client is evicted, wake threads waiting for locks (2460)
 
recalculate the rpcd timeout after resend (2494)
 
call vfs_rmdir when removing "pending" directories in recovery (2368)
 
lmc now creates a default one-stripe lov (2454)
 
expand procfs space to handle large clusters (2326)
 
stop LDAP rpm packages from altering slapd.conf (2301)
 
choose MDS inode size based on stripe count (2572)
 
avoid format warnings on ia64
 
updated documentation
 
Changes from v1.0.1 to v1.0.2
 
change default debug level to reasonable production setting
 
reduce client side cache size to reduce cache flush time
 
reduce max RPCs in flight to avoid unnecessary file fragmentation
 
make TCP zerocopy and pinger support enabled by default (2476)
 
sync writes completed after process exits caused crashes (2319)
 
better file I/O statistics gathering in /proc
 
don't take unnecessary, deadlock-inducing bug in readpage (2383)
 
another kernel patch to fix zero-copy TCP function export
 
don't take duplicate lock when processing re-sent getattr (2420)
 
MDS/OST recovery case which requires object creation asserted (2425)
 
move lfs from /usr/sbin to /usr/bin in packages
 
fix race between mds_client_add and mds_client_free (2417)
 
use kmalloc instead of slabs in portals (2430)
 
don't create duplicate records when a failover MDS is present (2442)
 
remove unnecessary mount age check (2332)
 
don't remove directory inodes from locks prematurely (2451)
 
don't break if MDS service name is the same as hostname (2103)
 
fix races in client write RPC generation when cache full (2482)
 
Changes from v1.0 to v1.0.1
 
some users reported problems building the kernel or Lustre, with an error about "UTS_RELEASE". This problem was caused by building an SMP kernel with a non-SMP /boot/kernel.h, or vice versa. The kernel source RPM supplied with v1.0.1 should correct this issue.
 
many changes which reduce the likelihood of memory allocation failures
 
fix a category of lock inversions in the MDS getattr/reint paths
 
fix three other rare lock inversion or i_sem/journal inversion bugs
 
fix NULL dereference crash in certain OST startup failure cases
 
fix a race condition in the lock manager which could allow delinquent clients to avoid eviction
 
protect MDS inode fsdata with stronger locking, to prevent an assertion during MDS_CLOSE operations
 
avoid cancelling a lock which was never granted, which causes an assertion, after a lock match failure
 
fix two rare exit paths which could leak an internal lock reference
 
fencepost error in MDS/OST orphan recovery
 
lstripe now fails when the requested offset > OST count
 
ensure that all kernel patch series have a complete list.h
 
better error messages when a client is rejected during recovery
 
changes to the log format, to allow zero-conf configurations with more than 100 OSTs
 
fix gcc 2.96 compilation problem in xattr kernel patch
 
x86-64 compile warning fixes
 
small update to the lfs documentation
 

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

Severity: enhancement
Description: Update kernel to RHEL5.2 2.6.18-92.1.26.

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.

Severity: enhancement
Description: Update kernel to RHEL4.7 2.6.9-78.0.22.

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.

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.

Severity: enhancement
Description: Update kernel to SLES10 SP2 2.6.16.60-0.37.

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.

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.

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.

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.

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.

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.

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.

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().

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.

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.

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.


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.

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.

Severity: normal
Description: fix credit flow deadlock in uptllnd

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.

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.

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'.

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

Severity: normal
Frequency: rare
Description: panic in mds_open
Details: don't confuse mds_finish_transno() with PTR_ERR(-ENOENT)

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.

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.

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.

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()

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.

Severity: minor
Frequency: always
Description: shrink LOV EAs before replying
Details: correctly adjust LOV EA buffer for reply.

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.

Severity: enhancement
Description: Update to RHEL5 kernel-2.6.18-92.1.17.el5.

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.

Severity: enhancement
Description: Update to sles9 kernel-2.6.5-7.314.

Severity: enhancement
Description: Update to SLES10 SP2 kernel-2.6.16.60-0.31.

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.

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.

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.

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.

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.

Severity: major
Description: Hitting mdc_commit_close() ASSERTION
Details: Properly handle request reference release in ll_release_openhandle().

Severity: normal
Description: Prevent import from entering FULL state when server in recovery

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.

Severity: normal
Frequency: rare
Description: replace ptlrpcd with the statahead thread to interpret the async statahead RPC callback

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.

Severity: enhancement
Description: Update to RHEL5 kernel-2.6.18-92.1.10.el5.

Severity: enhancement
Description: Update to SLES10 SP2 kernel-2.6.16.60-0.27.

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.

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.

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.

Severity: enhancement
Description: Export bytes_read/bytes_write count on OSC/OST.

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.

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

Severity: enhancement
Description: Add lustre_start utility to start or stop multiple Lustre servers from a CSV file.

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.

Severity: enhancement
Description: More exported tunables for mballoc
Details: Add support for tunable preallocation window and new tunables for large/small requests

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.

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.

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.

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.

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.

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.

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

Severity: normal
Description: ptl_send_rpc hits LASSERT when ptl_send_buf fails
Details: only hits under out-of-memory situations

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).

Severity: normal
Frequency: occasionally, only on patchless client
Description: add workaround for race between add/remove dentry from hash

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.

Severity: normal
Frequency: occasionally, during recovery
Description: Prevent import from entering FULL state when server in recovery

Severity: normal
Frequency: rare
Description: replace ptlrpcd with the statahead thread to interpret the async statahead RPC callback

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.

Severity: enhancement
Description: Update to RHEL5 kernel-2.6.18-92.1.10.el5.

Severity: enhancement
Description: Update to SLES10 SP2 kernel-2.6.16.60-0.27.

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.

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.

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.

Severity: normal
Frequency: rare
Description: statfs sometimes returns stale values on the client
Details: restore missing copy oi_flags to lov requests.

Severity: enhancement
Description: Update to SLES9 kernel-2.6.5-7.312.

Severity: enhancement
Description: Update to RHEL4 kernel-2.6.9-67.0.22.EL.

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.

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.

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.

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.

Severity: enhancement
Description: Update to SLES10 SP2 kernel-2.6.16.60-0.23.

Severity: enhancement
Description: Update to RHEL5 kernel-2.6.18-92.1.6.el5.

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.

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.

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

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.

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.

Severity: enhancement
Description: Update to RHEL4 kernel-2.6.9-67.0.20.

Severity: normal
Frequency: rare, only during unmount
Description: add refcount for osc callbacks, so avoid panic on shutdown

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.

Severity: enhancement
Description: Update to RHEL5 kernel-2.6.18-53.1.21.el5.

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.

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.

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.

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.

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.

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

Severity: enhancement
Description: Update to RHEL5 kernel-2.6.18-53.1.19.el5.

Severity: enhancement
Description: Update to RHEL4 kernel-2.6.9-67.0.15.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

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.

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.

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.

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.

Severity: enhancement
Description: add -gid, -group, -uid, -user options to lfs find

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.

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.

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.

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.

Severity: major
Description: mds fails to respond, threads stuck in ldlm_completion_ast
Details: Sort source/child resource pair after updating child resource.

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.

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.

Severity: normal
Description: add quota statistics
Details: 1. sort out quota proc entries and proc code. 2. add quota statistics

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.

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.

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.

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

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.

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.

Severity: minor
Description: journal_dev option does not work in b1_6
Details: pass mount option during pre-mount.

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.

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.

Severity: normal
Frequency: only on Cray X2
Description: X2 build failures
Details: fix build failures on Cray X2.

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.

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.


Severity: normal
Description: RPM packages did not include InfinBand support
Details: The Lustre 1.6.5 did not include InfiniBand RPM packages.

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.

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

Bugzilla: 15406 15169 15175

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

Bugzilla: 12829 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: 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.

Bugzilla: 13547 , 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: 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