Whamcloud - gitweb
Branch HEAD
[fs/lustre-release.git] / lustre / ChangeLog
index 894ae0c..f6ed4e6 100644 (file)
@@ -14,6 +14,13 @@ tbd  Sun Microsystems, Inc.
        * File join has been disabled in this release, refer to Bugzilla 16929.
 
 Severity   : enhancement
+Bugzilla   : 1819
+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
 Bugzilla   : 15966
 Description: Re-disable certain /proc logging
 Details    : Enable and disable client's offset_stats, extents_stats and
@@ -1499,6 +1506,231 @@ Description: Zap lock->l_granted_mode with explicit LCK_MINMODE.
 Details    : Use LCK_MINMODE rather than 0 to reset lock->l_granted_mode to
             its initial state.
 
+Severity   : normal
+Bugzilla   : 16450
+Description: Add lockdep support for ldlm_lock and ldlm_resource.
+Details    : Use spin_lock_nested() in (the only) situation where more than
+            one ldlm_lock is locked simultaneously. Also, fix possible
+            dead-lock in ldlm_lock_change_resource() by enforcing particular
+            lock ordering.
+
+Severity   : normal
+Bugzilla   : 16450
+Description: Use struct ldlm_callback_suite in ldlm_lock_create().
+Details    : Instead of specifying each ldlm_lock call-back through separate
+            parameter, wrap them into struct ldlm_callback_suite.
+
+Severity   : normal
+Bugzilla   : 16450
+Description: Kill join_lru obd method and its callers.
+Details    : CLIO uses lock weighting policy to keep locks over mmapped regions
+            in memory---a requirement implemented through ->o_join_lru() obd
+            method in HEAD. Remove this method and its users.
+
+Severity   : normal
+Bugzilla   : 16450
+Description: Add asynchronous ldlm ENQUEUE completion handler.
+Details    : CLIO posts ENQUEUE requests asynchronously through ptlrpcd---a
+            case that stock ldlm_completion_ast() cannot handle as it waits
+            until lock is granted. Introduce new ldlm_completion_ast_async()
+            for this. Also comment ldlm_completion_ast().
+
+Severity   : normal
+Bugzilla   : 16450
+Description: ldlm_error <-> errno conversion.
+Details    : Add functions to map (rather arbitrary) between LDLM error codes
+            and standard errno values. CLIO needs this to prevent LDLM specific
+            constants from escaping ldlm and osc.
+
+Severity   : minor
+Bugzilla   : 16450
+Description: Kill unused ldlm_handle2lock_ns() function.
+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 
+        releases a reference on a lock, has to "know" what reference this is.
+        In the most frequent case
+
+                lock = ldlm_handle2lock(handle);
+                ...
+                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 
+        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 
+        a few leaked lock references.
+
+Severity   : normal
+Bugzilla   : 16450
+Description: Add ldlm_lock_addref_try().
+Details    : Introduce ldlm_lock_addref_try() function (used by CLIO) that
+            attempts to addref a lock that might be being canceled
+            concurrently.
+
+Severity   : normal
+Bugzilla   : 16450
+Description: Add ldlm_weigh_callback().
+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.
+
+Severity   : normal
+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().
+Details    : Wrap kms updates into a helper function.
+
+Severity   : minor
+Bugzilla   : 16450
+Description: Constify instances of struct lsm_operations.
+Details    : Constify instances of struct lsm_operations.
+
+Severity   : normal
+Bugzilla   : 16450
+Description: lu_conf support.
+Details    : On a server, a file system object is uniquely identified
+            by a fid, which is sufficient to locate and load all object
+            state (inode). On a client, on the other hand, more data are
+            necessary instantiate an object. Change lu_object_find() and
+            friends to take additional `lu_conf' argument describing object.
+            Typically this includes layout information.
+
+Severity   : normal
+Bugzilla   : 16450
+Description: lu_context fixes.
+Details    : Introduce new lu_context functions that are needed on the client
+            side, where some system threads (ptlrpcd) are shared by multiple
+            modules, and so cannot be stopped during module shutdown.
+
+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 
+        is destroyed respectively. This is need by CLIO.
+
+Severity   : normal
+Bugzilla   : 16450
+Description: Add lu_ref support to struct lu_device.
+Details    : Add lu_ref support to lu_object and lu_device. lu_ref is used to
+            track leaked references.
+
+Severity   : normal
+Bugzilla   : 16450
+Description: Introduce lu_kmem_descr.
+Details    : lu_kmem_descr and its companion interface allow to create
+            and destroy a number of kmem caches at once.
+
+Severity   : normal
+Bugzilla   : 16450
+Description: Fix lu_object finalization race.
+Details    : Fix a race between lu_object_find() finding an object and its
+            concurrent finalization. This race is (most likely) not possible
+            on the server, but might happen on the client.
+
+Severity   : normal
+Bugzilla   : 16450
+Description: Introduce lu_ref interface.
+Details    : lu_ref is a debugging module allowing to track references to
+            a given object. It is quite cpu expensive, and has to be
+            explicitly enabled with --enable-lu_ref. See usage description
+            within the patch.
+
+Severity   : minor
+Bugzilla   : 16450
+Description: Factor lu_site procfs stats into a separate function.
+Details    : Separate lu_site stats printing code into a separate function
+            that can be reused on a client.
+
+Severity   : minor
+Bugzilla   : 16450
+Description: Constify instances of struct {lu,dt,md}_device_operations.
+Details    : Constify instances of struct {lu,dt,md}_device_operations.
+
+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 
+        md_site, so that lu_site can be used on a client.
+
+Severity   : minor
+Bugzilla   : 16450
+Description: Kill mdd_lov_destroy().
+Details    : Remove unused mdd code.
+
+Severity   : minor
+Bugzilla   : 16450
+Description: Add st_block checking to multistat.c.
+Details    : Add st_block checking to multistat.c.
+
+Severity   : normal
+Bugzilla   : 16450
+Description: Add lu_ref support to struct obd_device.
+Details    : Add lu_ref tracking to obd_device.
+
+Severity   : minor
+Bugzilla   : 16450
+Description: Kill obd_set_fail_loc().
+Details    : Remove unused code.
+
+Severity   : normal
+Bugzilla   : 16450
+Description: Add special type for ptlrpc_request interpret functions.
+Details    : Add lu_env parameter to ->rq_interpreter call-back. NULL is passed 
+        there. Actual usage will be in CLIO.
+
+Severity   : normal
+Bugzilla   : 16450
+Description: Replace RW_LOCK_UNLOCKED() macro with rwlock_init().
+Details    : Replace RW_LOCK_UNLOCKED() with rwlock_init() as the former
+            doesn't work with lockdep.
+
+Severity   : normal
+Bugzilla   : 16450
+Description: Add rwv.c test program.
+Details    : New testing program exercising readv(2) and writev(2) (Qian).
+
+Severity   : normal
+Bugzilla   : 16450
+Description: Add sendfile.c test program.
+Details    : New testing program exercising sendfile(2) (Jay).
+
+Severity   : minor
+Bugzilla   : 16450
+Description: Ratelimit a message that can be very frequent.
+Details    : Ratelimit a memory allocation failure message that can
+            be too chatty.
+
+Severity   : minor
+Bugzilla   : 16450
+Description: Use cdebug_show() in CDEBUG-style macros defined outside of libcfs.
+Details    : Use cdebug_show() in CDEBUG-style macros defined outside of libcfs.
+
+Severity   : normal
+Bugzilla   : 16450
+Description: Liblustre build fixes.
+Details    : Liblustre build fixes.
+
+Severity   : normal
+Bugzilla   : 16450
+Description: libcfs: add cfs_{need,cond}_resched() interface.
+Details    : libcfs: add cfs_{need,cond}_resched() definition and
+            implementations for Linux, NT, and liblustre.
+
 --------------------------------------------------------------------------------
 
 2007-08-10         Cluster File Systems, Inc. <info@clusterfs.com>