+ * 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 vanilla (kernel.org)
+ * Client support for unpatched kernels:
+ (see http://wiki.lustre.org/index.php?title=Patchless_Client)
+ 2.6.9-42.0.10.EL (RHEL 4),
+ 2.6.16 - 2.6.21 vanilla (kernel.org)
+ * Recommended e2fsprogs version: 1.39.cfs8
+ * Note that reiserfs quotas are disabled on SLES 10 in this kernel.
+
+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.
+
+--------------------------------------------------------------------------------
+
+2007-08-10 Cluster File Systems, Inc. <info@clusterfs.com>
+ * version 1.6.1
+ * Support for kernels:
+ 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 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 : 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
+ is printed so it can be identified.
+
+Severity : normal
+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.
+
+Severity : enhancement
+Bugzilla : 10997
+Description: lfs setstripe use optional parameters instead of postional
+ parameters.
+
+Severity : enhancement
+Bugzilla : 10651
+Description: Nanosecond timestamp support for ldiskfs
+Details : The on-disk ldiskfs filesystem has added support for nanosecond
+ resolution timestamps. There is not yet support for this at
+ the Lustre filesystem level.
+
+Severity : normal
+Frequency : during server recovery
+Bugzilla : 11203
+Description: MDS failing to send precreate requests due to OSCC_FLAG_RECOVERING
+Details : request with rq_no_resend flag not awake l_wait_event if they get a
+ timeout.
+
+Severity : minor
+Frequency : nfs export on patchless client
+Bugzilla : 11970
+Description: connectathon hang when test nfs export over patchless client
+Details : Disconnected dentry cannot be found with lookup, so we do not need
+ to unhash it or make it invalid
+
+Bugzilla : 11757
+Description: fix llapi_lov_get_uuids() to allow many OSTs to be returned
+Details: : Change llapi_lov_get_uuids() to read the UUIDs from /proc instead
+ of using an ioctl. This allows lfsck for > 160 OSTs to succeed.
+
+Severity : minor
+Frequency : rare
+Bugzilla : 11546
+Description: open req refcounting wrong on reconnect
+Details : If reconnect happened between getting open reply from server and
+ call to mdc_set_replay_data in ll_file_open, we will schedule
+ replay for unreferenced request that we are about to free.
+ Subsequent close will crash in variety of ways.
+ 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.
+
+--------------------------------------------------------------------------------
+
+2007-05-03 Cluster File Systems, Inc. <info@clusterfs.com>
+ * version 1.6.0.1
+ * bug fixes
+
+Severity : normal
+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>