Whamcloud - gitweb
Branch HEAD
[fs/lustre-release.git] / lustre / ChangeLog
index 8e62a04..e5ff69e 100644 (file)
-tbd         Cluster File Systems, Inc. <info@clusterfs.com>
        * version 1.8.0
        * Support for kernels:
-        2.6.5-7.286 (SLES 9),
-        2.6.9-55.EL (RHEL 4),
-        2.6.16.46-0.14 (SLES 10),
+        2.6.5-7.287.3 (SLES 9),
+        2.6.9-55.0.12.EL (RHEL 4),
+        2.6.16.54-0.2.3 (SLES 10),
+        2.6.18-53.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.9-42.0.10.EL (RHEL 4),
         2.6.16 - 2.6.21 vanilla (kernel.org)
-       * Recommended e2fsprogs version: 1.39.cfs8
+       * Recommended e2fsprogs version: 1.40.2-cfs5
        * Note that reiserfs quotas are disabled on SLES 10 in this kernel.
 
+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.
+
+Severity   : major
+Bugzilla   : 14260
+Frequency  : rare, at shutdown
+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
+Bugzilla   : 14418
+Frequency  : only at startup
+Description: not alloc memory with spinlock held.
+Details    : allocation memory with GFP_KERNEL can produce sleep deadlock,
+             if any spinlock held.
+
+Severity   : enhancement
+Bugzilla   : 12211
+Description: make lustre randomly fail allocating memory
+Details    : Make lustre randomly failed allocating memory for testing purpose.
+
+Severity   : enhancement
+Bugzilla   : 12702
+Description: lost problems with lov objid file
+Details    : Fixes some scability and access to not inited memory problems 
+             in work with lov objdid file.
+
+Severity   : major
+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   : 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   : normal
+Bugzilla   : 13969
+Description: Update to RHEL5 kernel 2.6.18-8.1.15.el5.
+
+Severity   : normal
+Bugzilla   : 13874
+Description: Update to SLES10 SP1 kernel 2.6.16.53-0.16
+
+Severity   : normal
+Bugzilla   : 13889
+Description: Update to SLES9 kernel-2.6.5-7.287.3.
+
+Severity   : normal
+Bugzilla   : 14041
+Description: Update to RHEL4 latest kernel.
+
+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   : normal
+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   : normal
+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 difinitions instead.
+
+Severity   : normal
+Bugzilla   : 13521
+Description: Update kernel patches for SLES10 2.6.16.53-0.8.
+Details    : Update which_patch & target file for SLES10 latest kernel.
+
+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   : 2262
+Description: self-adjustable client's lru lists
+Details    : use adaptive algorithm for managing client cached locks lru 
+            lists according to current server load, other client's work
+            pattern, memory activities, etc. Both, server and client 
+            side namespaces provide number of proc tunables for controlling 
+            things
+
+Severity   : enhancement
+Bugzilla   : 13641
+Description: light-weight GSS support
+Details    : Support krb5n and krb5a mode, which keep Kerberos 5 authentication
+            and reduce performance overhead.
+
+Severity   : enhancement
+Bugzilla   : 11832
+Description: Linux keyring support
+Details    : Support using service of Linux keyring for Lustre GSS internal
+            context refresh/cache mechanism.
+
+Severity   : normal
+Bugzilla   : 12186
+Description: Fix errors in lfs documentation
+Details    : Fixes man pages
+
 Severity   : normal
 Bugzilla   : 12606
 Description: don't use GFP_* in generic Lustre code.
@@ -33,7 +166,7 @@ Bugzilla   : 13177
 Frequency  : Only for SLES
 Description: sanity_quota fail test_1
 Details    : There are multiple occurences of $TSTUSR in SLES's /etc/group
-             file, which makes TSTID[2] inunique.
+            file, which makes TSTID[2] inunique.
 
 Severity   : normal
 Bugzilla   : 13249
@@ -67,14 +200,14 @@ Bugzilla   : 11974
 Frequency  : Rare
 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.
+            locks by their address during replay, just by their handle.
 
 Severity   : normal
 Bugzilla   : 13103
 Frequency  : When flocks are used.
 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,
+            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.
 
@@ -94,7 +227,7 @@ Severity   : normal
 Bugzilla   : 12584
 Description: sanity.sh failed test 103
 Details    : RHEL mis-interpret setfacl "-X" param, so we won't test setfacl
-             with param "-X".
+            with param "-X".
 
 Severity   : normal
 Bugzilla   : 12743
@@ -122,6 +255,306 @@ Bugzilla   : 11248
 Description: merge and cleanup kernel patches.
 Details    : Remove mnt_lustre_list in vfs_intent-2.6-rhel4.patch.
 
+Severity   : normal
+Bugzilla   : 10657
+Description: Add journal checksum support.(Kernel part)
+Details    : The journal checksum feature adds two new flags i.e 
+            JBD2_FEATURE_INCOMPAT_ASYNC_COMMIT and 
+            JBD2_FEATURE_COMPAT_CHECKSUM. JBD2_FEATURE_CHECKSUM flag 
+            indicates that the commit block contains the checksum for
+            the blocks described by the descriptor blocks. Now commit
+            record can be sent to disk without waiting for descriptor
+            blocks to be written to disk. This behavior is controlled
+            using JBD2_FEATURE_ASYNC_COMMIT flag.
+
+Severity   : minor
+Bugzilla   : 12446
+Description: OSS needs mutliple precreate threads
+Details    : Add ability to start more than one create thread per OSS.
+
+Severity   : normal
+Bugzilla   : 13362
+Description: Sanity.sh test_65k failed: setstripe should have succeeded
+Details    : execute lfs setstripe on client
+
+Severity   : major
+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
+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
+Bugzilla   : 13039
+Description: RedHat Update kernel for RHEL5
+Details    : Add the kernel config file for RHEL5.
+
+Severity   : normal
+Bugzilla   : 13039
+Description: RedHat Update kernel for RHEL5
+Details    : Modify the kernel config file more closer RHEL5.
+
+Severity   : normal
+Bugzilla   : 13360
+Description: Build failure against Centos5 (RHEL5)
+Details    : Define PAGE_SIZE when it isn't present.
+
+Severity   : minor
+Bugzilla   : 13363
+Description: test_7 on sanity-quota.sh can't be used on separate machines
+Details    : add facet to handle it
+
+Severity   : normal
+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   : enhancement
+Bugzilla   : 12786
+Description: lfs setstripe enhancement
+Details    : Make lfs setstripe understand 'k', 'm' and 'g' for stripe size.
+
+Severity   : normal
+Bugzilla   : 12398
+Description: enable data checksumming by default
+Details    : enable checksum by default, allow --disable-checksum
+            configure option and "-o nochecksum" mount option.  Checksums
+            can also be disabled at runtime via $LPROC/osc/*/checksum_pages.
+
+Severity   : normal
+Bugzilla   : 11802
+Description: lustre support for RHEL5
+Details    : Add support for RHEL5.
+
+Severity   : normal
+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   : minor
+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   : normal 
+Bugzilla   : 13125
+Description: osts not allocated evenly to files
+Details    : change the condition to increase offset_idx 
+
+Severity   : critical
+Frequency  : Always for filesystems larger than 2TB on 32-bit systems.
+Bugzilla   : 13547
+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   : normal
+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   : cleanup
+Bugzilla   : 13532
+Description: rewrite ext2-derived code in obdclass/uuid.c
+Details    : rewrite inherited code (uuid parsing code from ext2 utils)
+            from scratch preserving functionality.
+
+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   : minor
+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   : 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  : only with liblustre clients on XT3
+Bugzilla   : 12418
+Description: evictions taking too long
+Details    : allow llrd to evict clients directly on OSTs
+
+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   : 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   : normal
+Bugzilla   : 13304
+Frequency  : Always, for kernels after 2.6.16
+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   : 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 
+            overrun may occur. Adding buffer overrun check in liblustreapi.
+
+Severity   : normal
+Bugzilla   : 13334
+Description: Fix error on 'ls .' at the top of the Lustre mount.
+Details    : Don't revalidate dentry if it is a root dentry.
+
+Severity   : normal
+Bugzilla   : 13518
+Description: Kernel patches update for RHEL4 2.6.9-55.0.6.
+Details    : Modify vm-tunables-rhel4.patch.
+
+Severity   : normal
+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   : major
+Bugzilla   : 11710
+Description: improve handling recoverable errors
+Details    : if request processig with error which can be recoverable on server
+            request should be resend, otherwise page released from cache and
+            marked as error.
+
+Severity   : critical
+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   : major
+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 the stats section from
+            osc_send_oap_rpc() into async_internal().
+
+Severity   : normal
+Bugzilla   : 13454
+Description: Add jbd statistics patch for RHEL5 and 2.6.18-vanilla
+
+Severity   : minor
+Bugzilla   : 13732 
+Description: change order of libsysio includes
+Details    : '#include sysio.h' should always come before '#include xtio.h'
+
+Severity   : normal
+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   : 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   : normal
+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   : critical
+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   : 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
+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
+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.
+
 --------------------------------------------------------------------------------
 
 2007-08-10         Cluster File Systems, Inc. <info@clusterfs.com>
@@ -148,6 +581,13 @@ 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  : 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.
+
 Severity   : enhancement
 Bugzilla   : 12194
 Description: add optional extra BUILD_VERSION info
@@ -411,9 +851,7 @@ Details    : dev_clear_rdonly(bdev) must be called in kill_bdev() instead of
 Severity   : minor
 Bugzilla   : 11706
 Description: service threads may hog cpus when there are a lot of requests
-             coming
-Details    : Insert cond_resched to give other threads a chance to use some of
-             the cpu
+Details    : Insert cond_resched to give other threads a chance to use some CPU
 
 Severity   : normal
 Frequency  : rare
@@ -429,35 +867,50 @@ 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}.
+            recorded as log2. Also remove some code duplication arising from
+            filter_tally_{read,write}.
 
 Severity   : normal
 Bugzilla   : 11674
 Frequency  : rare, only in recovery.
 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.
+            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.
+            from its resource list.
 
 Severity   : normal
 Bugzilla   : 11737
 Description: Short directio read returns full requested size rather than
-             actual amount read.
+            actual amount read.
 Details    : Direct I/O operations should return actual amount of bytes
-             transferred rather than requested size.
+            transferred rather than requested size.
 
 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 side
-             and packing thier handles into the main operation RPC to server.
+            by canceling conflicing lock before the operation on the client
+            and packing thier handles into the main operation RPC to server.
+
+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   : 12702
+Description: refine locking for avoid write wrong info into lov_objid file
+Details    : fix possible races with add new target and write/update data in 
+            lov_objid file.
 
 --------------------------------------------------------------------------------
 
@@ -480,7 +933,7 @@ 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.
-
+       
 --------------------------------------------------------------------------------
 
 2007-04-19  Cluster File Systems, Inc. <info@clusterfs.com>
@@ -497,6 +950,7 @@ Details    : The __iget() symbol export is missing.  To avoid the need for
        * bug fixes
 
 
+
 Severity   : enhancement
 Bugzilla   : 8007
 Description: MountConf
@@ -534,8 +988,7 @@ 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.
+            set on a per-server basis, at mkfs time or on a live system.
        
 Severity   : enhancement
 Bugzilla   : 10547
@@ -552,15 +1005,15 @@ Severity   : minor
 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.
+            and not depend on stripe size.
        
 Severity   : enhancement
 Bugzilla   : 9293
 Description: Multiple MD RPCs in flight.
 Details    : Further unserialise some read-only MDS RPCs - learn about intents.
-             To avoid overly-overloading MDS, introduce a limit on number of
-             MDS RPCs in flight for a single client and add /proc controls
-             to adjust this limit.
+            To avoid overly-overloading MDS, introduce a limit on number of
+            MDS RPCs in flight for a single client and add /proc controls
+            to adjust this limit.
 
 Severity   : enhancement
 Bugzilla   : 22484