Whamcloud - gitweb
b=12186
[fs/lustre-release.git] / lustre / ChangeLog
index ac222b1..22a0031 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.18-8.1.8.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.40.2-cfs1
+       * Note that reiserfs quotas are disabled on SLES 10 in this kernel.
+
+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.
+Details    : Use cfs_alloc_* functions and CFS_* flags for code portability.
+
+Severity   : normal
+Bugzilla   : 12333
+Description: obdclass is limited by single OBD_ALLOC(idarray)
+Details    : replace OBD_ALLOC/OBD_FREE with OBD_VMALLOC/OBD_VFREE
+
+Severity   : normal
+Bugzilla   : 13006
+Description: warnings with build patchless client with vanila 2.6.19 and up
+Details    : change old ctl_table style and replace ctl_table/ctl_table_header
+            with cfs_sysctl_table_t/cfs_sysctl_table_header_t
+
+Severity   : normal
+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.
+
+Severity   : normal
+Bugzilla   : 13249
+Frequency  : Only for SLES9
+Description: Kernel patches for SLES9 2.6.5-7.286 kernel
+Details    : Update target/ChangeLog/which_patch .
+
+Severity   : normal
+Bugzilla   : 13170
+Frequency  : Only for test_10 in sanity-quota.sh
+Description: a bug in quota test code
+Details    : checking a test flag in a wrong place
+
+Severity   : normal
+Bugzilla   : 13171
+Frequency  : Only for test_13 in sanity-quota.sh
+Description: a bug in quota test script
+Details    : shouldn't check overfull allocated quota
+
+Severity   : normal
+Bugzilla   : 12955
+Description: jbd statistics
+Details    : Port older jbd statistics patch for sles10
+
+Severity   : enhancement
+Bugzilla   : 11721
+Description: Add printing inode info into message about error in writepage.
+
+Severity   : normal
+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.
+
+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,
+            so teach ldlm_cli_enquque_fini that this is a valid case for
+            flock locks.
+
+Severity   : minor
+Bugzilla   : 13276
+Frequency  : rare
+Description: Oops in read and write path when failing to allocate lock.
+Details    : Check if lock allocation failed and return error back.
+
+Severity   : normal 
+Bugzilla   : 11679
+Description: lstripe command fails for valid OST index
+Details    : The stripe offset is compared to lov->desc.ld_tgt_count
+            instead of lov->desc.ld_active_tgt_count.
+
+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".
+
+Severity   : normal
+Bugzilla   : 12743
+Description: df doesn't work properly if diskfs blocksize != 4K
+Details    : Choose biggest blocksize of OST's as the LOV's blocksize.
+
+Severity   : normal
+Bugzilla   : 12836
+Description: lfs find on -1 stripe looping in lsm_lmm_verify_common()
+Details    : Avoid lov_verify_lmm_common() on directory with -1 stripe count.
+
+Severity   : major
+Bugzilla   : 12932
+Description: obd_health_check_timeout too short
+Details    : set obd_health_check_timeout as 1.5x of obd_timeout
+
+Severity   : normal
+Bugzilla   : 12192
+Description: llapi_file_create() does not allow some changes
+Details    : add llapi_file_open() that allows specifying the mode and 
+            open flags, and also returns an open file handle.
+
+Severity   : normal
+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: testing performance impact of enabling checksumming
+Details    : enable checksum by default, allow --disable-checksum 
+            configure option and "-o nochecksum" mount option 
+
+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   : 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.
+--------------------------------------------------------------------------------
+
+2007-08-10         Cluster File Systems, Inc. <info@clusterfs.com>
        * version 1.6.1
        * Support for kernels:
-        2.6.9-42.0.10.EL (RHEL 4)
-        2.6.5-7.283 (SLES 9)
-        2.6.12.6 vanilla (kernel.org)
-        2.6.16.27-0.9 (SLES 10)
+        2.6.5-7.283 (SLES 9),
+        2.6.9-55.EL (RHEL 4),
+        2.6.16.46-0.14 (SLES 10),
+        2.6.18.8 vanilla (kernel.org)
        * Client support for unpatched kernels:
-       (see https://mail.clusterfs.com/wikis/lustre/PatchlessClient)
-       2.6.16 - 2.6.19 vanilla (kernel.org)
-       2.6.9-42.0.8EL (RHEL 4)
-       * Recommended e2fsprogs version: 1.39.cfs6
-       * bug fixes
-       * Note that reiserfs quotas are temporarily disabled on SLES 10 in this
-        kernel.
+        (see http://wiki.lustre.org/index.php?title=Patchless_Client)
+        2.6.16 - 2.6.22 vanilla (kernel.org)
+       * Due to recently discovered recovery problems, we do not recommend
+        using patchless RHEL 4 clients with this or any earlier release.
+       * Recommended e2fsprogs version: 1.39.cfs8
+       * Note that reiserfs quotas are disabled on SLES 10 in this kernel.
+       * Starting with this release, the ldiskfs backing filesystem required
+        by Lustre is now in its own package, lustre-ldiskfs.  This package
+        should be installed.  It is versioned separately from Lustre and
+        may be released separately in future.
 
 Severity   : minor
-Bugzilla   : 11512
-Description: Remove write from health_check, add configure option
-Details    : While an OSS is under a heavy ost_destroy load reading the 
-            proc entry /proc/fs/lustre/health_check can take an unreasonably 
-             long time.  This disrupts our ability the effectively monitor 
-             the health of the filesystem. (LLNL)
+Bugzilla   : 13147
+Description: block reactivating mgc import until all deactivates complete
+Details    : Fix race when failing back MDT/MGS to itself (testing)
+
+Severity   : enhancement
+Bugzilla   : 12194
+Description: add optional extra BUILD_VERSION info
+Details    : add a new environment variable (namely LUSTRE_VERS) which allows
+            to override the lustre version.
+
+Severity   : normal
+Frequency  : 2.6.18 servers only
+Bugzilla   : 12546
+Description: ll_kern_mount() doesn't release the module reference
+Details    : The ldiskfs module reference count never drops down to 0
+            because ll_kern_mount() doesn't release the module reference.
+
+Severity   : normal
+Frequency  : rare
+Bugzilla   : 12470
+Description: server LBUG when using old ost_num_threads parameter
+Details    : Accept the old ost_num_threads parameter but warn that it
+            is deprecated, and fix an off-by-one error that caused an LBUG.
+
+Severity   : normal
+Frequency  : rare
+Bugzilla   : 11722
+Description: Transient SCSI error results in persistent IO issue
+Details    : iobuf->dr_error is not reinitialized to 0 between two
+            uses.
+
+Severity   : normal
+Frequency  : sometimes when underlying device returns I/O errors
+Bugzilla   : 11743
+Description: OSTs not going read-only during write failures
+Details    : OSTs are not remounted read-only when the journal commit threads
+            get I/O errors because fsfilt_ext3 calls journal_start/stop()
+            instead of the ext3 wrappers.
+
+Severity   : minor
+Bugzilla   : 12364
+Description: poor connect scaling with increasing client count
+Details    : Don't run filter_grant_sanity_check for more than 100 exports
+            to improve scaling for large numbers of clients.
+
+Severity   : normal
+Frequency  : SLES10 only
+Bugzilla   : 12538
+Description: sanity-quota.sh quotacheck failed: rc = -22
+Details    : Quotas cannot be enabled on SLES10.
+
+Severity   : normal
+Frequency  : liblustre clients only
+Bugzilla   : 12229
+Description: getdirentries does not give error when run on compute nodes
+Details    : getdirentries does not fail when the size specified as an argument
+            is too small to contain at least one entry
 
 Severity   : enhancement
 Bugzilla   : 11548
 Description: Add LNET router traceability for debug purposes
 Details    : If a checksum failure occurs with a router as part of the
-             IO path, the NID of the last router that forwarded the bulk data
+            IO path, the NID of the last router that forwarded the bulk data
             is printed so it can be identified.
 
 Severity   : normal
@@ -34,14 +328,14 @@ Frequency  : rare
 Bugzilla   : 11315
 Description: OST "spontaneously" evicts client; client has imp_pingable == 0
 Details    : Due to a race condition, liblustre clients were occasionally
-             evicted incorrectly.
+            evicted incorrectly.
 
 Severity   : enhancement
 Bugzilla   : 10997
-Description: lfs setstripe use optional parameters instead of postional 
+Description: lfs setstripe use optional parameters instead of postional
             parameters.
 
-Severity   : enhancement 
+Severity   : enhancement
 Bugzilla   : 10651
 Description: Nanosecond timestamp support for ldiskfs
 Details    : The on-disk ldiskfs filesystem has added support for nanosecond
@@ -78,6 +372,216 @@ Details    : If reconnect happened between getting open reply from server and
             Check that request is still eligible for replay in
             mdc_set_replay_data().
 
+Severity   : minor
+Frequency  : rare
+Bugzilla   : 11512
+Description: disable writes to filesystem when reading health_check file
+Details    : the default for reading the health_check proc file has changed
+            to NOT do a journal transaction and write to disk, because this
+            can cause reads of the /proc file to hang and block HA state
+            checking on a healthy but otherwise heavily loaded system.  It
+            is possible to return to the previous behaviour during configure
+            with --enable-health-write.
+
+Severity   : enhancement
+Bugzilla   : 10768
+Description: 64-bit inode version
+Details:   : Add a on-disk 64-bit inode version for ext3 to track changes made
+            to the inode. This will be required for version-based recovery.
+
+Severity   : normal
+Frequency  : rare
+Bugzilla   : 11818
+Description: MDS fails to start if a duplicate client export is detected
+Details    : in some rare cases it was possible for a client to connect to
+            an MDS multiple times.  Upon recovery the MDS would detect this
+            and fail during startup.  Handle this more gracefully.
+
+Severity   : enhancement
+Bugzilla   : 11563
+Description: Add -o localflock option to simulate  old noflock
+behaviour.
+Details    : This will achieve local-only flock/fcntl locks
+            coherentness.
+
+Severity   : minor
+Frequency  : rare
+Bugzilla   : 11658
+Description: log_commit_thread vs filter_destroy race leads to crash
+Details    : Take import reference before releasing llog record semaphore
+
+Severity   : normal
+Frequency  : rare
+Bugzilla   : 12477
+Description: Wrong request locking in request set processing
+Details    : ptlrpc_check_set wrongly uses req->rq_lock for proctect add to
+            imp_delayed_list, in this place should be used imp_lock.
+
+Severity   : normal
+Frequency  : when reconnection
+Bugzilla   : 11662
+Description: Grant Leak when osc reconnect to OST
+Details    : When osc reconnect ost, OST(filter) should check whether it
+            should grant more space to client by comparing fed_grant and
+            cl_avail_grant, and return the granted space to client instead
+            of "new granted" space, because client will call osc_init_grant
+            to update the client grant space info.
+
+Severity   : normal
+Frequency  : when client reconnect to OST 
+Bugzilla   : 11662
+Description: Grant Leak when osc do resend and replay bulk write
+Details           : When osc reconnect to OST, OST(filter)should clear grant info of
+            bulk write request, because the grant info while be sync between
+            OSC and OST when reconnect, and we should ignore the grant info
+            these of resend/replay write req.
+
+Severity   : normal
+Frequency  : rare 
+Bugzilla   : 11662
+Description: Grant space more than avaiable left space sometimes.
+Details           : When then OST is about to be full, if two bulk writing from
+            different clients came to OST. Accord the avaliable space of the
+            OST, the first req should be permitted, and the second one
+            should be denied by ENOSPC. But if the seconde arrived before 
+            the first one is commited. The OST might wrongly permit second
+            writing, which will cause grant space > avaiable space.
+
+Severity   : normal
+Frequency  : when client is evicted 
+Bugzilla   : 12371
+Description: Grant might be wrongly erased when osc is evicted by OST
+Details    : when the import is evicted by server, it will fork another 
+            thread ptlrpc_invalidate_import_thread to invalidate the 
+            import, where the grant will be set to 0.  While the original 
+            thread will update the grant it got when connecting. So if 
+            the former happened latter, the grant will be wrongly errased 
+            because of this race.
+
+Severity   : normal
+Frequency  : rare 
+Bugzilla   : 12401
+Description: Checking Stale with correct fid 
+Details    : ll_revalidate_it should uses de_inode instead of op_data.fid2 
+            to check whether it is stale, because sometimes, we want the 
+            enqueue happened anyway, and op_data.fid2 will not be initialized.
+
+Severity   : enhancement
+Bugzilla   : 11647
+Description: update patchless client
+Details    : Add support for patchless client with 2.6.20, 2.6.21 and RHEL 5
+
+Severity   : normal
+Frequency  : only with 2.4 kernel
+Bugzilla   : 12134
+Description: random memory corruption
+Details    : size of struct ll_inode_info is to big for union inode.u and this
+            can be cause of random memory corruption.
+
+Severity   : normal
+Frequency  : rare 
+Bugzilla   : 10818
+Description: Memory leak in recovery
+Details    : Lov_mds_md was not free in an error handler in mds_create_object.
+            It should also check obd_fail before fsfilt_start, otherwise if 
+            fsfilt_start return -EROFS,(failover mds during mds recovery).
+            then the req will return with repmsg->transno = 0 and rc = EROFS. 
+            and we met hit the assert LASSERT(req->rq_reqmsg->transno ==
+            req->rq_repmsg->transno) in ptlrpc_replay_interpret.  Fcc should 
+            be freed no matter whether fsfilt_commit success or not.
+
+Severity   : minor
+Frequency  : only with huge count clients
+Bugzilla   : 11817
+Description: Prevents from taking the superblock lock in llap_from_page for 
+            a soon died page.
+Details    : using LL_ORIGIN_REMOVEPAGE origin flag instead of LL_ORIGIN_UNKNOW 
+            for llap_from_page call in ll_removepage prevents from taking the 
+            superblock lock for a soon died page.
+
+Severity   : normal
+Frequency  : rare
+Bugzilla   : 11935 
+Description: Not check open intent error before release open handle
+Details    : in some rare cases, the open intent error is not checked before
+            release open handle, which may cause
+            ASSERTION(open_req->rq_transno != 0), because it tries to release
+            the failed open handle.
+
+Severity   : normal
+Frequency  : rare
+Bugzilla   : 12556 
+Description: Set cat log bitmap only after create log success. 
+Details    : in some rare cases, the cat log bitmap is set too early. and it 
+            should be set only after create log success.
+
+Severity   : major
+Bugzilla   : 11971
+Description: Accessing a block bevice can re-enable I/O when Lustre is
+            tearing down a device.
+Details    : dev_clear_rdonly(bdev) must be called in kill_bdev() instead of
+            blkdev_put().
+
+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
+
+Severity   : normal
+Frequency  : rare
+Bugzilla   : 12086 
+Description: the cat log was not initialized in recovery 
+Details    : When mds(mgs) do recovery, the tgt_count might be zero, so the
+            unlink log on mds will not be initialized until mds post
+            recovery. And also in mds post recovery, the unlink log will 
+            initialization will be done asynchronausly, so there will be race
+            between add unlink log and unlink log initialization.
+
+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}.
+
+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.
+
+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.
+
+Severity   : normal
+Bugzilla   : 11737
+Description: Short directio read returns full requested size rather than
+             actual amount read.
+Details    : Direct I/O operations should return actual amount of bytes
+             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.
+
+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.
+
 --------------------------------------------------------------------------------
 
 2007-05-03  Cluster File Systems, Inc. <info@clusterfs.com>
@@ -85,12 +589,21 @@ Details    : If reconnect happened between getting open reply from server and
        * bug fixes
 
 Severity   : normal
-Frequency  : on some architectures     
+Frequency  : on some architectures
 Bugzilla   : 12404
 Description: 1.6 client sometimes fails to mount from a 1.4 MDT
 Details    : Uninitialized flags sometimes cause configuration commands to
             be skipped.
-       
+
+Severity   : normal
+Frequency  : patchless clients only
+Bugzilla   : 12391
+Description: missing __iget() symbol export
+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>
@@ -98,24 +611,16 @@ Details    : Uninitialized flags sometimes cause configuration commands to
        * CONFIGURATION CHANGE.  This version of Lustre WILL NOT
         INTEROPERATE with older versions automatically.  In many cases a
         special upgrade step is needed. Please read the
-        user documentation before upgrading any part of a 1.4.x system.
+        user documentation before upgrading any part of a live system.
+       * WIRE PROTOCOL CHANGE from previous 1.6 beta versions.  This
+         version will not interoperate with 1.6 betas before beta5 (1.5.95).  
        * WARNING: Lustre configuration and startup changes are required with
         this release.  See https://mail.clusterfs.com/wikis/lustre/MountConf
         for details.
-       * Support for kernels:
-        2.4.21-47.0.1.EL (RHEL 3)
-        2.6.5-7.283 (SLES 9)
-        2.6.9-42.0.10.EL (RHEL 4)
-        2.6.12.6 vanilla (kernel.org)
-        2.6.16.27-0.9 (SLES10)
-       * Client support for unpatched kernels:
-        (see https://mail.clusterfs.com/wikis/lustre/PatchlessClient)
-        2.6.16 - 2.6.19 vanilla (kernel.org)
-        2.6.9-42.0.8EL (RHEL 4)
-       * Recommended e2fsprogs version: 1.39.cfs6
-       * Note that reiserfs quotas are disabled on SLES 10 in this kernel
        * bug fixes
 
+
+
 Severity   : enhancement
 Bugzilla   : 8007
 Description: MountConf
@@ -135,7 +640,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
@@ -147,15 +652,15 @@ Bugzilla   : 9862
 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.
-
+            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
+             set on a per-server basis, at mkfs time or on a live
             system.
-
+       
 Severity   : enhancement
 Bugzilla   : 10547
 Description: Lustre message v2
@@ -167,81 +672,37 @@ Description: client OST exclusion list
 Details    : Clients can be started with a list of OSTs that should be
             declared "inactive" for known non-responsive OSTs.
 
-Severity   : normal
-Bugzilla   : 12123
-Description: ENOENT returned for valid filehandle during dbench.
-Details    : Check if a directory has children when invalidating dentries
-             associated with an inode during lock cancellation.  This fixes
-            an incorrect ENOENT sometimes seen for valid filehandles during
-            testing with dbench.
-
 Severity   : minor
-Frequency  : SFS test only (otherwise harmless)
 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   : 10088
-Description: fine-grained SMP locking inside DLM
-Details    : Improve DLM performance on SMP systems by removing the single
-            per-namespace lock and replace it with per-resource locks.
-
-Severity   : enhancement
-Bugzilla   : 9332
-Description: don't hold multiple extent locks at one time
-Details    : To avoid client eviction during large writes, locks are not
-            held on multiple stripes at one time or for very large writes.
-            Otherwise, clients can block waiting for a lock on a failed OST
-            while holding locks on other OSTs and be evicted.
-
+             and not depend on stripe size.
+       
 Severity   : enhancement
 Bugzilla   : 9293
 Description: Multiple MD RPCs in flight.
-Details    : Further unserialise some read-only MDT RPCs - learn about intents.
-            To avoid overly-overloading MDT, introduce a limit on number of
-            MDT RPCs in flight for a single client and add /proc controls
-            to adjust this limit.
+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.
 
 Severity   : enhancement
 Bugzilla   : 22484
 Description: client read/write statistics
 Details    : Add client read/write call usage stats for performance
-            analysis of user processes.
+            analysis of user processes. 
             /proc/fs/lustre/llite/*/offset_stats shows non-sequential
             file access. extents_stats shows chunk size distribution.
             extents_stats_per_process show chunk size distribution per
-            user process.
-
-Severity   : enhancement
-Bugzilla   : 22485
-Description: per-client statistics on server
-Details    : Add ldlm and operations statistics for each client in
-            /proc/fs/lustre/mds|obdfilter/*/exports/
+            user process. 
 
 Severity   : enhancement
 Bugzilla   : 22486
-Description: improved MDT statistics
-Details    : Add detailed MDT operations statistics in
-            /proc/fs/lustre/mds/*/stats
-
-Severity   : enhancement
-Bugzilla   : 10968
-Description: VFS operations stats
-Details    : Add client VFS call stats, trackable by pid, ppid, or gid
-            /proc/fs/lustre/llite/*/vfs_ops_stats
-            /proc/fs/lustre/llite/*/vfs_track_[pid|ppid|gid]
-
-Severity   : minor
-Frequency  : always
-Bugzilla   : 6380
-Description: Fix client-side osc byte counters
-Details    : The osc read/write byte counters in
-            /proc/fs/lustre/osc/*/stats are now working
+Description: mds statistics
+Details    : Add detailed mds operations statistics in  
+            /proc/fs/lustre/mds/*/stats.
 
 Severity   : minor
-Frequency  : always as root on SLES
 Bugzilla   : 10667
 Description: Failure of copying files with lustre special EAs.
 Details    : Client side always return success for setxattr call for lustre
@@ -283,7 +744,7 @@ Details    : Added basic proc entries for the MGS showing what filesystems
 Severity   : enhancement
 Bugzilla   : 10998
 Description: provide MGS failover
-Details    : Added config lock reacquisition after MGS server failover. 
+Details    : Added config lock reacquisition after MGS server failover.
 
 Severity   : enhancement
 Bugzilla   : 11461
@@ -369,7 +830,7 @@ Bugzilla   : 11149
 Description: QOS code breaks on skipped indicies
 Details    : Add checks for missing OST indicies in the QOS code, so OSTs
             created with --index need not be sequential.
-       
+
 Severity   : enhancement
 Bugzilla   : 11264
 Description: Add uninit_groups feature to ldiskfs2 to speed up e2fsck
@@ -400,15 +861,72 @@ Details    : The mballoc3 code (ldiskfs2 only) adds new mechanisms to improve
        * Note that reiserfs quotas are disabled on SLES 10 in this kernel
        * bug fixes
 
+Severity   : critical
+Frequency  : occasional, depends on client load and configuration
+Bugzilla   : 12181, 12203
+Description: data loss for recently-modified files
+Introduced : 1.4.6
+Details    : In some cases it is possible that recently written or created
+            files may not be written to disk in a timely manner (this should
+            normally be within 30s unless client IO load is very high).
+            The problem appears as zero-length files or files that are a
+            multiple of 1MB in size after a client crash or client eviction
+            that are missing data at the end of the file.
+
+            This problem is more likely to be hit on clients where files are
+            repeatedly created and unlinked in the same directory, clients
+            have a large amount of RAM, have many CPUs, the filesystem has
+            many OSTs, the clients are rebooted frequently, and/or the files
+            are not accessed by other nodes after being written.
+
+            The presence of the problem can be detected by looking at
+            /proc/sys/fs/inode-state.  If the first number (nr_inodes) is
+            smaller than the second (nr_unused) then dirty files will not
+            be flushed automatically to disk.  "sync; sleep 10" should be
+            run several times on the node before unmounting it to update
+            Lustre (this is also safe to run on nodes without this problem).
+
+            There is also a related kernel bug in the RHEL4 4 2.6.9 kernel
+            that can cause this same problem, so customers using that kernel
+            also need to update the kernel in addition to Lustre.  In order
+            to properly fix this bug, the RHEL3 2.4.21 kernel is also updated.
+
+            It is normal that files written just before a client crash (less
+            than 30s) may not yet have been flushed to disk, even for local
+            filesystems.
+
 Severity   : normal
+Frequency  : frequent on thin XT3 nodes
+Bugzilla   : 10802
+Description: UUID collision on thin XT3 Linux nodes
+Details    : UUIDs on Compute Node Linux XT3 nodes were not generated
+            randomly, since we relied on an insufficiently-seeded PRNG.
+
+Severity   : normal
+Frequency  : rare
+Bugzilla   : 11693
+Description: OSS hangs after "All ost request buffers busy"
+Details    : A deadlock between quota and journal operations caused OSS
+            hangs after printing "All ost request buffers busy."
+
+Severity   : minor
+Frequency  : always on liblustre builds
+Bugzilla   : 11175
+Description: Cleanup compiler warnings on liblustre
+
+Severity   : minor
+Frequency  : always on liblustre builds on XT3
+Bugzilla   : 12146
+Description: LC_CONFIG_CDEBUG don't run while build liblustre on XT3.
+
 Frequency  : always
 Bugzilla   : 3244
 Description: Addition of EXT3_FEATURE_RO_COMPAT_DIR_NLINKS flag for
-             > 32000 subdirectories
-Details    : Add EXT3_FEATURE_RO_COMPAT_DIR_NLINK flag to 
-             EXT3_FEATURE_RO_COMPAT_SUPP. This flag will be set whenever
-             subdirectory count crosses 32000. This will aid e2fsck to
-             correctly handle more than 32000 subdirectories.
+            > 32000 subdirectories
+Details    : Add EXT3_FEATURE_RO_COMPAT_DIR_NLINK flag to
+            EXT3_FEATURE_RO_COMPAT_SUPP. This flag will be set whenever
+            subdirectory count crosses 32000. This will aid e2fsck to
+            correctly handle more than 32000 subdirectories.
 
 Severity   : major
 Frequency  : liblustre (e.g. catamount) on a large cluster with >= 8 OSTs/OSS
@@ -430,21 +948,21 @@ Severity   : normal
 Frequency  : always
 Bugzilla   : 10214
 Description: make O_SYNC working on 2.6 kernels
-Details    : 2.6 kernels use different method for mark pages for write, 
+Details    : 2.6 kernels use different method for mark pages for write,
             so need add a code to lustre for O_SYNC work.
 
 Severity   : minor
 Frequency  : always
 Bugzilla   : 11110
 Description: Failure to close file and release space on NFS
-Details    : Put inode details into lock acquired in ll_intent_file_open. 
+Details    : Put inode details into lock acquired in ll_intent_file_open.
             Use mdc_intent_lock in ll_intent_open to properly
             detect all kind of errors unhandled by mdc_enqueue.
 
 Severity   : major
 Frequency  : rare
 Bugzilla   : 10866
-Description: proc file read during shutdown sometimes raced obd removal, 
+Description: proc file read during shutdown sometimes raced obd removal,
             causing node crash
 Details    : Add lock to prevent obd access after proc file removal.
 
@@ -506,7 +1024,7 @@ Bugzilla   : 11710
 Frequency  : always
 Description: add support PG_writeback bit
 Details    : add support for PG_writeback bit for Lustre, for more carefull
-            work with page cache in 2.6 kernel. This also fix some deadlocks 
+            work with page cache in 2.6 kernel. This also fix some deadlocks
             and remove hack for work O_SYNC with 2.6 kernel.
 
 Severity   : enhancement
@@ -529,10 +1047,11 @@ Details    : The mballoc3 code (ldiskfs2 only) adds new mechanisms to improve
 2007-02-09  Cluster File Systems, Inc. <info@clusterfs.com>
        * version 1.4.9
        * Support for kernels:
-        2.6.9-42.0.3EL (RHEL 4)
+        2.6.9-42.0.3.EL (RHEL 4)
         2.6.5-7.276 (SLES 9)
         2.4.21-47.0.1.EL (RHEL 3)
         2.6.12.6 vanilla (kernel.org)
+        2.6.16.21-0.8 (SLES10)
        * Recommended e2fsprogs version: 1.39.cfs2-0
 
        * The backwards-compatible /proc/sys/portals symlink has been removed
@@ -621,8 +1140,8 @@ Frequency  : MDS failover only, very rarely
 Bugzilla   : 11277
 Description: clients may get ASSERTION(granted_lock != NULL)
 Details    : When request was taking a long time, and a client was resending
-            a getattr by name lock request. The were multiple lock requests 
-            with the same client lock handle and 
+            a getattr by name lock request. The were multiple lock requests
+            with the same client lock handle and
             mds_getattr_name->fixup_handle_for_resent_request found one of the
             lock handles but later failed with ASSERTION(granted_lock != NULL).
 
@@ -655,7 +1174,7 @@ Frequency  : NFS re-export or patchless client
 Bugzilla   : 10796
 Description: Various nfs/patchless fixes.
 Details    : fixes reuse disconected alias for lookup process - this fixes
-            warning "find_exported_dentry: npd != pd", 
+            warning "find_exported_dentry: npd != pd",
             fix permission error with open files at nfs.
             fix apply umask when do revalidate.
 
@@ -703,7 +1222,6 @@ Details    : the performance loss is caused by using of write barriers in the
             ext3 code. The SLES10 kernel turns barrier support on by
             default. The fix is to undo that change for ldiskfs.
 
-
 ------------------------------------------------------------------------------
 
 2006-12-09  Cluster File Systems, Inc. <info@clusterfs.com>
@@ -756,7 +1274,7 @@ Severity   : normal
 Frequency  : always on ppc64
 Bugzilla   : 10634
 Description: the write to an ext3 filesystem mounted with mballoc got stuck
-Details    : ext3_mb_generate_buddy() uses find_next_bit() which does not 
+Details    : ext3_mb_generate_buddy() uses find_next_bit() which does not
             perform endianness conversion.
 
 Severity   : major
@@ -920,13 +1438,13 @@ Details    : The number of open files grows over time, whether or not
 
 ------------------------------------------------------------------------------
 
-2006-08-20  Cluster File Systems, Inc. <info@clusterfs.com>
+08-20-2006  Cluster File Systems, Inc. <info@clusterfs.com>
        * version 1.4.7
        * Support for kernels:
-        2.6.9-42.EL (RHEL 4)
-        2.6.5-7.267 (SLES 9)
-        2.4.21-40.EL (RHEL 3)
-        2.6.12.6 vanilla (kernel.org)
+       2.6.9-42.EL (RHEL 4)
+       2.6.5-7.276 (SLES 9)
+       2.4.21-40.EL (RHEL 3)
+       2.6.12.6 vanilla (kernel.org)
        * bug fixes
 
 Severity   : major
@@ -957,14 +1475,6 @@ Details    : If setting attributes on a file created under NFS that had
             never been opened it would be possible to oops the client
             if the file had no objects.
 
-Severity   : major
-Frequency  : rare
-Bugzilla   : 9326, 10402, 10897
-Description: client crash in ptlrpcd_wake() thread when sending async RPC
-Details    : It is possible that ptlrpcd_wake() dereferences a freed async
-            RPC.  In rare cases the ptlrpcd thread alread processed the RPC
-            before ptlrpcd_wake() was called and the request was freed.
-
 Severity   : minor
 Frequency  : always for liblustre
 Bugzilla   : 10290
@@ -994,7 +1504,7 @@ Details    : If an OST is started on a device that has never been formatted
             or if the filesystem is corrupt and cannot even mount then the
             error handling cleanup routines would dereference a NULL pointer.
 
-Severity   : normal
+Severity   : medium
 Frequency  : rare
 Bugzilla   : 10047
 Description: NULL pointer deref in llap_from_page.
@@ -1013,7 +1523,7 @@ Details    : sendfile called ll_readpage without right page locks present.
             around call to generic_file_sendfile() much like we do in
             ll_file_read().
 
-Severity   : normal
+Severity   : medium
 Frequency  : with certain MDS communication failures at client mount time
 Bugzilla   : 10268
 Description: NULL pointer deref after failed client mount
@@ -1024,7 +1534,7 @@ Details    : a client connection request may delayed by the network layer
             reference from the request import to the obd device and delay
             the cleanup until the network drops the request.
 
-Severity   : normal
+Severity   : medium
 Frequency  : occasionally during client (re)connect
 Bugzilla   : 9387
 Description: assertion failure during client (re)connect
@@ -1035,7 +1545,7 @@ Details    : processing a client connection request may be delayed by the
             client may trip an assertion failure in ptlrpc_connect_interpret()
             which thought it would be the only running connect process.
 
-Severity   : normal
+Severity   : medium
 Frequency  : only with obd_echo servers and clients that are rebooted
 Bugzilla   : 10140
 Description: kernel BUG accessing uninitialized data structure
@@ -1072,7 +1582,7 @@ Description: Support NFS exporting on 2.6 kernels.
 Details    : Implement non-rawops metadata methods for NFS server to use without
             changing NFS server code.
 
-Severity   : normal
+Severity   : medium
 Frequency  : very rare (synthetic metadata workload only)
 Bugzilla   : 9974
 Description: two racing renames might cause an MDS thread to deadlock
@@ -1201,7 +1711,7 @@ Details    : Kenrel kmalloc limits allocations to 128kB and this prevents
 Severity   : critical
 Frequency  : Always, for 32-bit kernel without CONFIG_LBD and filesystem > 2TB
 Bugzilla   : 6191
-Description: filesystem corruption for non-standard kernels and very large OSTs
+Description: ldiskfs crash at mount for filesystem larger than 2TB with mballoc
 Details    : If a 32-bit kernel is compiled without CONFIG_LBD enabled and a
             filesystems larger than 2TB is mounted then the kernel will
             silently corrupt the start of the filesystem.  CONFIG_LBD is
@@ -1259,6 +1769,15 @@ Details    : protect inode from truncation within vfs_unlink() context
             just take a reference before calling vfs_unlink() and release it
             when parent's i_sem is free.
 
+Severity   : major
+Frequency  : rare
+Bugzilla   : 4778
+Description: last_id value checked outside lock on OST caused LASSERT failure
+Details    : If there were multiple MDS->OST object precreate requests in
+            flight, it was possible that the OST's last object id was checked
+            outside a lock and incorrectly tripped an assertion.  Move checks
+            inside locks, and discard old precreate requests.
+
 Severity   : minor
 Frequency  : always, if extents are used on OSTs
 Bugzilla   : 10703
@@ -1278,14 +1797,6 @@ Details    : Using a 32-bit jiffies timer with HZ=1000 may cause backup
             import connections to be ignored if the 32-bit jiffies counter
             wraps.  Use a 64-bit jiffies counter.
 
-Severity   : major
-Frequency  : during server recovery
-Bugzilla   : 10479
-Description: crash after server is denying duplicate export
-Details    : If clients are resending connect requests to the server, the
-            server refuses to allow a client to connect multiple times.
-            Fixed a bug in the handling of this case.
-
 Severity   : minor
 Frequency  : very large clusters immediately after boot
 Bugzilla   : 10083
@@ -1301,11 +1812,11 @@ Frequency  : Sometimes during replay
 Bugzilla   : 9314
 Description: Assertion failure in ll_local_open after replay.
 Details    : If replay happened on an open request reply before we were able
-            to set replay handler, reply will become not swabbed tripping the
-            assertion in ll_local_open. Now we set the handler right after
-            recognising of open request
+             to set replay handler, reply will become not swabbed tripping the
+             assertion in ll_local_open. Now we set the handler right after
+             recognising of open request
 
-Severity   : minor
+Severity   : trivial
 Frequency  : very rare
 Bugzilla   : 10584
 Description: kernel reports "badness in vsnprintf"
@@ -1332,7 +1843,7 @@ Severity   : minor
 Frequency  : always
 Bugzilla   : 10611
 Description: Inability to activate failout mode
-Details    : lconf script incorrectly assumed that in python string's numeric
+Details    : lconf script incorrectly assumed that in pythong string's numeric
             value is used in comparisons.
 
 Severity   : minor
@@ -1344,7 +1855,7 @@ Details    : When selecting which OSTs to stripe files over, for files with
             the MDS is always picking the same starting OST for each file.
             Return the OST selection heuristic to the original design.
 
-Severity   : minor
+Severity   : trivial
 Frequency  : rare
 Bugzilla   : 10673
 Description: mount failures may take full timeout to return an error
@@ -1352,10 +1863,46 @@ Details    : Under some heavy load conditions it is possible that a
             failed mount can wait for the full obd_timeout interval,
             possibly several minutes, before reporting an error.
             Instead return an error as soon as the status is known.
+Severity   : major
+Frequency  : quota enabled and large files being deleted
+Bugzilla   : 10707
+Description: releasing more than 4GB of quota at once hangs OST
+Details    : If a user deletes more than 4GB of files on a single OST it
+            will cause the OST to spin in an infinite loop.  Release
+            quota in < 4GB chunks, or use a 64-bit value for 1.4.7.1+.
+
+Severity   : trivial
+Frequency  : rare
+Bugzilla   : 10845
+Description: statfs data retrieved from /proc may be stale or zero
+Details    : When reading per-device statfs data from /proc, in the
+            {kbytes,files}_{total,free,avail} files, it may appear
+            as zero or be out of date.
+
+Severity   : trivial
+Frequency  : systems with MD RAID1 external journal devices
+Bugzilla   : 10832
+Description: lconf's call to blkid is confused by RAID1 journal devices
+Details    : Use the "blkid -l" flag to locate the MD RAID device instead
+            of returning all block devices that match the journal UUID.
+
+Severity   : normal
+Frequency  : always, for aggregate stripe size over 4GB
+Bugzilla   : 10725
+Description: assertion fails when trying to use 4GB stripe size
+Details    : Use "setstripe" to set stripe size over 4GB will fail the kernel,
+             complaining "ASSERTION(lsm->lsm_xfersize != 0)"
+
+Severity   : normal
+Frequency  : always on ppc64
+Bugzilla   : 10634
+Description: the first write on an ext3 filesystem with mballoc got stuck
+Details    : ext3_mb_generate_buddy() uses find_next_bit() which does not
+             perform endianness conversion.
 
 ------------------------------------------------------------------------------
 
-2006-02-14  Cluster File Systems, Inc. <info@clusterfs.com>
+02-14-2006  Cluster File Systems, Inc. <info@clusterfs.com>
        * version 1.4.6
        * WIRE PROTOCOL CHANGE.  This version of Lustre networking WILL NOT
         INTEROPERATE with older versions automatically.  Please read the
@@ -1399,7 +1946,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
@@ -1980,7 +2527,7 @@ Details    : Add sub-command 'df' on 'lfs' to report the disk space usage of
 
 ------------------------------------------------------------------------------
 
-2005-08-26  Cluster File Systems, Inc. <info@clusterfs.com>
+08-26-2005  Cluster File Systems, Inc. <info@clusterfs.com>
        * version 1.4.5
        * bug fixes
 
@@ -2388,6 +2935,12 @@ Severity   : minor
 Bugzilla   : 6147
 Description: Changes the "SCSI I/O Stats" kernel patch to default to "enabled"
 
+Severity   : Minor
+Frequency  : Rare
+Bugzilla   : 11248
+Description: merge and cleanup kernel patches.
+Details    : 
+
 -----------------------------------------------------------------------------
 
 2005-05-05  Cluster File Systems, Inc. <info@clusterfs.com>
@@ -3331,7 +3884,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