diff --git a/lustre/ChangeLog b/lustre/ChangeLog index f59cb9cd3d3af5c312096f46f020388ada62052e..569729e322cda6b0c164a7032d51490c1d058166 100644 --- a/lustre/ChangeLog +++ b/lustre/ChangeLog @@ -48,20 +48,15 @@ Bugzilla : 15278 Description: fix build on ppc32 Details : compile code with -m64 flag produce wrong object file for ppc32. -Severity : normal -Bugzilla : 15212 -Description: Reinitialize optind to 0 so that interactive lfs works in all cases - ------------------------------------------------------------------------------- -04-26-2008 Sun Microsystems, Inc. +2008-05-26 Sun Microsystems, Inc. * version 1.6.5 * 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 http://wiki.lustre.org/index.php?title=Patchless_Client) @@ -81,11 +76,34 @@ Description: Reinitialize optind to 0 so that interactive lfs works in all cases 'tunefs.lustre --param="mdt.quota_type=ug1" $MDTDEV'. For more information, please refer to bugzilla 13904. -Severity : normal +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 : 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 @@ -130,6 +148,11 @@ 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 @@ -204,7 +227,7 @@ Severity : enhancement Bugzilla : 15416 Description: Update kernel to SLES9 2.6.5-7.311. -Severity : normal +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. @@ -216,7 +239,7 @@ Description: Add server support for vanilla-2.6.22.14. Severity : normal Frequency : occasional Bugzilla : 13375 -Description: make lov_create() will not stuck in obd_statfs_rqset() +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. @@ -534,8 +557,8 @@ Description: Allow masking D_WARNING, D_ERROR messages from console Details : Console messages can now be disabled via lnet.printk. Severity : normal -Bugzilla : 14614 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 @@ -2272,6 +2295,7 @@ 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. + ------------------------------------------------------------------------------ 2007-04-01 Cluster File Systems, Inc. <info@clusterfs.com> diff --git a/lustre/tests/sanity.sh b/lustre/tests/sanity.sh index 1f68de365089351350842b772f0b21fee6fdc6c9..3c32b70693e7541841a1010c8b4e9201f257ee2e 100644 --- a/lustre/tests/sanity.sh +++ b/lustre/tests/sanity.sh @@ -3812,6 +3812,50 @@ test_102g() { } run_test 102g "star copy files, keep osts ===========" +test_102h() { # bug 15777 + [ -z $(lctl get_param -n mdc.*.connect_flags | grep xattr) ] && + skip "must have user_xattr" && return + [ -z "$(which setfattr 2>/dev/null)" ] && + skip "could not find setfattr" && return + + XBIG=trusted.big + XSIZE=1024 + touch $DIR/$tfile + VALUE=datadatadatadatadatadatadatadata + while [ $(echo $VALUE | wc -c) -lt $XSIZE ]; do + VALUE="$VALUE$VALUE" + done + log "save $XBIG on $DIR/$tfile" + setfattr -n $XBIG -v "$VALUE" $DIR/$tfile || + error "saving $XBIG on $DIR/$tfile failed" + ORIG=$(getfattr -n $XBIG $DIR/$tfile 2> /dev/null | grep $XBIG) + OSIZE=$(echo $ORIG | wc -c) + [ $OSIZE -lt $XSIZE ] && error "set $XBIG too small ($OSIZE < $XSIZE)" + + XSML=trusted.sml + log "save $XSML on $DIR/$tfile" + setfattr -n $XSML -v val $DIR/$tfile || + error "saving $XSML on $DIR/$tfile failed" + NEW=$(getfattr -n $XBIG $DIR/$tfile 2> /dev/null | grep $XBIG) + if [ "$NEW" != "$ORIG" ]; then + log "orig: $ORIG" + log "new: $NEW" + error "$XBIG different after saving $XSML" + fi + + log "grow $XSML on $DIR/$tfile" + setfattr -n $XSML -v "$VALUE" $DIR/$tfile || + error "growing $XSML on $DIR/$tfile failed" + NEW=$(getfattr -n $XBIG $DIR/$tfile 2> /dev/null | grep $XBIG) + if [ "$NEW" != "$ORIG" ]; then + log "orig: $ORIG" + log "new: $NEW" + error "$XBIG different after growing $XSML" + fi + log "$XBIG still valid after growing $XSML" +} +run_test 102h "grow xattr from inside inode to external block" + run_acl_subtest() { $LUSTRE/tests/acl/run $LUSTRE/tests/acl/$1.test