* 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 : 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
+ extents_stats_per_process stats logging on the fly.
+
+Severity : major
+Frequency : Only on FC kernels 2.6.22+
+Bugzilla : 16303
+Description: oops in statahead
+Details : Do not drop reference count for the dentry from VFS when lookup,
+ VFS will do that by itself.
+
+Severity : enhancement
+Bugzilla : 16643
+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
Bugzilla : 16561
ll_release_openhandle().
Severity : normal
+Bugzilla : 15975
+Frequency : only patchless client
+Description: add workaround for race between add/remove dentry from hash
+
+Severity : enhancement
+Bugzilla : 16845
+Description: Allow OST glimpses to return PW locks
+
+Severity : minor
+Bugzilla : 16717
+Description: LBUG when llog conf file is full
+Details : When llog bitmap is full, ENOSPC should be returned for plain
+ log.
+
+Severity : normal
+Bugzilla : 16907
+Description: Prevent import from entering FULL state when server in recovery
+
+Severity : major
+Bugzilla : 16750
+Description: service mount cannot take device name with ":"
+Details : Only when device name contains ":/" will mount treat it as
+ client mount.
+
+Severity : normal
Bugzilla : 15927
Frequency : rare
Description: replace ptlrpcd with the statahead thread to interpret the async
- statahead RPC callback
+ statahead RPC callback
Severity : normal
Bugzilla : 16611
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.
+ instead of find server handler is changed and process self eviction
+ with cancel all locks.
Severity : enhancement
Bugzilla : 16633
Bugzilla : 16566
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
+ 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
Bugzilla : 16583
Frequency : rare
-Description: avoid messages about idr_remove called for id which is not allocated.
-Details : Move assigment s_dev for clustered nfs to end of initialization, for
- avoid problem with error handling.
+Description: avoid idr_remove called for id which is not allocated.
+Details : Move assigment s_dev for clustered nfs to end of initialization,
+ to avoid problem with error handling.
Severity : minor
Bugzilla : 16109
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.
+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.
Bugzilla : 16237
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.
+ the connect flags are properly negotiated.
Severity : normal
Bugzilla : 16006
Severity : enhancement
Bugzilla : 16581
Description: Add man pages for llobdstat(8), llstat(8), plot-llstat(8),
- : l_getgroups(8), lst(8), routerstat(8)
+ : l_getgroups(8), lst(8), routerstat(8)
Details : included man pages for llobdstat(8), llstat(8),
- : plot-llstat(8), l_getgroups(8), lst(8), routerstat(8)
+ : plot-llstat(8), l_getgroups(8), lst(8), routerstat(8)
Severity : enhancement
Bugzilla : 16091
Description: configure's --enable-quota should check the
- : kernel .config for CONFIG_QUOTA
+ : kernel .config for CONFIG_QUOTA
Details : configure is terminated if --enable-quota is passed but
- : no quota support is in kernel
+ : no quota support is in kernel
Severity : normal
Bugzilla : 13139
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.
+ 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 : enhancement
Bugzilla : 11270
Bugzilla : 15346
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
+ that was implemented as tracking first and last lock of each
+ lock group the patch changes that to using doubly linked lists
Severity : normal
Bugzilla : 15574
Description: MDS LBUG: ASSERTION(!IS_ERR(dchild))
Details : Change LASSERTs to client eviction (i.e. abort client's recovery)
- because LASSERT on both the data supplied by a client, and the data
- on disk is dangerous and incorrect.
+ because LASSERT on both the data supplied by a client, and the
+ data on disk is dangerous and incorrect.
Severity : enhancement
Bugzilla : 10718
Bugzilla : 10555
Description: Add a FIEMAP(FIle Extent MAP) ioctl
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.
+ 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
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.
+ 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 : only on Cray X2
+Bugzilla : 16813
+Description: X2 build failures
+Details : fix build failures on Cray X2.
+
+Severity : normal
+Bugzilla : 2066
+Description: xid & resent requests
+Details : Initialize RPC XID from clock at startup (randomly if clock is
+ bad).
+
+Severity : enhancement
+Bugzilla : 14095
+Description: Add lustre_start utility to start or stop multiple Lustre servers
+ from a CSV file.
+
+Severity : major
+Bugzilla : 17024
+Description: Lustre GPF 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.
+
+Severity : normal
+Bugzilla : 17026
+Description: (ptllnd_peer.c:557:kptllnd_peer_check_sends()) ASSERTION(!in_interrupt()) failed
+Details : fix stack overflow in the distributed lock manager by defering export
+ eviction after a failed ast to the elt thread instead of handling
+ it in the dlm interpret routine.
+
+Severity : normal
+Bugzilla : 16450
+Description: Convert some comments to new format.
+Details : Update documenting comments to match doxygen conventions.
+
+Severity : normal
+Bugzilla : 16450
+Description: Grammar fixes.
+Details : A couple of trivial spelling fixes.
+
+Severity : normal
+Bugzilla : 16450
+Description: OSD_COUNTERS-mandatory
+Details : Make previously optional ->oti_{w,r}_locks sanity checks mandatory
+ to simplify the code.
+
+Severity : normal
+Bugzilla : 16450
+Description: simplify cmm_device freeing logic.
+Details : Call cmm_device_free() in the failure path of cmm_device_alloc().
+
+Severity : normal
+Bugzilla : 16450
+Description: Add lockdep support to dt_object_operations locking interface.
+Details : Augment ->do_{read,write}_lock() prototypes with a `role' parameter
+ indicating lock ordering. Update mdd code to use new locking
+ interface.
+
+Severity : normal
+Bugzilla : 16450
+Description: Introduce failloc constants for lockless IO tests.
+Details : Add two new failloc constants to test lockless IO. Only one of
+ them in implemented---another is checked in yet to be landed
+ core CLIO code.
+
+Severity : normal
+Bugzilla : 16450
+Description: Add lockdep support for inode mutex.
+Details : Introduce and use new LOCK_INODE_MUTEX_PARENT() macro to be used
+ in the situations where Lustre has to lock more than one inode
+ mutex at a time.
+
+Severity : normal
+Bugzilla : 16450
+Description: Add optional invariants checking support.
+Details : Add new LINVRNT() macro, optional on new --enable-invariants
+ configure switch. This macro is to be used for consistency and
+ sanity checks that are too expensive to be left in `production'
+ mode.
+
+Severity : minor
+Bugzilla : 16450
+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.
--------------------------------------------------------------------------------
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.
+ 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 : 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 : enhancement
Bugzilla : 12702
for details.
* bug fixes
-
-
Severity : enhancement
Bugzilla : 8007
Description: MountConf