Whamcloud - gitweb
Branch HEAD
[fs/lustre-release.git] / lustre / ChangeLog
index 66fd419..1c2fd25 100644 (file)
 tbd  Sun Microsystems, Inc.
        * version 2.0.0
        * Support for kernels:
-        2.6.16.60-0.27 (SLES 10),
-        2.6.18-92.1.10.el5 (RHEL 5),
+        2.6.16.60-0.37 (SLES 10),
+        2.6.18-128.1.6.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)
         2.6.16 - 2.6.21 vanilla (kernel.org)
-       * Recommended e2fsprogs version: 1.40.11-sun1
+       * Recommended e2fsprogs version: 1.41.6.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 cwd "./" (refer to Bugzilla 14399).
        * File join has been disabled in this release, refer to Bugzilla 16929.
 
+Severity   : normal
+Bugzilla   : 19529
+Description: Avoid deadlock for local client writes
+Details    : Use new OBD_BRW_MEMALLOC flag to notify OST about writes in the
+            memory freeing context. This allows OST threads to set the
+            PF_MEMALLOC flag on task structures in order to allocate memory
+            from reserved pools and complete IO.
+            Use GFP_HIGHUSER for OST allocations for non-local client writes,
+            so that the OST threads generate memory pressure and allow
+            inactive pages to be reclaimed.
+
+Severity   : normal
+Frequency  : rare
+Bugzilla   : 18380
+Description: lock ordering violation between &cli->cl_sem and _lprocfs_lock
+Details    : move ldlm namespace creation in setup phase to avoid grab
+            _lprocfs_lock with cli_sem held.
+
+Severity   : normal
+Bugzilla   : 19507
+Description: Temporarily disable grant shrink.
+Details    : Disable the feature for debugging.
+
+Severity   : normal 
+Bugzilla   : 18624 
+Description: Unable to run several mkfs.lustre on loop devices at the same
+            time.
+Details    : mkfs.lustre returns error 256 on the concurrent loop devices
+            formatting. The solution is to proper handle the error.   
+
+Severity   : enhancement
+Bugzilla   : 19024
+Description: Update kernel to RHEL5.3 2.6.18-128.1.6.el5.
+
+Severity   : enhancement
+Bugzilla   : 19212
+Description: Update kernel to SLES10 SP2 2.6.16.60-0.37.
+
+Severity   : normal
+Bugzilla   : 19528
+Description: resolve race between obd_disconnect and class_disconnect_exports
+Details    : if obd_disconnect will be called to already disconnected export he
+             forget release one reference and osc module can't unloaded.
+
+Severity   : enhancement
+Bugzilla   : 18688
+Description: Allow tuning service thread via /proc
+Details    : For each service a new
+            /proc/fs/lustre/{service}/*/thread_{min,max,started} entry is
+            created that can be used to set min/max thread counts, and get the
+            current number of running threads.
+
+Severity   : normal
+Bugzilla   : 18382
+Descriptoin: don't return error if have particaly created objects for file.
+Details    : lov_update_create_set uses set->set_success as index for created objects,
+             so if some requests will be failed, they will have hole at end of
+             array and we can use qos_shrink_lsm for allocate correct lsm.
+
+Severity   : enhancement
+Bugzilla   : 17671
+Description: Update OFED support to 1.4.1
+
+Severity   : normal
+Bugzilla   : 18645
+Description: Reduce small size read RPC
+Details    : Set read-ahead limite for every file and only do read-ahead when
+            available read-ahead pages are bigger than 1M to avoid small size
+            read RPC.
+
+Severity   : enhancement
+Bugzilla   : 19293
+Description: move AT tunable parameters for more consistent usage
+Details    : add AT tunables under /proc/sys/lustre, add to conf_param parsing
+
+Severity   : enhancement
+Bugzilla   : 17974
+Description: add lazystatfs mount option to allow statfs(2) to skip down OSTs
+Details    : allow skip disconnected ost for send statfs request and hide error
+             in this case.
+
+Severity   : major
+Frequency  : rare
+Bugzilla   : 18810
+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.
+
+Severity   : normal
+Frequency  : rare, on llog test 6
+Bugzilla   : 16839
+Descriptoin: don't allow connect to already connected import
+Details    : allowing connect to already connected import is hide connecting problem.
+
+Severity   : normal
+Frequency  : rare
+Bugzilla   : 18902
+Descriptoin: allow kill process which wait statahead result
+Details    : for some reasons 'ls' can stick in waiting result from statahead,
+             in this case need way for kill this process.
+
+Severity   : enhancement
+Bugzilla   : 18798
+Description: Add state history info file, enhance import info file
+Details    : Track import connection state changes in a new osc/mdc proc file;
+             add overview-type data to the osc/mdc import proc file.
+
+Severity   : enhancement
+Bugzilla   : 17536
+Description: MDS create should not wait for statfs RPC while holding DLM lock.
+
+Severity   : enhancement
+Bugzilla   : 18289
+Description: Update to RHEL5U3 kernel-2.6.18-128.1.1.el5.
+
+Severity   : normal
+Frequency  : normal
+Bugzilla   : 12069
+Descriptoin: OST grant too much space to client even there are not enough space.
+Details    : Client will shrink its grant cache to OST if there are no write
+            activity over 6 mins (GRANT_SHRINK_INTERVAL), and OST will retrieve
+            this grant cache if there are already not enough avaible space
+            (left_space < total_clients * 32M).
+
+Severity   : normal
+Frequency  : start MDS on uncleanly shutdowned MDS device
+Bugzilla   : 16839
+Descriptoin: ll_sync thread stay in waiting mds<>ost recovery finished
+Details    : stay in waiting mds<>ost recovery finished produce random bugs
+             due race between two ll_sync thread for one lov target. send
+             ACTIVATE event only if connect realy finished and import have
+             FULL state.
+
+Severity   : normal
+Frequency  : rare, connect and disconnect target at same time
+Bugzilla   : 17310
+Descriptoin: ASSERTION(atomic_read(&imp->imp_inflight) == 0
+Details    : don't call obd_disconnect under lov_lock. this long time
+             operation and can block ptlrpcd which answer to connect request.
+
+Severity   : normal
+Frequency  : rare
+Bugzilla   : 18154
+Descriptoin: don't lose wakeup for imp_recovery_waitq
+Details    : recover_import_no_retry or invalidate_import and import_close can
+             both sleep on imp_recovery_waitq, but we was send only one wakeup
+             to sleep queue.
+
+Severity   : normal
+Frequency  : always with long access acl
+Bugzilla   : 17636
+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   : enhancement
+Bugzilla   : 18061
+Description: Update to SLES10 kernel-2.6.16.60-0.33.
+
+Severity   : enhancement
+Bugzilla   : 18060
+Description: Update to RHEL5 kernel-2.6.18-92.1.22.el5.
+
+Severity   : normal
+Frequency  : start MDS on uncleanly shutdowned MDS device
+Bugzilla   : 18049
+Descriptoin: aborting recovery hang on MDS
+Details    : don't throttle destroy RPCs for the MDT.
+
+Severity   : major
+Frequency  : on remount
+Bugzilla   : 18018
+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
+Bugzilla   : 17802
+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   : normal
+Frequency  : rare, need acl's on inode.
+Bugzilla   : 16492
+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
+Bugzilla   : 15699
+Description: Changelogs
+Details    : Changelogs are a lightweight mechanism to track filesystem
+             metadata and namespace changes.  The changelog is recorded
+             permanently on the MDTs, and is periodically "consumed" / purged
+             when records are no longer needed.
+
+Severity   : enhancement
+Bugzilla   : 15957
+Description: compact fld format with extents
+Details    : Store range of seq rather than every seq in FLD. Seq
+             controller update FLD rather than clients. In Case of CMD, mdt0
+             has FLD, all other metadata server act as non persistent proxy
+             for FLD queries and cache fld entries in fld cache.
+
+Severity   : normal
+Frequency  : rare
+Bugzilla   : 16081
+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   : normal
+Bugzilla   : 16080
+Description: more cleanup in mds_lov
+Details    : not send LOV EA under replay, we can't know about they size at this
+             time. Don't allow client connect to mds before any ost connected,
+             for avoid problems with LOV EA size and returning EIO to client.
+
+Severity   : enhancement
+Bugzilla   : 11826
+Description: Interoperability at server side (Disk interoperability)
+
+Severity   : enhancement
+Bugzilla   : 17201
+Description: Update to RHEL5 kernel-2.6.18-92.1.17.el5.
+
+Severity   : enhancement
+Bugzilla   : 17458
+Description: Update to SLES10 SP2 kernel-2.6.16.60-0.31.
+
+Severity   : enhancement
+Bugzilla   : 14166
+Description: New client IO stack (CLIO).
+
+Severity   : enhancement
+Bugzilla   : 15393
+Description: Commit on sharing. Eliminate inter-client dependencies between
+            uncommitted transactions by doing transaction commits.
+            Thereby clients may recovery independently.
+
+Severity   : normal
+Frequency  : Create a symlink file with a very long name
+Bugzilla   : 16578
+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   : enhancement
 Bugzilla   : 1819
 Description: Add /proc entry for import status
@@ -45,6 +304,15 @@ Description: Hitting mdc_commit_close() ASSERTION
 Details    : Properly handle request reference release in
             ll_release_openhandle().
 
+Severity   : major
+Bugzilla   : 14840
+Description: quota recovery deadlock during mds failover
+Details    : This patch includes att18982, att18236, att18237 in bz14840.
+             Slove the problems:
+             1. fix osts hang when mds does failover with quotaon
+             2. prevent watchdog storm when osts threads wait for the
+               recovery of mds
+
 Severity   : normal
 Bugzilla   : 15975
 Frequency  : only patchless client
@@ -114,10 +382,11 @@ 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
 Bugzilla   : 15899
 Description: File striping can now be set to use an arbitrary pool of OSTs.
-       
+
 Severity   : enhancement
 Bugzilla   : 16573
 Description: Export bytes_read/bytes_write count on OSC/OST.
@@ -129,6 +398,23 @@ Details    : Apply the MGS_CONNECT_SUPPORTED mask at reconnect time so
             the connect flags are properly negotiated.
 
 Severity   : normal
+Frequency  : often
+Bugzilla   : 16125
+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   : normal
+Bugzilla   : 15058
+Description: add quota statistics
+Details    : 1. sort out quota proc entries and proc code.
+            2. add quota statistics
+
+Severity   : enhancement
+Bugzilla   : 13058
+Description: enable quota support for HEAD.
+
+Severity   : normal
 Bugzilla   : 16006
 Description: Properly propagate oinfo flags from lov to osc for statfs
 Details    : restore missing copy oi_flags to lov requests.
@@ -1549,9 +1835,9 @@ Details    : Kill unused ldlm_handle2lock_ns() function.
 Severity   : normal
 Bugzilla   : 16450
 Description: Add lu_ref support to ldlm_lock
-Details    : lu_ref support for ldlm_lock and ldlm_resource. See lu_ref patch. 
-        lu_ref fields ->l_reference and ->lr_reference are added to ldlm_lock 
-        and ldlm_resource. LDLM interface has to be changed, because code that 
+Details    : lu_ref support for ldlm_lock and ldlm_resource. See lu_ref patch.
+        lu_ref fields ->l_reference and ->lr_reference are added to ldlm_lock
+        and ldlm_resource. LDLM interface has to be changed, because code that
         releases a reference on a lock, has to "know" what reference this is.
         In the most frequent case
 
@@ -1559,12 +1845,12 @@ Details    : lu_ref support for ldlm_lock and ldlm_resource. See lu_ref patch.
                 ...
                 LDLM_LOCK_PUT(lock);
 
-        no changes are required. When any other reference (received _not_ from 
-        ldlm_handle2lock()) is released, LDLM_LOCK_RELEASE() has to be called 
+        no changes are required. When any other reference (received _not_ from
+        ldlm_handle2lock()) is released, LDLM_LOCK_RELEASE() has to be called
         instead of LDLM_LOCK_PUT().
 
         Arguably, changes are pervasive, and interface requires some discipline
-        for proper use. On the other hand, it was very instrumental in finding 
+        for proper use. On the other hand, it was very instrumental in finding
         a few leaked lock references.
 
 Severity   : normal
@@ -1577,7 +1863,7 @@ Details    : Introduce ldlm_lock_addref_try() function (used by CLIO) that
 Severity   : normal
 Bugzilla   : 16450
 Description: Add ldlm_weigh_callback().
-Details    : Add new ->l_weigh_ast() call-back to ldlm_lock. It is called 
+Details    : Add new ->l_weigh_ast() call-back to ldlm_lock. It is called
         by ldlm_cancel_shrink_policy() to estimate lock "value", instead of
         hard-coded `number of pages' logic.
 
@@ -1586,7 +1872,7 @@ Bugzilla   : 16450
 Description: Add lockdep annotations to llog code.
 Details    : Use appropriately tagged _nested() locking calls in the places
             where llog takes more than one ->lgh_lock lock.
-       
+
 Severity   : minor
 Bugzilla   : 16450
 Description: Add loi_kms_set().
@@ -1617,8 +1903,8 @@ Details    : Introduce new lu_context functions that are needed on the client
 Severity   : normal
 Bugzilla   : 16450
 Description: Add start and stop methods to lu_device_type_operations.
-Details    : Introduce two new methods in lu_device_type_operations, that are 
-        invoked  when first instance of a given type is created and last one 
+Details    : Introduce two new methods in lu_device_type_operations, that are
+        invoked  when first instance of a given type is created and last one
         is destroyed respectively. This is need by CLIO.
 
 Severity   : normal
@@ -1663,7 +1949,7 @@ Severity   : normal
 Bugzilla   : 16450
 Description: Introduce struct md_site and move meta-data specific parts of
             struct lu_site here.
-Details    : Move md-specific fields out of struct lu_site into special struct 
+Details    : Move md-specific fields out of struct lu_site into special struct
         md_site, so that lu_site can be used on a client.
 
 Severity   : minor
@@ -1736,6 +2022,100 @@ Description: More exported tunables for mballoc
 Details    : Add support for tunable preallocation window and new tunables for
             large/small requests
 
+Severity   : normal
+Bugzilla   : 16680
+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 filesystem readonly to prevent further corruptions.
+
+Severity   : normal
+Bugzilla   : 17197
+Description: (rw.c:1323: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
+Bugzilla   : 16438
+Frequency  : only for big-endian servers
+Description: Check if system is big-endian while mounting fs with extents feature
+Details    : Mounting a filesystem with extents feature will fail on big-endian
+             systems since ext3-based ldiskfs is not supported on big-endian
+             systems. This can be over-riden with "bigendian_extents" mount option.
+
+Severity   : enhancement
+Bugzilla   : 12749
+Description: The root squash functionality
+Details    : A security feature, which is to prevent users from being able
+             to mount lustre on their desktop, run as root, and delete
+             all of the files in the filesystem. The goal is accomplished by
+             remapping user id (UID) and group id (GID) of the root user to
+             a UID and GID specified by the system administartor via Lustre
+             configuration management server (MGS). The functionality also
+             allows to specify sets of clients for which the remapping does
+             not apply.
+
+Severity   : normal
+Bugzilla   : 16860
+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
+Bugzilla   : 16522
+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   : major
+Frequency  : rare, only if using MMP with Linux RAID
+Bugzilla   : 17895
+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.
+
+Severity   : enhancement
+Bugzilla   : 17187
+Description: open file using fid
+Details    : A file can be opened using just its fid, like
+            <mntpt>/.lustre/fid/SEQ:OID:VER - this is needed for HSM and replication
+
+Severity   : normal
+Frequency  : Only in RHEL5 when mounting multiple ext3 filesystems
+            simultaneously
+Bugzilla   : 19184
+Description: "kmem_cache_create: duplicate cache jbd_4k" error message
+Details    : add proper locking for creation of jbd_4k slab cache
+
+Severity   : normal
+Bugzilla   : 19058
+Description: MMP check in ext3_remount() fails without displaying any error
+Details    : When multiple mount protection fails during remount, proper error
+            should be returned
+
+Severity   : enhancement
+Bugzilla   : 16823
+Description: Allow stripe size to be up to 4G-64k
+Details    : Fix math logic to allow large stripe sizes.
+
+Severity   : high
+Bugzilla   : 17569
+Description: add check for >8TB ldiskfs filesystems
+Details    : ext3-based ldiskfs does not support greater than 8TB LUNs.
+            Don't allow >8TB ldiskfs filesystems to be mounted without
+            force_over_8tb mount option
+
 --------------------------------------------------------------------------------
 
 2007-08-10         Cluster File Systems, Inc. <info@clusterfs.com>
@@ -2121,7 +2501,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>
@@ -2156,7 +2536,7 @@ 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
@@ -2169,13 +2549,13 @@ 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
@@ -2192,7 +2572,7 @@ 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   : enhancement
 Bugzilla   : 9293
 Description: Multiple MD RPCs in flight.
@@ -3461,7 +3841,7 @@ Description: Configuration change for the XT3
             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   : major
 Frequency  : rare
 Bugzilla   : 7407
@@ -5399,7 +5779,7 @@ tbd         Cluster File Systems, Inc. <info@clusterfs.com>
        * add hard link support
        * change obdfile creation method
        * kernel patch changed
-       
+
 2002-09-19  Peter Braam  <braam@clusterfs.com>
        * version 0_5_9
        * bug fix