Whamcloud - gitweb
Branch HEAD
[fs/lustre-release.git] / lustre / ChangeLog
1 tbd  Sun Microsystems, Inc.
2        * version 2.0.0
3        * Support for kernels:
4         2.6.16.60-0.31 (SLES 10),
5         2.6.18-92.1.10.el5 (RHEL 5),
6         2.6.22.14 vanilla (kernel.org).
7        * Client support for unpatched kernels:
8          (see http://wiki.lustre.org/index.php?title=Patchless_Client)
9          2.6.16 - 2.6.21 vanilla (kernel.org)
10        * Recommended e2fsprogs version: 1.40.11-sun1
11        * Note that reiserfs quotas are disabled on SLES 10 in this kernel.
12        * RHEL 4 and RHEL 5/SLES 10 clients behaves differently on 'cd' to a
13          removed cwd "./" (refer to Bugzilla 14399).
14        * File join has been disabled in this release, refer to Bugzilla 16929.
15  
16 Severity   : enhancement
17 Bugzilla   : 17458
18 Description: Update to SLES10 SP2 kernel-2.6.16.60-0.31.
19
20 Severity   : enhancement
21 Bugzilla   : 14166
22 Description: New client IO stack (CLIO).
23
24 Severity   : enhancement
25 Bugzilla   : 15393
26 Description: Commit on sharing. Eliminate inter-client dependencies between
27              uncommitted transactions by doing transaction commits.
28              Thereby clients may recovery independently.
29
30 Severity   : normal
31 Frequency  : Create a symlink file with a very long name
32 Bugzilla   : 16578
33 Description: ldlm_cancel_pack()) ASSERTION(max >= dlm->lock_count + count)
34 Details    : If there is no extra space in the request for early cancels,
35              ldlm_req_handles_avail() returns 0 instead of a negative value.
36
37 Severity   : enhancement
38 Bugzilla   : 1819
39 Description: Add /proc entry for import status
40 Details    : The mdc, osc, and mgc import directories now have
41              an import directory that contains useful import data for debugging
42              connection problems.
43
44 Severity   : enhancement
45 Bugzilla   : 15966
46 Description: Re-disable certain /proc logging
47 Details    : Enable and disable client's offset_stats, extents_stats and
48              extents_stats_per_process stats logging on the fly.
49
50 Severity   : major
51 Frequency  : Only on FC kernels 2.6.22+
52 Bugzilla   : 16303
53 Description: oops in statahead
54 Details    : Do not drop reference count for the dentry from VFS when lookup,
55              VFS will do that by itself.
56
57 Severity   : enhancement
58 Bugzilla   : 16643
59 Description: Generic /proc file permissions
60 Details    : Set /Proc file permissions in a more generic way to enable non-
61              root users operate on some /proc files.
62
63 Severity   : major
64 Bugzilla   : 16561
65 Description: Hitting mdc_commit_close() ASSERTION
66 Details    : Properly handle request reference release in
67              ll_release_openhandle().
68
69 Severity   : normal
70 Bugzilla   : 15975
71 Frequency  : only patchless client
72 Description: add workaround for race between add/remove dentry from hash
73
74 Severity   : enhancement
75 Bugzilla   : 16845
76 Description: Allow OST glimpses to return PW locks
77
78 Severity   : minor
79 Bugzilla   : 16717
80 Description: LBUG when llog conf file is full
81 Details    : When llog bitmap is full, ENOSPC should be returned for plain log.
82
83 Severity   : normal
84 Bugzilla   : 16907
85 Description: Prevent import from entering FULL state when server in recovery
86
87 Severity   : major
88 Bugzilla   : 16750
89 Description: service mount cannot take device name with ":"
90 Details    : Only when device name contains ":/" will mount treat it as
91              client mount.
92
93 Severity   : normal
94 Bugzilla   : 15927
95 Frequency  : rare
96 Description: replace ptlrpcd with the statahead thread to interpret the async
97              statahead RPC callback
98
99 Severity   : normal
100 Bugzilla   : 16611
101 Frequency  : on recovery
102 Description: I/O failures after umount during fail back
103 Details    : if client reconnected to restarted server we need join to recovery
104              instead of find server handler is changed and process self
105              eviction with cancel all locks.
106
107 Severity   : enhancement
108 Bugzilla   : 16633
109 Description: Update to RHEL5 kernel-2.6.18-92.1.10.el5.
110
111 Severity   : enhancement
112 Bugzilla   : 16547
113 Description: Update to SLES10 SP2 kernel-2.6.16.60-0.27.
114
115 Severity   : enhancement
116 Bugzilla   : 16566
117 Description: Upcall on Lustre log has been dumped
118 Details    : Allow for a user mode script to be called once a Lustre log has
119              been dumped. It passes the filename of the dumped log to the
120              script, the location of the script can be specified via
121              /proc/sys/lnet/debug_log_upcall.
122
123 Severity   : minor
124 Bugzilla   : 16583
125 Frequency  : rare
126 Description: avoid idr_remove called for id which is not allocated.
127 Details    : Move assigment s_dev for clustered nfs to end of initialization,
128              to avoid problem with error handling.
129
130 Severity   : minor
131 Bugzilla   : 16109
132 Frequency  : rare
133 Description: avoid Already found the key in hash [CONN_UNUSED_HASH] messages
134 Details    : When connection is reused this not moved from CONN_UNUSED_HASH
135              into CONN_USED_HASH and this prodice warning when put connection
136              again in unused hash.
137
138 Severity   : enhancement
139 Bugzilla   : 15899
140 Description: File striping can now be set to use an arbitrary pool of OSTs.
141         
142 Severity   : enhancement
143 Bugzilla   : 16573
144 Description: Export bytes_read/bytes_write count on OSC/OST.
145
146 Severity   : normal
147 Bugzilla   : 16237
148 Description: Early reply size mismatch, MGC loses connection
149 Details    : Apply the MGS_CONNECT_SUPPORTED mask at reconnect time so
150              the connect flags are properly negotiated.
151
152 Severity   : normal
153 Bugzilla   : 16006
154 Description: Properly propagate oinfo flags from lov to osc for statfs
155 Details    : restore missing copy oi_flags to lov requests.
156
157 Severity   : enhancement
158 Bugzilla   : 16581
159 Description: Add man pages for llobdstat(8), llstat(8), plot-llstat(8),
160            : l_getgroups(8), lst(8), routerstat(8)
161 Details    : included man pages for llobdstat(8), llstat(8),
162            : plot-llstat(8), l_getgroups(8), lst(8), routerstat(8)
163
164 Severity   : enhancement
165 Bugzilla   : 16091
166 Description: configure's --enable-quota should check the
167            : kernel .config for CONFIG_QUOTA
168 Details    : configure is terminated if --enable-quota is passed but
169            : no quota support is in kernel
170
171 Severity   : normal
172 Bugzilla   : 13139
173 Description: Remove portals compatibility
174 Details    : Remove portals compatibility, not interoperable with releases
175              before 1.4.6
176
177 Severity   : normal
178 Bugzilla   : 15576
179 Description: Resolve device initialization race
180 Details    : Prevent proc handler from accessing devices added to the
181              obd_devs array but yet be intialized.
182
183 Severity   : enhancement
184 Bugzilla   : 15308
185 Description: Update to SLES10 SP2 kernel-2.6.16.60-0.23.
186
187 Severity   : enhancement
188 Bugzilla   : 16190
189 Description: Update to RHEL5 kernel-2.6.18-92.1.6.el5.
190
191 Severity   : normal
192 Bugzilla   : 12975
193 Frequency  : rare
194 Description: Using wrong pointer in osc_brw_prep_request
195 Details    : Access to array[-1] can produce panic if kernel compiled with
196              CONFIG_PAGE_ALLOC enabled
197
198 Severity   : normal
199 Bugzilla   : 16037
200 Description: Client runs out of low memory
201 Details    : Consider only lowmem when counting initial number of llap pages
202
203 Severity   : normal
204 Bugzilla   : 15625
205 Description: *optional* service tags registration
206 Details    : if the "service tags" package is installed on a Lustre node
207              When the filesystem is mounted, a local-node service tag will
208              be created.  See http://inventory.sun.com/ for more information
209              about the Service Tags asset management system.
210
211 Severity   : normal
212 Bugzilla   : 15825
213 Description: Kernel BUG tries to release flock
214 Details    : Lustre does not destroy flock lock before last reference goes
215              away. So always drop flock locks when client is evicted and
216              perform unlock regardless of successfulness of speaking to MDS.
217
218 Severity   : normal
219 Bugzilla   : 15210
220 Description: add refcount protection for osc callbacks, avoid panic on shutdown
221
222 Severity   : normal
223 Bugzilla   : 12653
224 Description: sanity test 65a fails if stripecount of -1 is set
225 Details    : handle -1 striping on filesystem in ll_dirstripe_verify
226
227 Severity   : normal
228 Bugzilla   : 14742
229 Frequency  : rare
230 Description: ASSERTION(CheckWriteback(page,cmd)) failed
231 Details    : badly clear PG_Writeback bit in ll_ap_completion can produce false
232              positive assertion.
233
234 Severity   : enhancement
235 Bugzilla   : 15865
236 Description: Update to RHEL5 kernel-2.6.18-53.1.21.el5.
237
238 Severity   : major
239 Bugzilla   : 15924
240 Description: do not process already freed flock
241 Details    : flock can possibly be freed by another thread before it reaches
242              to ldlm_flock_completion_ast.
243
244 Severity   : normal
245 Bugzilla   : 14480
246 Description: LBUG during stress test
247 Details    : Need properly lock accesses the flock deadlock detection list.
248
249 Severity   : minor
250 Bugzilla   : 15837
251 Description: oops in page fault handler
252 Details    : kernel page fault handler can return two special 'pages' in error
253              case, don't try dereference NOPAGE_SIGBUS and NOPAGE_OMM.
254
255 Severity   : minor
256 Bugzilla   : 15716
257 Description: timeout with invalidate import.
258 Details    : ptlrpcd_check call obd_zombie_impexp_cull and wait request which
259              should be handled by ptlrpcd. This produce long age waiting and
260              -ETIMEOUT ptlrpc_invalidate_import and as result LASSERT.
261
262 Severity   : enhancement
263 Bugzilla   : 15741
264 Description: Update to RHEL5 kernel-2.6.18-53.1.19.el5.
265
266 Severity   : major
267 Bugzilla   : 14134
268 Description: enable MGS and MDT services start separately
269 Details    : add a 'nomgs' option in mount.lustre to enable start a MDT with
270              a co-located MGS without starting the MGS, which is a complement
271              to 'nosvc' mount option.
272
273 Severity   : normal
274 Bugzilla   : 14835
275 Frequency  : after recovery
276 Description: precreate to many object's after del orphan.
277 Details    : del orphan st in oscc last_id == next_id and this triger growing
278              count of precreated objects. Set flag LOW to skip increase count
279              of precreated objects.
280
281 Severity   : normal
282 Bugzilla   : 15139
283 Frequency  : rare, on clear nid stats
284 Description: ASSERTION(client_stat->nid_exp_ref_count == 0)
285 Details    : when clean nid stats sometimes try destroy live entry,
286              and this produce panic in free.
287
288 Severity   : major
289 Bugzilla   : 15575
290 Description: Stack overflow during MDS log replay
291              ease stack pressure by using a thread dealing llog_process.
292
293 Severity   : normal
294 Bugzilla   : 15443
295 Description: wait until IO finished before start new when do lock cancel.
296 Details    : VM protocol want old IO finished before start new, in this case
297              need wait until PG_writeback is cleared until check dirty flag and
298              call writepages in lock cancel callback.
299
300 Severity   : enhancement
301 Bugzilla   : 14929
302 Description: using special macro for print time and cleanup in includes.
303
304 Severity   : normal
305 Bugzilla   : 12888
306 Description: mds_mfd_close() ASSERTION(rc == 0)
307 Details    : In mds_mfd_close(), we need protect inode's writecount change
308              within its orphan write semaphore to prevent possible races.
309
310 Severity   : minor
311 Bugzilla   : 14929
312 Description: Obsolete CURRENT_SECONDS and use cfs_time_current_sec() instead.
313
314 Severity   : minor
315 Bugzilla   : 14645
316 Frequency  : rare, on shutdown ost
317 Description: don't hit live lock with umount ost.
318 Details    : shrink_dcache_parent can be in long loop with destroy dentries,
319              use shrink_dcache_sb instead.
320
321 Severity   : minor
322 Bugzilla   : 14949
323 Description: don't panic with use echo client
324 Details    : echo client pass NULL as client nid pointer and this produce null
325              pointer dereference.
326
327 Severity   : normal
328 Bugzilla   : 15278
329 Description: fix build on ppc32
330 Details    : compile code with -m64 flag produce wrong object file for ppc32.
331
332 Severity   : normal
333 Bugzilla   : 12191
334 Description: add message levels for liblustreapi
335
336 Severity   : normal
337 Bugzilla   : 13380
338 Description: fix for occasional failure case of -ENOSPC in recovery-small tests
339 Details    : Move the 'good_osts' check before the 'total_bavail' check.  This
340              will result in an -EAGAIN and in the exit call path we call
341              alloc_rr() which will with increasing aggressiveness attempt to
342              aquire precreated objects on the minimum number of required OSCs.
343
344 Severity   : major
345 Bugzilla   : 14326
346 Description: Use old size assignment to avoid deadlock
347 Details    : Reverts the changes in bugs 2369 and bug 14138 that introduced
348              the scheduling while holding a spinlock.  We do not need locking
349              for size in ll_update_inode() because size is only updated from
350              the MDS for directories or files without objects, so there is no
351              other place to do the update, and concurrent access to such inodes
352              are protected by the inode lock.
353
354 Severity   : normal
355 Bugzilla   : 14746
356 Description: resolve "_IOWR redefined" build error on SLES10
357
358 Severity   : normal
359 Bugzilla   : 14763
360 Description: dump the memory debugging after all modules are unloaded to
361              suppress false negative in conf_sanity test 39
362
363 Severity   : enhancement
364 Bugzilla   : 15316
365 Description: build kernel-ib packages for OFED 1.3 in our release cycle
366
367 Severity   : minor
368 Bugzilla   : 13969
369 Frequency  : always
370 Description: fix SLES kernel versioning
371 Details    : the kernel version for our SLES 10 kernel did not include a "-"
372              before the "smp" at the end.  while this was not a problem in
373              general, it did mean that software trying to use the kernel
374              version to try to detect a vendor specific kernel would fail.
375              this was most evident by the OFED build scripts.
376
377 Severity   : normal
378 Bugzilla   : 14803
379 Description: Don't update lov_desc members until making sure they are valid
380 Details    : When updating lov_desc members via proc fs, need fix their
381              validities before doing the real update.
382
383 Severity   : normal
384 Bugzilla   : 15069
385 Description: don't put request into delay list while invalidate in flight.
386 Details    : ptlrpc_delay_request sometimes put in delay list while invalidate
387              import in flight. this produce timeout for invalidate and sometimes
388              can cause stale data.
389
390 Severity   : minor
391 Bugzilla   : 14856
392 Frequency  : on ppc only
393 Description: not convert ost objects for directory because it's not exist.
394 Details    : ll_dir_getstripe assume dirrectory has ost objects but this wrong.
395
396 Severity   : normal
397 Bugzilla   : 12652
398 Description: Add FMODE_EXEC file flag for SLES10 SP1 kernel.
399
400 Severity   : enhancement
401 Bugzilla   : 13397
402 Description: Update to support 2.6.22.14 vanilla kernel.
403
404 Severity   : normal
405 Bugzilla   : 14533
406 Frequency  : rare, on recovery
407 Description: read procfs can produce deadlock in some situation
408 Details    : Holding lprocfs lock which send rpc can produce block for destroy
409              obd objects and this also block reconnect with -EALREADY. This
410              isn't fix all lprocfs bugs - but make it rare.
411
412 Severity   : enhancement
413 Bugzilla   : 15152
414 Description: Update kernel to RHEL5 2.6.18-53.1.14.el5.
415
416 Severity   : major
417 Frequency  : frequent on X2 node
418 Bugzilla   : 15010
419 Description: mdc_set_open_replay_data LBUG
420 Details    : Set replay data for requests that are eligible for replay.
421
422 Severity   : normal
423 Bugzilla   : 14321
424 Description: lustre_mgs: operation 101 on unconnected MGS
425 Details    : When MGC is disconnected from MGS long enough, MGS will evict the
426              MGC, and late on MGC cannot successfully connect to MGS and a lot
427              of the error messages complaining that MGS is not connected.
428
429 Severity   : major
430 Bugzilla   : 15027
431 Frequency  : on network error
432 Description: panic with double free request if network error
433 Details    : mdc_finish_enqueue is finish request if any network error ocuring,
434              but it's true only for synchronus enqueue, for async enqueue
435              (via ptlrpcd) this incorrect and ptlrpcd want finish request
436              himself.
437
438 Severity   : enhancement
439 Bugzilla   : 11401
440 Description: client-side metadata stat-ahead during readdir(directory readahead)
441 Details    : perform client-side metadata stat-ahead when the client detects
442              readdir and sequential stat of dir entries therein
443
444 Severity   : major
445 Frequency  : on start mds
446 Bugzilla   : 14884
447 Description: Implement get_info(last_id) in obdfilter.
448
449 Severity   : normal
450 Frequency  : occasional
451 Bugzilla   : 13537
452 Description: Correctly check stale fid, not start epoch if ost not support SOM
453 Details    : open with flag O_CREATE need set old fid in op_fid3 because
454              op_fid2 was overwritten with new generated fid, but mds can answer
455              with one of these two fids and both is not stale.  Setattr
456              incorrectly started an epoch and assume will be called
457              done_writing, but without SOM done_writing ever being called.
458
459 Severity   : major
460 Frequency  : rare, depends on device drivers and load
461 Bugzilla   : 14529
462 Description: MDS or OSS nodes crash due to stack overflow
463 Details    : Code changes in 1.8.0 increased the stack usage of some functions.
464              In some cases, in conjunction with device drivers that use a lot
465              of stack the MDS (or possibly OSS) service threads could overflow
466              the stack.  One change which was identified to consume additional
467              stack has been reworked to avoid the extra stack usage.
468
469 Severity   : normal
470 Frequency  : occasional
471 Bugzilla   : 13730
472 Description: Do not fail import if osc_interpret_create gets -EAGAIN
473 Details    : If osc_interpret_create got -EAGAIN it immediately exits and
474              wakeup oscc_waitq.  After wakeup oscc_wait_for_objects call
475              oscc_has_objects and see OSC has no objests and call
476              oscc_internal_create to resend create request.
477
478 Severity   : enhancement
479 Bugzilla   : 14858
480 Description: Update to SLES10 SP1 latest kernel-2.6.16.54-0.2.5.
481
482 Severity   : enhancement
483 Bugzilla   : 14876
484 Description: Update to RHEL5 latest kernel-2.6.18-53.1.13.el5.
485
486 Severity   : normal
487 Frequency  : very rare
488 Bugzilla   : 3462
489 Description: Fix replay if there is an un-replied request and open
490 Details    : In some cases, older replay request will revert the
491              mcd->mcd_last_xid on MDS which is used to record the client's
492              latest sent request.
493
494 Severity   : enhancement
495 Bugzilla   : 14720
496 Description: Update to RHEL5 latest kernel-2.6.18-53.1.6.el5.
497
498 Severity   : enhancement
499 Bugzilla   : 14482
500 Description: Add rhel5 support to HEAD.
501
502 Serverity  : enhancement
503 Bugzilla   : 14793
504 Description: Update RHEL4 kernel to 2.6.9-67.0.4.
505
506 Severity   : minor
507 Frequency  : rare
508 Bugzilla   : 13196
509 Description: Don't allow skipping OSTs if index has been specified.
510 Details    : Don't allow skipping OSTs if index has been specified, make
511              locking in internal create lots better.
512
513 Severity   : normal
514 Bugzilla   : 12228
515 Description: LBUG in ptlrpc_check_set() bad phase ebc0de00
516 Details    : access to bitfield in structure is always rounded to long
517              and this produce problem with not atomic change any bit.
518
519 Severity   : normal
520 Bugzilla   : 13647
521 Description: Lustre make rpms failed.
522 Details    : Remove ldiskfs spec file to avoids rpmbuild be confused when
523              builds Lustre rpms from tarball.
524
525 Severity   : normal
526 Frequency  : rare on shutdown ost
527 Bugzilla   : 14608
528 Description: If llog cancel was not send before clean_exports phase, this can
529              produce deadlock in llog code.
530 Details    : If llog thread has last reference to obd and call class_import_put
531              this produce deadlock because llog_cleanup_commit_master wait when
532              last llog_commit_thread exited, but this never success because was
533              called from llog_commit_thread.
534
535 Severity   : normal
536 Bugzilla   : 9977
537 Description: allow userland application know is lost one of stripes.
538 Details    : fill lvb_blocks with error code on ost and return it to
539              application if error flag found.
540
541 Severity   : normal
542 Bugzilla   : 14607
543 Description: NULL lov_tgts causing MDS oops
544 Details    : more safe checks for NULL lov_tgts for avoid oops.
545
546 Severity   : enhancement
547 Bugzilla   : 14531
548 Description: Update to RHEL4 latest kernel-2.6.9-67.0.1.EL.
549
550 Severity   : normal
551 Bugzilla   : 13375
552 Descriptoin: make lov_create() will not stuck in obd_statfs_rqset()
553 Details    : If an OST is down the MDS will hang indefinitely in
554              obd_statfs_rqset() waiting for the statfs data. While for
555              MDS QOS usage of statfs, it should not stuck in waiting.
556
557 Severity   : enhancement
558 Bugzilla   : 11842
559 Description: remote_acl support
560 Details    : Support ACL-based permission check for remote user.
561              Support setfacl/getfacl for remote user with the utils
562              "lfs {l,r}{s,g}etfacl" which follow the same parameter format as
563              the system "{s,g}etfacl" utils.
564
565 Severity   : enhancement
566 Bugzilla   : 14288
567 Description: Update to RHEL4 U6 kernel-2.6.9-67.EL.
568
569 Severity   : enhancement
570 Bugzilla   : 14368
571 Description: Update to RHEL5 latest kernel-2.6.18-53.1.4.el5.
572
573 Severity   : normal
574 Bugzilla   : 14136
575 Description: make mgs_setparam() handle fsname containing dash
576 Details    : fsname containing a dash does not work with lctl conf_param
577
578 Severity   : enhancement
579 Bugzilla   : 14388
580 Description: Update to SLES10 SP1 latest kernel-2.6.16.54-0.2.3.
581
582 Severity   : enhancement
583 Bugzilla   : 14289
584 Description: Update to RHEL5 Update-1 kernel 2.6.18-53.el5.
585
586 Severity   : major
587 Bugzilla   : 14260
588 Frequency  : rare, at shutdown
589 Description: access already free / zero obd_namespace.
590 Details    : if client_disconnect_export was called without force flag set,
591              and exist connect request in flight, this can produce access to
592              NULL pointer (or already free pointer) when connect_interpret
593              store ocd flags in obd_namespace.
594
595 Severity   : minor
596 Bugzilla   : 14418
597 Frequency  : only at startup
598 Description: not alloc memory with spinlock held.
599 Details    : allocation memory with GFP_KERNEL can produce sleep deadlock,
600              if any spinlock held.
601
602 Severity   : enhancement
603 Bugzilla   : 12211
604 Description: make lustre randomly fail allocating memory
605 Details    : Make lustre randomly failed allocating memory for testing purpose.
606
607 Severity   : enhancement
608 Bugzilla   : 12702
609 Description: lost problems with lov objid file
610 Details    : Fixes some scability and access to not inited memory problems
611              in work with lov objdid file.
612
613 Severity   : major
614 Frequency  : always
615 Bugzilla   : 14270
616 Description: lfs find does not continue on file error
617 Details    : Continue other files processing when a file/dir is absent.
618
619 Severity   : normal
620 Bugzilla   : 11791
621 Description: Inconsistent usage of lustre_pack_reply()
622 Details    : Standardize the usage of lustre_pack_reply() such that it
623              always generate a CERROR on failure.
624
625 Severity   : major
626 Frequency  : occasional
627 Bugzilla   : 13917
628 Description: MDS hang or stay in waiting lock
629 Details    : If client receive lock with CBPENDING flag ldlm need send lock
630              cancel as separate rpc, to avoid situation when cancel request
631              can't processed due all i/o threads stay in wait lock.
632
633 Severity   : normal
634 Bugzilla   : 13969
635 Description: Update to RHEL5 kernel 2.6.18-8.1.15.el5.
636
637 Severity   : normal
638 Bugzilla   : 13874
639 Description: Update to SLES10 SP1 kernel 2.6.16.53-0.16
640
641 Severity   : normal
642 Bugzilla   : 13889
643 Description: Update to SLES9 kernel-2.6.5-7.287.3.
644
645 Severity   : normal
646 Bugzilla   : 14041
647 Description: Update to RHEL4 latest kernel.
648
649 Severity   : enhancement
650 Bugzilla   : 13690
651 Description: Build SLES10 patchless client fails
652 Details    : The configure was broken by run ./configure with
653              --with-linux-obj=.... argument for patchless client. When the
654              configure use --with-linux-obj, the LINUXINCLUDE= -Iinclude
655              can't search header adequately. Use absolute path such as
656              -I($LINUX)/include instead.
657
658 Severity   : normal
659 Bugzilla   : 13888
660 Description: interrupt oig_wait produce painc on resend.
661 Details    : brw_redo_request can be used for resend requests from ptlrpcd and
662              private set, and this produce situation when rq_ptlrpcd_data not
663              copyed to new allocated request and triggered LBUG on assert
664              req->rq_ptlrpcd_data != NULL. But this member used only for wakeup
665              ptlrpcd set if request is changed and can be safety changed to use
666              rq_set directly.
667
668 Severity   : normal
669 Bugzilla   : 13497
670 Description: LASSERT_{REQ,REP}SWAB macros are buggy
671 Details    : If SWAB_PARANOIA is disabled, the LASSERT_REQSWAB and
672              LASSERT_REPSWAB macros become no-ops, which is incorrect. Drop
673              these macros and replace them with their difinitions instead.
674
675 Severity   : normal
676 Bugzilla   : 13521
677 Description: Update kernel patches for SLES10 2.6.16.53-0.8.
678 Details    : Update which_patch & target file for SLES10 latest kernel.
679
680 Bugzilla   : 12411
681 Description: Remove client patches from SLES 10 kernel.
682 Details    : This causes SLES 10 clients to behave as patchless clients
683              even on a Lustre-patched (server) kernel.
684
685 Severity   : enhancement
686 Bugzilla   : 2262
687 Description: self-adjustable client's lru lists
688 Details    : use adaptive algorithm for managing client cached locks lru
689              lists according to current server load, other client's work
690              pattern, memory activities, etc. Both, server and client
691              side namespaces provide number of proc tunables for controlling
692              things
693
694 Severity   : enhancement
695 Bugzilla   : 13641
696 Description: light-weight GSS support
697 Details    : Support krb5n and krb5a mode, which keep Kerberos 5 authentication
698              and reduce performance overhead.
699
700 Severity   : enhancement
701 Bugzilla   : 11832
702 Description: Linux keyring support
703 Details    : Support using service of Linux keyring for Lustre GSS internal
704              context refresh/cache mechanism.
705
706 Severity   : normal
707 Bugzilla   : 12186
708 Description: Fix errors in lfs documentation
709 Details    : Fixes man pages
710
711 Severity   : normal
712 Bugzilla   : 12606
713 Description: don't use GFP_* in generic Lustre code.
714 Details    : Use cfs_alloc_* functions and CFS_* flags for code portability.
715
716 Severity   : normal
717 Bugzilla   : 12333
718 Description: obdclass is limited by single OBD_ALLOC(idarray)
719 Details    : replace OBD_ALLOC/OBD_FREE with OBD_VMALLOC/OBD_VFREE
720
721 Severity   : normal
722 Bugzilla   : 13006
723 Description: warnings with build patchless client with vanila 2.6.19 and up
724 Details    : change old ctl_table style and replace ctl_table/ctl_table_header
725              with cfs_sysctl_table_t/cfs_sysctl_table_header_t
726
727 Severity   : normal
728 Bugzilla   : 13177
729 Frequency  : Only for SLES
730 Description: sanity_quota fail test_1
731 Details    : There are multiple occurences of $TSTUSR in SLES's /etc/group
732              file, which makes TSTID[2] inunique.
733
734 Severity   : normal
735 Bugzilla   : 13249
736 Frequency  : Only for SLES9
737 Description: Kernel patches for SLES9 2.6.5-7.286 kernel
738 Details    : Update target/ChangeLog/which_patch .
739
740 Severity   : normal
741 Bugzilla   : 13170
742 Frequency  : Only for test_10 in sanity-quota.sh
743 Description: a bug in quota test code
744 Details    : checking a test flag in a wrong place
745
746 Severity   : normal
747 Bugzilla   : 13171
748 Frequency  : Only for test_13 in sanity-quota.sh
749 Description: a bug in quota test script
750 Details    : shouldn't check overfull allocated quota
751
752 Severity   : normal
753 Bugzilla   : 12955
754 Description: jbd statistics
755 Details    : Port older jbd statistics patch for sles10
756
757 Severity   : enhancement
758 Bugzilla   : 11721
759 Description: Add printing inode info into message about error in writepage.
760
761 Severity   : normal
762 Bugzilla   : 11974
763 Frequency  : Rare
764 Description: reply_lock_interpret crash due to race with it and lock cancel.
765 Details    : Do not replay locks that are being cancelled. Do not reference
766              locks by their address during replay, just by their handle.
767
768 Severity   : normal
769 Bugzilla   : 13103
770 Frequency  : When flocks are used.
771 Description: assertion failure in ldlm_cli_enquque_fini for non NULL lock.
772 Details    : Flock locks might destroy just granted lock if it could be merged
773              with another existing flock, this is done in completion handler,
774              so teach ldlm_cli_enquque_fini that this is a valid case for
775              flock locks.
776
777 Severity   : minor
778 Bugzilla   : 13276
779 Frequency  : rare
780 Description: Oops in read and write path when failing to allocate lock.
781 Details    : Check if lock allocation failed and return error back.
782
783 Severity   : normal
784 Bugzilla   : 11679
785 Description: lstripe command fails for valid OST index
786 Details    : The stripe offset is compared to lov->desc.ld_tgt_count
787              instead of lov->desc.ld_active_tgt_count.
788
789 Severity   : normal
790 Bugzilla   : 12584
791 Description: sanity.sh failed test 103
792 Details    : RHEL mis-interpret setfacl "-X" param, so we won't test setfacl
793              with param "-X".
794
795 Severity   : normal
796 Bugzilla   : 12743
797 Description: df doesn't work properly if diskfs blocksize != 4K
798 Details    : Choose biggest blocksize of OST's as the LOV's blocksize.
799
800 Severity   : normal
801 Bugzilla   : 12836
802 Description: lfs find on -1 stripe looping in lsm_lmm_verify_common()
803 Details    : Avoid lov_verify_lmm_common() on directory with -1 stripe count.
804
805 Severity   : enhancement
806 Bugzilla   : 3055
807 Description: Adaptive timeouts
808 Details    : RPC timeouts adapt to changing server load and network
809              conditions to reduce resend attempts and improve recovery time.
810
811 Severity   : normal
812 Bugzilla   : 12192
813 Description: llapi_file_create() does not allow some changes
814 Details    : add llapi_file_open() that allows specifying the mode and
815              open flags, and also returns an open file handle.
816
817 Severity   : normal
818 Bugzilla   : 11248
819 Description: merge and cleanup kernel patches.
820 Details    : Remove mnt_lustre_list in vfs_intent-2.6-rhel4.patch.
821
822 Severity   : normal
823 Bugzilla   : 10657
824 Description: Add journal checksum support.(Kernel part)
825 Details    : The journal checksum feature adds two new flags i.e
826              JBD2_FEATURE_INCOMPAT_ASYNC_COMMIT and
827              JBD2_FEATURE_COMPAT_CHECKSUM. JBD2_FEATURE_CHECKSUM flag
828              indicates that the commit block contains the checksum for
829              the blocks described by the descriptor blocks. Now commit
830              record can be sent to disk without waiting for descriptor
831              blocks to be written to disk. This behavior is controlled
832              using JBD2_FEATURE_ASYNC_COMMIT flag.
833
834 Severity   : minor
835 Bugzilla   : 12446
836 Description: OSS needs mutliple precreate threads
837 Details    : Add ability to start more than one create thread per OSS.
838
839 Severity   : normal
840 Bugzilla   : 13362
841 Description: Sanity.sh test_65k failed: setstripe should have succeeded
842 Details    : execute lfs setstripe on client
843
844 Severity   : major
845 Bugzilla   : 12223
846 Description: mds_obd_create error creating tmp object
847 Details    : When the user sets quota on root, llog will be affected and can't
848              create files and write files.
849
850 Severity   : normal
851 Frequency  : Always on ia64 patchless client, and possibly others.
852 Bugzilla   : 12826
853 Description: Add EXPORT_SYMBOL check for node_to_cpumask symbol.
854 Details    : This allows the patchless client to be loaded on architectures
855              without this export.
856
857 Severity   : normal
858 Bugzilla   : 13039
859 Description: RedHat Update kernel for RHEL5
860 Details    : Add the kernel config file for RHEL5.
861
862 Severity   : normal
863 Bugzilla   : 13039
864 Description: RedHat Update kernel for RHEL5
865 Details    : Modify the kernel config file more closer RHEL5.
866
867 Severity   : normal
868 Bugzilla   : 13360
869 Description: Build failure against Centos5 (RHEL5)
870 Details    : Define PAGE_SIZE when it isn't present.
871
872 Severity   : minor
873 Bugzilla   : 13363
874 Description: test_7 on sanity-quota.sh can't be used on separate machines
875 Details    : add facet to handle it
876
877 Severity   : normal
878 Bugzilla   : 13030
879 Description: "ll_intent_file_open()) lock enqueue: err: -13" with nfs
880 Details    : with NFS, the anon dentry's parent was set to itself in
881              d_alloc_anon(), so in MDS, we use rec->ur_fid1 to find the
882              corresponding dentry other than use rec->ur_name.
883
884 Severity   : enhancement
885 Bugzilla   : 12786
886 Description: lfs setstripe enhancement
887 Details    : Make lfs setstripe understand 'k', 'm' and 'g' for stripe size.
888
889 Severity   : normal
890 Bugzilla   : 12398
891 Description: enable data checksumming by default
892 Details    : enable checksum by default, allow --disable-checksum
893              configure option and "-o nochecksum" mount option.  Checksums
894              can also be disabled at runtime via $LPROC/osc/*/checksum_pages.
895
896 Severity   : normal
897 Bugzilla   : 11802
898 Description: lustre support for RHEL5
899 Details    : Add support for RHEL5.
900
901 Severity   : normal
902 Bugzilla   : 12459
903 Description: Client eviction due to failover config
904 Details    : after a connection loss, the lustre client should attempt to
905              reconnect to the last active server first before trying the
906              other potential connections.
907
908 Severity   : minor
909 Bugzilla   : 12588
910 Description: when mds and osts use different quota unit(32bit and 64bit),
911              quota will be released repeatly.
912 Details    : void sending multiple quota reqs to mds, which will keep the
913              status between the reqs.
914
915 Severity   : normal
916 Bugzilla   : 13125
917 Description: osts not allocated evenly to files
918 Details    : change the condition to increase offset_idx
919
920 Severity   : critical
921 Frequency  : Always for filesystems larger than 2TB on 32-bit systems.
922 Bugzilla   : 13547
923 Description: Data corruption for OSTs that are formatted larger than 2TB
924              on 32-bit servers.
925 Details    : When generating the bio request for lustre file writes the
926              sector number would overflow a temporary variable before being
927              used for the IO.  The data reads correctly from Lustre (which
928              will overflow in a similar manner) but other file data or
929              filesystem metadata may be corrupted in some cases.
930
931 Severity   : normal
932 Bugzilla   : 11230
933 Description: Tune the kernel for good SCSI performance.
934 Details    : Set the value of /sys/block/{dev}/queue/max_sectors_kb
935              to the value of /sys/block/{dev}/queue/max_hw_sectors_kb
936              in mount_lustre.
937
938 Severity   : cleanup
939 Bugzilla   : 13532
940 Description: rewrite ext2-derived code in obdclass/uuid.c
941 Details    : rewrite inherited code (uuid parsing code from ext2 utils)
942              from scratch preserving functionality.
943
944 Severity   : normal
945 Bugzilla   : 13600
946 Description: "lfs find -obd UUID" prints directories
947 Details    : "lfs find -obd UUID" will return all directory names instead
948              of just file names. It is incorrect because the directories
949              do not reside on the OSTs.
950
951 Severity   : minor
952 Bugzilla   : 2369
953 Description: use i_size_read and i_size_write in 2.6 port
954 Details    : replace inode->i_size access with i_size_read/write()
955
956 Severity   : normal
957 Frequency  : when removing large files
958 Bugzilla   : 13181
959 Description: scheduling issue during removal of large Lustre files
960 Details    : Don't take the BKL in fsfilt_ext3_setattr() for 2.6 kernels.
961              It causes scheduling issues when removing large files (17TB in the
962              present case).
963
964 Severity   : normal
965 Frequency  : only with liblustre clients on XT3
966 Bugzilla   : 12418
967 Description: evictions taking too long
968 Details    : allow llrd to evict clients directly on OSTs
969
970 Severity   : normal
971 Frequency  : only on ppc
972 Bugzilla   : 12234
973 Description: /proc/fs/lustre/devices broken on ppc
974 Details    : The patch as applied to 1.6.2 doesn't look correct for all arches.
975              We should make sure the type of 'index' is loff_t and then cast
976              explicitly as needed below.  Do not assign an explicitly cast
977              loff_t to an int.
978
979 Severity   : normal
980 Frequency  : only for rhel5
981 Bugzilla   : 13616
982 Description: Kernel patches update for RHEL5 2.6.18-8.1.10.el5.
983 Details    : Modify the target file & which_kernel.
984
985 Severity   : enhancement
986 Bugzilla   : 10786
987 Description: omit set fsid for export NFS
988 Details    : fix set/restore device id for avoid EMFILE error and mark lustre
989              fs as FS_REQUIRES_DEV for avoid problems with generate fsid.
990
991 Severity   : normal
992 Bugzilla   : 13304
993 Frequency  : Always, for kernels after 2.6.16
994 Description: Fix warning idr_remove called for id=.. which is not allocated.
995 Details    : Last kernels save old s_dev before kill super and not allow
996              to restore from callback - restore it before call kill_anon_super.
997
998 Severity   : minor
999 Bugzilla   : 12948
1000 Description: buffer overruns could theoretically occur
1001 Details    : llapi_semantic_traverse() modifies the "path" argument by
1002              appending values to the end of the origin string, and a
1003              overrun may occur. Adding buffer overrun check in liblustreapi.
1004
1005 Severity   : normal
1006 Bugzilla   : 13334
1007 Description: Fix error on 'ls .' at the top of the Lustre mount.
1008 Details    : Don't revalidate dentry if it is a root dentry.
1009
1010 Severity   : normal
1011 Bugzilla   : 13518
1012 Description: Kernel patches update for RHEL4 2.6.9-55.0.6.
1013 Details    : Modify vm-tunables-rhel4.patch.
1014
1015 Severity   : normal
1016 Bugzilla   : 13452
1017 Description: Kernel config for 2.6.18-vanilla.
1018 Details    : Modify targets/2.6-vanilla.target.in.
1019              Add config file kernel-2.6.18-2.6-vanilla-i686.config.
1020              Add config file kernel-2.6.18-2.6-vanilla-i686-smp.config.
1021              Add config file kernel-2.6.18-2.6-vanilla-x86_64.config.
1022              Add config file kernel-2.6.18-2.6-vanilla-x86_64-smp.config.
1023
1024 Severity   : major
1025 Bugzilla   : 11710
1026 Description: improve handling recoverable errors
1027 Details    : if request processig with error which can be recoverable on server
1028              request should be resend, otherwise page released from cache and
1029              marked as error.
1030
1031 Severity   : critical
1032 Bugzilla   : 13751
1033 Description: Kernel patches update for RHEL5 2.6.18-8.1.14.el5.
1034 Details    : Modify target file & which_patch.
1035              A flaw was found in the IA32 system call emulation provided
1036              on AMD64 and Intel 64 platforms. An improperly validated 64-bit
1037              value could be stored in the %RAX register, which could trigger an
1038              out-of-bounds system call table access. An untrusted local user
1039              could exploit this flaw to run code in the kernel
1040              (ie a root privilege escalation). (CVE-2007-4573).
1041
1042 Severity   : major
1043 Bugzilla   : 13093
1044 Description: O_DIRECT bypasses client statistics.
1045 Details    : When running with O_DIRECT I/O, neither the client rpc_stats nor
1046              read_ahead_stats were updated. copied the stats section from
1047              osc_send_oap_rpc() into async_internal().
1048
1049 Severity   : normal
1050 Bugzilla   : 13454
1051 Description: Add jbd statistics patch for RHEL5 and 2.6.18-vanilla
1052
1053 Severity   : minor
1054 Bugzilla   : 13732
1055 Description: change order of libsysio includes
1056 Details    : '#include sysio.h' should always come before '#include xtio.h'
1057
1058 Severity   : normal
1059 Bugzilla   : 11673
1060 Description: handle "serious error: objid * already exists" more gracefully
1061 Details    : If LAST_ID value on disk is smaller than the objects existing in
1062              the O/0/d* directories, it indicates disk corruption and causes an
1063              LBUG(). If the object is 0-length, then we should use the existing
1064              object. This will help to avoid a full fsck in most cases.
1065
1066 Severity   : enhancement
1067 Bugzilla   : 13207
1068 Description: adapt the lustre_config script to support the upgrade case
1069 Details    : Add "-u" option for lustre_config script to support upgrading 1.4
1070              server targets to 1.6 in parallel.
1071
1072 Severity   : normal
1073 Bugzilla   : 13570
1074 Description: To avoid grant space > avaible space when the disk is almost
1075              full. Without this patch you might see the error "grant XXXX >
1076              available" or some LBUG about grant, when the disk is almost
1077              full.
1078 Details    : In filter_check_grant, for non_grant cache write, we should
1079              check the left space by  if (*left > ungranted + bytes), instead
1080              of (*left > ungranted), because only we are sure the left space
1081              is enough for another "bytes", then the ungrant space should be
1082              increase. In client, we should update cl_avail_grant only there
1083              is OBD_MD_FLGRANT in the reply.
1084
1085 Severity   : critical
1086 Bugzilla   : 13748
1087 Description: Update RHEL 4 kernel to fix local root privilege escalation.
1088 Details    : Update to the latest RHEL 4 kernel to fix the vulnerability
1089              described in CVE-2007-4573.  This problem could allow untrusted
1090              local users to gain root access.
1091
1092 Severity   : normal
1093 Frequency  : when using O_DIRECT and quotas
1094 Bugzilla   : 13930
1095 Description: Incorrect file ownership on O_DIRECT output files
1096 Details    : block usage reported by 'lfs quota' does not take into account
1097              files that have been written with O_DIRECT.
1098
1099 Severity   : normal
1100 Frequency  : always
1101 Bugzilla   : 13976
1102 Description: touch file failed when fs is not full
1103 Details    : OST in recovery should not be discarded by MDS in alloc_qos(),
1104              otherwise we can get ENOSP while fs is not full.
1105
1106 Severity   : normal
1107 Bugzilla   : 11301
1108 Description: parallel lock callbacks
1109 Details    : Instead of sending blocking and completion callbacks as separated
1110              requests, adding them to a set and sending in parallel.
1111
1112 Severity   : normal
1113 Frequency  : only for Cray XT3
1114 Bugzilla   : 12829/13455
1115 Description: Changing primary group doesn't change the group lustre assigns to
1116              a file
1117 Details    : When CRAY_XT3 is defined, the fsgid supplied by the client is
1118              overridden with the primary group provided by the group upcall,
1119              whereas the supplied fsgid can be trusted if it is in the list of
1120              supplementary groups returned by the group upcall.
1121
1122 Severity   : enhancement
1123 Bugzilla   : 14398
1124 Description: Allow masking D_WARNING, D_ERROR messages from console
1125 Details    : Console messages can now be disabled via lnet.printk.
1126
1127 Severity   : normal
1128 Bugzilla   : 14614
1129 Description: User code with malformed file open parameter crashes client node
1130 Details    : Before packing join_file req, all the related reference should be
1131              checked carefully in case some malformed flags cause fake
1132              join_file req on client.
1133
1134 Severity   : normal
1135 Bugzilla   : 14225
1136 Description: LDLM_ENQUEUE races with LDLM_CP_CALLBACK
1137 Details    : ldlm_completion_ast() assumes that a lock is granted when the req
1138              mode is equal to the granted mode. However, it should also check
1139              that LDLM_FL_CP_REQD is not set.
1140
1141 Severity   : normal
1142 Bugzilla   : 14360
1143 Description: Heavy nfs access might result in deadlocks
1144 Details    : After ELC code landed, it is now improper to enqueue any mds
1145              locks under och_sem, because enqueue might want to decide to
1146              cancel open locks for same inode we are holding och_sem for.
1147
1148 Severity   : normal
1149 Bugzilla   : 13843
1150 Description: Client eviction while running blogbench
1151 Details    : A lot of unlink operations with concurrent I/O can lead to a
1152              deadlock causing evictions. To address the problem, the number of
1153              oustanding OST_DESTROY requests is now throttled to
1154              max_rpcs_in_flight per OSC and LDLM_FL_DISCARD_DATA blocking
1155              callbacks are processed in priority.
1156
1157 Severity   : normal
1158 Bugzilla   : 13829
1159 Description: enable ACLs on MDS by default
1160 Details    : ACLs must be enabled on MDS by default.
1161
1162 Severity   : normal
1163 Frequency  : PPC/PPC64 only
1164 Bugzilla   : 14845
1165 Description: conflicts between asm-ppc64/types.h and lustre_types.h
1166 Details    : fix duplicated definitions between asm-ppc64/types.h and
1167              lustre_types.h on PPC.
1168
1169 Severity   : normal
1170 Frequency  : PPC/PPC64 only
1171 Bugzilla   : 14844
1172 Description: asm-ppc/segment.h does not exist
1173 Details    : fix compile issue on PPC.
1174
1175 Severity   : normal
1176 Bugzilla   : 14864
1177 Description: better handle error messages in extents code
1178
1179 Severity   : normal
1180 Frequency  : RHEL4 only
1181 Bugzilla   : 14618
1182 Description: mkfs is very slow on IA64/RHEL4
1183 Details    : A performance regression has been discovered in the MPT Fusion
1184              driver between versions 3.02.73rh and 3.02.99.00rh. As a
1185              consequence, we have downgraded the MPT Fusion driver in the RHEL4
1186              kernel from 3.02.99.00 to 3.02.73 until this problem is fixed.
1187
1188 Severity   : enhancement
1189 Bugzilla   : 14729
1190 Description: SNMP support enhancement
1191 Details    : Adding total number of sampled request for an MDS node in snmp
1192              support.
1193
1194 Severity   : enhancement
1195 Bugzilla   : 14748
1196 Description: Optimize ldlm waiting list processing for PR extent locks
1197 Details    : When processing waiting list for read extent lock and meeting read
1198              lock that is same or wider to it that is not contended, skip
1199              processing rest of the list and immediatelly return current
1200              status of conflictness, since we are guaranteed there are no
1201              conflicting locks in the rest of the list.
1202
1203 Severity   : normal
1204 Bugzilla   : 14774
1205 Description: Time out and refuse to reconnect
1206 Details    : When the failover node is the primary node, it is possible
1207              to have two identical connections in imp_conn_list. We must
1208              compare not conn's pointers but NIDs, otherwise we can defeat
1209              connection throttling.
1210
1211 Severity   : normal
1212 Bugzilla   : 13821
1213 Description: port llog fixes from b1_6 into HEAD
1214 Details    : Port llog reference couting and some llog cleanups from b1_6
1215              (bug 10800) into HEAD, for protect from panic and access to already
1216              free llog structures.
1217
1218 Severity   : normal
1219 Bugzilla   : 14483
1220 Description: Detect stride IO mode in read-ahead
1221 Details    : When a client does stride read, read-ahead should detect that and
1222              read-ahead pages according to the detected stride pattern.
1223
1224 Severity   : normal
1225 Bugzilla   : 13805
1226 Description: data checksumming impacts single node performance
1227 Details    : add support for several checksum algorithm. Currently, only CRC32
1228              and Adler-32 are supported. The checksum type can be changed on
1229              the fly via /proc/fs/lustre/osc/*/checksum_type.
1230
1231 Severity   : normal
1232 Bugzilla   : 14648
1233 Description: use adler32 for page checksums
1234 Details    : when available, use the Adler-32 algorithm instead of CRC32 for
1235              page checksums.
1236
1237 Severity   : normal
1238 Bugzilla   : 15033
1239 Description: build for x2 fails
1240 Details    : fix compile issue on Cray systems.
1241
1242 Severity   : normal
1243 Bugzilla   : 14379
1244 Description: Properly match for duplicate locks
1245 Details    : Due to different lock order from skiplists code, we need to
1246              traverse entire list for now
1247
1248 Severity   : normal
1249 Frequency  : only on PPC/SLES10
1250 Bugzilla   : 14855
1251 Description: "BITS_PER_LONG is not 32 or 64" in linux/idr.h
1252 Details    : On SLES10/PPC, fs.h includes idr.h which requires BITS_PER_LONG to
1253              be defined. Add a hack in mkfs_lustre.c to work around this compile
1254              issue.
1255
1256 Severity   : normal
1257 Bugzilla   : 14257
1258 Description: LASSERT on MDS when client holding flock lock dies
1259 Details    : ldlm pool logic depends on number of granted locks equal to
1260              number of released locks which is not true for flock locks, so
1261              just exclude such locks from consideration.
1262
1263 Severity   : normal
1264 Bugzilla   : 15188
1265 Description: MDS deadlock with many ll_sync_lov threads and I/O stalled
1266 Details    : Use fsfilt_sync() for both the whole filesystem sync and
1267              individual file sync to eliminate dangerous inode locking
1268              with I_LOCK that can lead to a deadlock.
1269
1270 Severity   : normal
1271 Bugzilla   : 14410
1272 Description: performance in 1.6.3
1273 Details    : Force q->max_phys_segments to MAX_PHYS_SEGMENTS on SLES10 to be
1274              sure that 1MB requests are not fragmented by the block layer.
1275
1276 Severity   : enhancement
1277 Bugzilla   : 11089
1278 Description: organize the server-side client stats on per-nid basis
1279 Details    : Change the structure of stats under obdfilter and mds to
1280              New structure:
1281                 +- exports
1282                         +- nid#1
1283                         |   + stats
1284                         |   + uuids
1285                         +- nid#2...
1286                         +- clear
1287              The "uuid"s file would list the uuids of _active_ exports.
1288              And the clear entry is to clear all stats and stale nids.
1289
1290 Severity   : enhancement
1291 Bugzilla   : 11270
1292 Description: eliminate client locks in face of contention
1293 Details    : file contention detection and lockless i/o implementation
1294              for contended files.
1295
1296 Severity   : normal
1297 Bugzilla   : 15212
1298 Description: Reinitialize optind to 0 so that interactive lfs works in all cases
1299
1300 Severity   : critical
1301 Frequency  : very rare, if additional xattrs are used on kernels >= 2.6.12
1302 Bugzilla   : 15777
1303 Description: MDS may lose file striping (and hence file data) in some cases
1304 Details    : If there are additional extended attributes stored on the MDS,
1305              in particular ACLs, SELinux, or user attributes (if user_xattr
1306              is specified for the client mount options) then there is a risk
1307              of attribute loss.  Additionally, the Lustre file striping
1308              needs to be larger than default (e.g. striped over all OSTs),
1309              and an additional attribute must be stored initially in the
1310              inode and then increase in size enough to be moved to the
1311              external attribute block (e.g. ACL growing in size) for file
1312              data to be lost.
1313
1314 Severity   : normal
1315 Bugzilla   : 15346
1316 Description: skiplist implementation simplification
1317 Details    : skiplists are used to group compatible locks on granted list
1318              that was implemented as tracking first and last lock of each
1319              lock group the patch changes that to using doubly linked lists
1320
1321 Severity   : normal
1322 Bugzilla   : 15574
1323 Description: MDS LBUG: ASSERTION(!IS_ERR(dchild))
1324 Details    : Change LASSERTs to client eviction (i.e. abort client's recovery)
1325              because LASSERT on both the data supplied by a client, and the
1326              data on disk is dangerous and incorrect.
1327
1328 Severity   : enhancement
1329 Bugzilla   : 10718
1330 Description: Slow truncate/writes to huge files at high offsets.
1331 Details    : Directly associate cached pages to lock that protect those pages,
1332              this allows us to quickly find what pages to write and remove
1333              once lock callback is received.
1334
1335 Severity   : normal
1336 Bugzilla   : 15953
1337 Description: more ldlm soft lockups
1338 Details    : In ldlm_resource_add_lock(), call to ldlm_resource_dump()
1339              starve other threads from the resource lock for a long time in
1340              case of long waiting queue, so change the debug level from
1341              D_OTHER to the less frequently used D_INFO.
1342
1343 Severity   : enhancement
1344 Bugzilla   : 13128
1345 Description: add -gid, -group, -uid, -user options to lfs find
1346
1347 Severity   : normal
1348 Bugzilla   : 15950
1349 Description: Hung threads in invalidate_inode_pages2_range
1350 Details    : The direct IO path doesn't call check_rpcs to submit a new RPC
1351              once one is completed. As a result, some RPCs are stuck in the
1352              queue and are never sent.
1353
1354 Severity   : normal
1355 Bugzilla   : 14629
1356 Description: filter threads hungs on waiting journal commit
1357 Details    : Cleanup filter group llog code, then only filter group llog will
1358              be only created in the MDS/OST syncing process.
1359
1360 Severity   : normal
1361 Bugzilla   : 15684
1362 Description: Procfs and llog threads access destoryed import sometimes.
1363 Details    : Sync the import destoryed process with procfs and llog threads by
1364              the import refcount and semaphore.
1365
1366 Severity   : enhancement
1367 Bugzilla   : 14975
1368 Description: openlock cache of b1_6 port to HEAD
1369
1370 Severity   : major
1371 Frequncy   : rare
1372 Bugzilla   : 16226
1373 Description: kernel BUG at ldiskfs2_ext_new_extent_cb
1374 Details    : If insertion of an extent fails, then discard the inode
1375              preallocation and free data blocks else it can lead to duplicate
1376              blocks.
1377
1378 Severity   : normal
1379 Bugzilla   : 16199
1380 Description: don't always update ctime in ext3_xattr_set_handle()
1381 Details    : Current xattr code updates inode ctime in ext3_xattr_set_handle.
1382              In some cases the ctime should not be updated, for example for
1383              2.0->1.8 compatibility it is necessary to delete an xattr and it
1384              should not update the ctime.
1385
1386 Severity   : major
1387 Frequency  : rare
1388 Bugzilla   : 15713/16362
1389 Description: Assertion in iopen_connect_dentry in 1.6.3
1390 Details    : looking up an inode via iopen with the wrong generation number can
1391              populate the dcache with a disconneced dentry while the inode
1392              number is in the process of being reallocated. This causes an
1393              assertion failure in iopen since the inode's dentry list contains
1394              both a connected and disconnected dentry.
1395
1396 Severity   : normal
1397 Bugzilla   : 16496
1398 Description: assertion failure in ldlm_handle2lock()
1399 Details    : fix a race between class_handle_unhash() and class_handle2object()
1400              introduced in lustre 1.6.5 by bug 13622.
1401
1402 Severity   : minor
1403 Frequency  : rare
1404 Bugzilla   : 12755
1405 Description: Kernel BUG: sd_iostats_bump: unexpected disk index
1406 Details    : remove the limit of 256 scsi disks in the sd_iostat patch
1407
1408 Severity   : minor
1409 Frequency  : rare
1410 Bugzilla   : 16494
1411 Description: oops in sd_iostats_seq_show()
1412 Details    : unloading/reloading the scsi low level driver triggers a kernel
1413              bug when trying to access the sd iostat file.
1414
1415 Severity   : major
1416 Frequency  : rare
1417 Bugzilla   : 16404
1418 Description: Kernel panics during QLogic driver reload
1419 Details    : REQ_BLOCK_PC requests are not handled properly in the sd iostat
1420              patch, causing memory corruption.
1421
1422 Severity   : minor
1423 Frequency  : rare
1424 Bugzilla   : 16140
1425 Description: journal_dev option does not work in b1_6
1426 Details    : pass mount option during pre-mount.
1427
1428 Severity   : enhancement
1429 Bugzilla   : 10555
1430 Description: Add a FIEMAP(FIle Extent MAP) ioctl
1431 Details    : FIEMAP ioctl will allow an application to efficiently fetch the
1432              extent information of a file. It can be used to map logical blocks
1433              in a file to physical blocks in the block device.
1434
1435 Severity   : normal
1436 Bugzilla   : 15198
1437 Description: LDLM soft lockups - improvement
1438 Details    : It is be possible to send the lock handle along with each read
1439              or write request because the client is already doing a lock match
1440              itself so there isn't any reason the OST should have to re-do that
1441              search.
1442
1443 Severity   : normal
1444 Frequency  : only on Cray X2
1445 Bugzilla   : 16813
1446 Description: X2 build failures
1447 Details    : fix build failures on Cray X2.
1448
1449 Severity   : normal
1450 Bugzilla   : 2066
1451 Description: xid & resent requests
1452 Details    : Initialize RPC XID from clock at startup (randomly if clock is
1453              bad).
1454
1455 Severity   : enhancement
1456 Bugzilla   : 14095
1457 Description: Add lustre_start utility to start or stop multiple Lustre servers
1458              from a CSV file.
1459
1460 Severity   : major
1461 Bugzilla   : 17024
1462 Description: Lustre GPF in {:ptlrpc:ptlrpc_server_free_request+373}
1463 Details    : In case of memory pressure, list_del() can be called twice on
1464              req->rq_history_list, causing a kernel oops.
1465
1466 Severity   : normal
1467 Bugzilla   : 17026
1468 Description: kptllnd_peer_check_sends()) ASSERTION(!in_interrupt()) failed
1469 Details    : fix stack overflow in the distributed lock manager by defering
1470              export eviction after a failed AST to the elt thread instead of
1471              handling it in the dlm interpret routine.
1472
1473 Severity   : normal
1474 Bugzilla   : 16450
1475 Description: Convert some comments to new format.
1476 Details    : Update documenting comments to match doxygen conventions.
1477
1478 Severity   : normal
1479 Bugzilla   : 16450
1480 Description: Grammar fixes.
1481 Details    : A couple of trivial spelling fixes.
1482
1483 Severity   : normal
1484 Bugzilla   : 16450
1485 Description: OSD_COUNTERS-mandatory
1486 Details    : Make previously optional ->oti_{w,r}_locks sanity checks mandatory
1487              to simplify the code.
1488
1489 Severity   : normal
1490 Bugzilla   : 16450
1491 Description: simplify cmm_device freeing logic.
1492 Details    : Call cmm_device_free() in the failure path of cmm_device_alloc().
1493
1494 Severity   : normal
1495 Bugzilla   : 16450
1496 Description: Add lockdep support to dt_object_operations locking interface.
1497 Details    : Augment ->do_{read,write}_lock() prototypes with a `role'
1498              parameter indicating lock ordering. Update mdd code to use new
1499              locking interface.
1500
1501 Severity   : normal
1502 Bugzilla   : 16450
1503 Description: Introduce failloc constants for lockless IO tests.
1504 Details    : Add two new failloc constants to test lockless IO. Only one of
1505              them in implemented---another is checked in yet to be landed
1506              core CLIO code.
1507
1508 Severity   : normal
1509 Bugzilla   : 16450
1510 Description: Add lockdep support for inode mutex.
1511 Details    : Introduce and use new LOCK_INODE_MUTEX_PARENT() macro to be used
1512              in the situations where Lustre has to lock more than one inode
1513              mutex at a time.
1514
1515 Severity   : normal
1516 Bugzilla   : 16450
1517 Description: Add optional invariants checking support.
1518 Details    : Add new LINVRNT() macro, optional on new --enable-invariants
1519              configure switch. This macro is to be used for consistency and
1520              sanity checks that are too expensive to be left in `production'
1521              mode.
1522
1523 Severity   : minor
1524 Bugzilla   : 16450
1525 Description: Zap lock->l_granted_mode with explicit LCK_MINMODE.
1526 Details    : Use LCK_MINMODE rather than 0 to reset lock->l_granted_mode to
1527              its initial state.
1528
1529 Severity   : normal
1530 Bugzilla   : 16450
1531 Description: Add lockdep support for ldlm_lock and ldlm_resource.
1532 Details    : Use spin_lock_nested() in (the only) situation where more than
1533              one ldlm_lock is locked simultaneously. Also, fix possible
1534              dead-lock in ldlm_lock_change_resource() by enforcing particular
1535              lock ordering.
1536
1537 Severity   : normal
1538 Bugzilla   : 16450
1539 Description: Use struct ldlm_callback_suite in ldlm_lock_create().
1540 Details    : Instead of specifying each ldlm_lock call-back through separate
1541              parameter, wrap them into struct ldlm_callback_suite.
1542
1543 Severity   : normal
1544 Bugzilla   : 16450
1545 Description: Kill join_lru obd method and its callers.
1546 Details    : CLIO uses lock weighting policy to keep locks over mmapped regions
1547              in memory---a requirement implemented through ->o_join_lru() obd
1548              method in HEAD. Remove this method and its users.
1549
1550 Severity   : normal
1551 Bugzilla   : 16450
1552 Description: Add asynchronous ldlm ENQUEUE completion handler.
1553 Details    : CLIO posts ENQUEUE requests asynchronously through ptlrpcd---a
1554              case that stock ldlm_completion_ast() cannot handle as it waits
1555              until lock is granted. Introduce new ldlm_completion_ast_async()
1556              for this. Also comment ldlm_completion_ast().
1557
1558 Severity   : normal
1559 Bugzilla   : 16450
1560 Description: ldlm_error <-> errno conversion.
1561 Details    : Add functions to map (rather arbitrary) between LDLM error codes
1562              and standard errno values. CLIO needs this to prevent LDLM specific
1563              constants from escaping ldlm and osc.
1564
1565 Severity   : minor
1566 Bugzilla   : 16450
1567 Description: Kill unused ldlm_handle2lock_ns() function.
1568 Details    : Kill unused ldlm_handle2lock_ns() function.
1569
1570 Severity   : normal
1571 Bugzilla   : 16450
1572 Description: Add lu_ref support to ldlm_lock
1573 Details    : lu_ref support for ldlm_lock and ldlm_resource. See lu_ref patch.
1574         lu_ref fields ->l_reference and ->lr_reference are added to ldlm_lock
1575         and ldlm_resource. LDLM interface has to be changed, because code that
1576         releases a reference on a lock, has to "know" what reference this is.
1577         In the most frequent case
1578
1579                 lock = ldlm_handle2lock(handle);
1580                 ...
1581                 LDLM_LOCK_PUT(lock);
1582
1583         no changes are required. When any other reference (received _not_ from
1584         ldlm_handle2lock()) is released, LDLM_LOCK_RELEASE() has to be called
1585         instead of LDLM_LOCK_PUT().
1586
1587         Arguably, changes are pervasive, and interface requires some discipline
1588         for proper use. On the other hand, it was very instrumental in finding
1589         a few leaked lock references.
1590
1591 Severity   : normal
1592 Bugzilla   : 16450
1593 Description: Add ldlm_lock_addref_try().
1594 Details    : Introduce ldlm_lock_addref_try() function (used by CLIO) that
1595              attempts to addref a lock that might be being canceled
1596              concurrently.
1597
1598 Severity   : normal
1599 Bugzilla   : 16450
1600 Description: Add ldlm_weigh_callback().
1601 Details    : Add new ->l_weigh_ast() call-back to ldlm_lock. It is called
1602         by ldlm_cancel_shrink_policy() to estimate lock "value", instead of
1603         hard-coded `number of pages' logic.
1604
1605 Severity   : normal
1606 Bugzilla   : 16450
1607 Description: Add lockdep annotations to llog code.
1608 Details    : Use appropriately tagged _nested() locking calls in the places
1609              where llog takes more than one ->lgh_lock lock.
1610         
1611 Severity   : minor
1612 Bugzilla   : 16450
1613 Description: Add loi_kms_set().
1614 Details    : Wrap kms updates into a helper function.
1615
1616 Severity   : minor
1617 Bugzilla   : 16450
1618 Description: Constify instances of struct lsm_operations.
1619 Details    : Constify instances of struct lsm_operations.
1620
1621 Severity   : normal
1622 Bugzilla   : 16450
1623 Description: lu_conf support.
1624 Details    : On a server, a file system object is uniquely identified
1625              by a fid, which is sufficient to locate and load all object
1626              state (inode). On a client, on the other hand, more data are
1627              necessary instantiate an object. Change lu_object_find() and
1628              friends to take additional `lu_conf' argument describing object.
1629              Typically this includes layout information.
1630
1631 Severity   : normal
1632 Bugzilla   : 16450
1633 Description: lu_context fixes.
1634 Details    : Introduce new lu_context functions that are needed on the client
1635              side, where some system threads (ptlrpcd) are shared by multiple
1636              modules, and so cannot be stopped during module shutdown.
1637
1638 Severity   : normal
1639 Bugzilla   : 16450
1640 Description: Add start and stop methods to lu_device_type_operations.
1641 Details    : Introduce two new methods in lu_device_type_operations, that are
1642         invoked  when first instance of a given type is created and last one
1643         is destroyed respectively. This is need by CLIO.
1644
1645 Severity   : normal
1646 Bugzilla   : 16450
1647 Description: Add lu_ref support to struct lu_device.
1648 Details    : Add lu_ref support to lu_object and lu_device. lu_ref is used to
1649              track leaked references.
1650
1651 Severity   : normal
1652 Bugzilla   : 16450
1653 Description: Introduce lu_kmem_descr.
1654 Details    : lu_kmem_descr and its companion interface allow to create
1655              and destroy a number of kmem caches at once.
1656
1657 Severity   : normal
1658 Bugzilla   : 16450
1659 Description: Fix lu_object finalization race.
1660 Details    : Fix a race between lu_object_find() finding an object and its
1661              concurrent finalization. This race is (most likely) not possible
1662              on the server, but might happen on the client.
1663
1664 Severity   : normal
1665 Bugzilla   : 16450
1666 Description: Introduce lu_ref interface.
1667 Details    : lu_ref is a debugging module allowing to track references to
1668              a given object. It is quite cpu expensive, and has to be
1669              explicitly enabled with --enable-lu_ref. See usage description
1670              within the patch.
1671
1672 Severity   : minor
1673 Bugzilla   : 16450
1674 Description: Factor lu_site procfs stats into a separate function.
1675 Details    : Separate lu_site stats printing code into a separate function
1676              that can be reused on a client.
1677
1678 Severity   : minor
1679 Bugzilla   : 16450
1680 Description: Constify instances of struct {lu,dt,md}_device_operations.
1681 Details    : Constify instances of struct {lu,dt,md}_device_operations.
1682
1683 Severity   : normal
1684 Bugzilla   : 16450
1685 Description: Introduce struct md_site and move meta-data specific parts of
1686              struct lu_site here.
1687 Details    : Move md-specific fields out of struct lu_site into special struct
1688         md_site, so that lu_site can be used on a client.
1689
1690 Severity   : minor
1691 Bugzilla   : 16450
1692 Description: Kill mdd_lov_destroy().
1693 Details    : Remove unused mdd code.
1694
1695 Severity   : minor
1696 Bugzilla   : 16450
1697 Description: Add st_block checking to multistat.c.
1698 Details    : Add st_block checking to multistat.c.
1699
1700 Severity   : normal
1701 Bugzilla   : 16450
1702 Description: Add lu_ref support to struct obd_device.
1703 Details    : Add lu_ref tracking to obd_device.
1704
1705 Severity   : minor
1706 Bugzilla   : 16450
1707 Description: Kill obd_set_fail_loc().
1708 Details    : Remove unused code.
1709
1710 Severity   : normal
1711 Bugzilla   : 16450
1712 Description: Add special type for ptlrpc_request interpret functions.
1713 Details    : Add lu_env parameter to ->rq_interpreter call-back. NULL is passed
1714              there. Actual usage will be in CLIO.
1715
1716 Severity   : normal
1717 Bugzilla   : 16450
1718 Description: Replace RW_LOCK_UNLOCKED() macro with rwlock_init().
1719 Details    : Replace RW_LOCK_UNLOCKED() with rwlock_init() as the former
1720              doesn't work with lockdep.
1721
1722 Severity   : normal
1723 Bugzilla   : 16450
1724 Description: Add rwv.c test program.
1725 Details    : New testing program exercising readv(2) and writev(2) (Qian).
1726
1727 Severity   : normal
1728 Bugzilla   : 16450
1729 Description: Add sendfile.c test program.
1730 Details    : New testing program exercising sendfile(2) (Jay).
1731
1732 Severity   : minor
1733 Bugzilla   : 16450
1734 Description: Ratelimit a message that can be very frequent.
1735 Details    : Ratelimit a memory allocation failure message that can
1736              be too chatty.
1737
1738 Severity   : minor
1739 Bugzilla   : 16450
1740 Description: Use cdebug_show() in CDEBUG-style macros defined outside of libcfs.
1741 Details    : Use cdebug_show() in CDEBUG-style macros defined outside of libcfs.
1742
1743 Severity   : normal
1744 Bugzilla   : 16450
1745 Description: Liblustre build fixes.
1746 Details    : Liblustre build fixes.
1747
1748 Severity   : normal
1749 Bugzilla   : 16450
1750 Description: libcfs: add cfs_{need,cond}_resched() interface.
1751 Details    : libcfs: add cfs_{need,cond}_resched() definition and
1752              implementations for Linux, NT, and liblustre.
1753
1754 Severity   : enhancement
1755 Bugzilla   : 12800
1756 Description: More exported tunables for mballoc
1757 Details    : Add support for tunable preallocation window and new tunables for
1758              large/small requests
1759
1760 Severity   : normal
1761 Bugzilla   : 16680
1762 Description: Detect corruption of block bitmap and checking for preallocations
1763 Details    : Checks validity of on-disk block bitmap. Also it does better
1764              checking of number of applied preallocations. When corruption is
1765              found, it turns filesystem readonly to prevent further corruptions.
1766
1767 Severity   : normal
1768 Bugzilla   : 17197
1769 Description: (rw.c:1323:ll_read_ahead_pages()) ASSERTION(page_idx > ria->ria_stoff) failed
1770 Details    : Once the unmatched stride IO mode is detected, shrink the stride-ahead
1771              window to 0. If it does hit cache miss, and read-pattern is still
1772              stride-io mode, does not reset the stride window, but also does not
1773              increase the stride window length in this case.
1774
1775 Severity   : normal
1776 Bugzilla   : 16438
1777 Frequency  : only for big-endian servers
1778 Description: Check if system is big-endian while mounting fs with extents feature
1779 Details    : Mounting a filesystem with extents feature will fail on big-endian
1780              systems since ext3-based ldiskfs is not supported on big-endian
1781              systems. This can be over-riden with "bigendian_extents" mount option.
1782
1783 --------------------------------------------------------------------------------
1784
1785 2007-08-10         Cluster File Systems, Inc. <info@clusterfs.com>
1786        * version 1.6.1
1787        * Support for kernels:
1788         2.6.5-7.283 (SLES 9),
1789         2.6.9-55.EL (RHEL 4),
1790         2.6.16.46-0.14 (SLES 10),
1791         2.6.18.8 vanilla (kernel.org)
1792        * Client support for unpatched kernels:
1793         (see http://wiki.lustre.org/index.php?title=Patchless_Client)
1794         2.6.16 - 2.6.22 vanilla (kernel.org)
1795        * Due to recently discovered recovery problems, we do not recommend
1796         using patchless RHEL 4 clients with this or any earlier release.
1797        * Recommended e2fsprogs version: 1.39.cfs8
1798        * Note that reiserfs quotas are disabled on SLES 10 in this kernel.
1799        * Starting with this release, the ldiskfs backing filesystem required
1800         by Lustre is now in its own package, lustre-ldiskfs.  This package
1801         should be installed.  It is versioned separately from Lustre and
1802         may be released separately in future.
1803
1804 Severity   : minor
1805 Bugzilla   : 13147
1806 Description: block reactivating mgc import until all deactivates complete
1807 Details    : Fix race when failing back MDT/MGS to itself (testing)
1808
1809 Severity   : minor
1810 Frequency  : at statup only
1811 Bugzilla   : 12860
1812 Description: mds_lov_synchronize race leads to various problems
1813 Details    : simultaneous MDT->OST connections at startup can cause the
1814              sync to abort, leaving the OSC in a bad state.
1815
1816 Severity   : enhancement
1817 Bugzilla   : 12194
1818 Description: add optional extra BUILD_VERSION info
1819 Details    : add a new environment variable (namely LUSTRE_VERS) which allows
1820              to override the lustre version.
1821
1822 Severity   : normal
1823 Frequency  : 2.6.18 servers only
1824 Bugzilla   : 12546
1825 Description: ll_kern_mount() doesn't release the module reference
1826 Details    : The ldiskfs module reference count never drops down to 0
1827              because ll_kern_mount() doesn't release the module reference.
1828
1829 Severity   : normal
1830 Frequency  : rare
1831 Bugzilla   : 12470
1832 Description: server LBUG when using old ost_num_threads parameter
1833 Details    : Accept the old ost_num_threads parameter but warn that it
1834              is deprecated, and fix an off-by-one error that caused an LBUG.
1835
1836 Severity   : normal
1837 Frequency  : rare
1838 Bugzilla   : 11722
1839 Description: Transient SCSI error results in persistent IO issue
1840 Details    : iobuf->dr_error is not reinitialized to 0 between two
1841              uses.
1842
1843 Severity   : normal
1844 Frequency  : sometimes when underlying device returns I/O errors
1845 Bugzilla   : 11743
1846 Description: OSTs not going read-only during write failures
1847 Details    : OSTs are not remounted read-only when the journal commit threads
1848              get I/O errors because fsfilt_ext3 calls journal_start/stop()
1849              instead of the ext3 wrappers.
1850
1851 Severity   : minor
1852 Bugzilla   : 12364
1853 Description: poor connect scaling with increasing client count
1854 Details    : Don't run filter_grant_sanity_check for more than 100 exports
1855              to improve scaling for large numbers of clients.
1856
1857 Severity   : normal
1858 Frequency  : SLES10 only
1859 Bugzilla   : 12538
1860 Description: sanity-quota.sh quotacheck failed: rc = -22
1861 Details    : Quotas cannot be enabled on SLES10.
1862
1863 Severity   : normal
1864 Frequency  : liblustre clients only
1865 Bugzilla   : 12229
1866 Description: getdirentries does not give error when run on compute nodes
1867 Details    : getdirentries does not fail when the size specified as an argument
1868              is too small to contain at least one entry
1869
1870 Severity   : enhancement
1871 Bugzilla   : 11548
1872 Description: Add LNET router traceability for debug purposes
1873 Details    : If a checksum failure occurs with a router as part of the
1874              IO path, the NID of the last router that forwarded the bulk data
1875              is printed so it can be identified.
1876
1877 Severity   : normal
1878 Frequency  : rare
1879 Bugzilla   : 11315
1880 Description: OST "spontaneously" evicts client; client has imp_pingable == 0
1881 Details    : Due to a race condition, liblustre clients were occasionally
1882              evicted incorrectly.
1883
1884 Severity   : enhancement
1885 Bugzilla   : 10997
1886 Description: lfs setstripe use optional parameters instead of postional
1887              parameters.
1888
1889 Severity   : enhancement
1890 Bugzilla   : 10651
1891 Description: Nanosecond timestamp support for ldiskfs
1892 Details    : The on-disk ldiskfs filesystem has added support for nanosecond
1893              resolution timestamps.  There is not yet support for this at
1894              the Lustre filesystem level.
1895
1896 Severity   : normal
1897 Frequency  : during server recovery
1898 Bugzilla   : 11203
1899 Description: MDS failing to send precreate requests due to OSCC_FLAG_RECOVERING
1900 Details    : request with rq_no_resend flag not awake l_wait_event if they get
1901              a timeout.
1902
1903 Severity   : minor
1904 Frequency  : nfs export on patchless client
1905 Bugzilla   : 11970
1906 Description: connectathon hang when test nfs export over patchless client
1907 Details    : Disconnected dentry cannot be found with lookup, so we do not need
1908              to unhash it or make it invalid
1909
1910 Bugzilla   : 11757
1911 Description: fix llapi_lov_get_uuids() to allow many OSTs to be returned
1912 Details:   : Change llapi_lov_get_uuids() to read the UUIDs from /proc instead
1913              of using an ioctl. This allows lfsck for > 160 OSTs to succeed.
1914
1915 Severity   : minor
1916 Frequency  : rare
1917 Bugzilla   : 11546
1918 Description: open req refcounting wrong on reconnect
1919 Details    : If reconnect happened between getting open reply from server and
1920              call to mdc_set_replay_data in ll_file_open, we will schedule
1921              replay for unreferenced request that we are about to free.
1922              Subsequent close will crash in variety of ways.
1923              Check that request is still eligible for replay in
1924              mdc_set_replay_data().
1925
1926 Severity   : minor
1927 Frequency  : rare
1928 Bugzilla   : 11512
1929 Description: disable writes to filesystem when reading health_check file
1930 Details    : the default for reading the health_check proc file has changed
1931              to NOT do a journal transaction and write to disk, because this
1932              can cause reads of the /proc file to hang and block HA state
1933              checking on a healthy but otherwise heavily loaded system.  It
1934              is possible to return to the previous behaviour during configure
1935              with --enable-health-write.
1936
1937 Severity   : enhancement
1938 Bugzilla   : 10768
1939 Description: 64-bit inode version
1940 Details:   : Add a on-disk 64-bit inode version for ext3 to track changes made
1941              to the inode. This will be required for version-based recovery.
1942
1943 Severity   : normal
1944 Frequency  : rare
1945 Bugzilla   : 11818
1946 Description: MDS fails to start if a duplicate client export is detected
1947 Details    : in some rare cases it was possible for a client to connect to
1948              an MDS multiple times.  Upon recovery the MDS would detect this
1949              and fail during startup.  Handle this more gracefully.
1950
1951 Severity   : enhancement
1952 Bugzilla   : 11563
1953 Description: Add -o localflock option to simulate  old noflock
1954 behaviour.
1955 Details    : This will achieve local-only flock/fcntl locks
1956              coherentness.
1957
1958 Severity   : minor
1959 Frequency  : rare
1960 Bugzilla   : 11658
1961 Description: log_commit_thread vs filter_destroy race leads to crash
1962 Details    : Take import reference before releasing llog record semaphore
1963
1964 Severity   : normal
1965 Frequency  : rare
1966 Bugzilla   : 12477
1967 Description: Wrong request locking in request set processing
1968 Details    : ptlrpc_check_set wrongly uses req->rq_lock for proctect add to
1969              imp_delayed_list, in this place should be used imp_lock.
1970
1971 Severity   : normal
1972 Frequency  : when reconnection
1973 Bugzilla   : 11662
1974 Description: Grant Leak when osc reconnect to OST
1975 Details    : When osc reconnect ost, OST(filter) should check whether it
1976              should grant more space to client by comparing fed_grant and
1977              cl_avail_grant, and return the granted space to client instead
1978              of "new granted" space, because client will call osc_init_grant
1979              to update the client grant space info.
1980
1981 Severity   : normal
1982 Frequency  : when client reconnect to OST
1983 Bugzilla   : 11662
1984 Description: Grant Leak when osc do resend and replay bulk write
1985 Details    : When osc reconnect to OST, OST(filter)should clear grant info of
1986              bulk write request, because the grant info while be sync between
1987              OSC and OST when reconnect, and we should ignore the grant info
1988              these of resend/replay write req.
1989
1990 Severity   : normal
1991 Frequency  : rare
1992 Bugzilla   : 11662
1993 Description: Grant space more than avaiable left space sometimes.
1994 Details    : When then OST is about to be full, if two bulk writing from
1995              different clients came to OST. Accord the avaliable space of the
1996              OST, the first req should be permitted, and the second one
1997              should be denied by ENOSPC. But if the seconde arrived before
1998              the first one is commited. The OST might wrongly permit second
1999              writing, which will cause grant space > avaiable space.
2000
2001 Severity   : normal
2002 Frequency  : when client is evicted
2003 Bugzilla   : 12371
2004 Description: Grant might be wrongly erased when osc is evicted by OST
2005 Details    : when the import is evicted by server, it will fork another
2006              thread ptlrpc_invalidate_import_thread to invalidate the
2007              import, where the grant will be set to 0.  While the original
2008              thread will update the grant it got when connecting. So if
2009              the former happened latter, the grant will be wrongly errased
2010              because of this race.
2011
2012 Severity   : normal
2013 Frequency  : rare
2014 Bugzilla   : 12401
2015 Description: Checking Stale with correct fid
2016 Details    : ll_revalidate_it should uses de_inode instead of op_data.fid2
2017              to check whether it is stale, because sometimes, we want the
2018              enqueue happened anyway, and op_data.fid2 will not be initialized.
2019
2020 Severity   : enhancement
2021 Bugzilla   : 11647
2022 Description: update patchless client
2023 Details    : Add support for patchless client with 2.6.20, 2.6.21 and RHEL 5
2024
2025 Severity   : normal
2026 Frequency  : only with 2.4 kernel
2027 Bugzilla   : 12134
2028 Description: random memory corruption
2029 Details    : size of struct ll_inode_info is to big for union inode.u and this
2030              can be cause of random memory corruption.
2031
2032 Severity   : normal
2033 Frequency  : rare
2034 Bugzilla   : 10818
2035 Description: Memory leak in recovery
2036 Details    : Lov_mds_md was not free in an error handler in mds_create_object.
2037              It should also check obd_fail before fsfilt_start, otherwise if
2038              fsfilt_start return -EROFS,(failover mds during mds recovery).
2039              then the req will return with repmsg->transno = 0 and rc = EROFS.
2040              and we met hit the assert LASSERT(req->rq_reqmsg->transno ==
2041              req->rq_repmsg->transno) in ptlrpc_replay_interpret.  Fcc should
2042              be freed no matter whether fsfilt_commit success or not.
2043
2044 Severity   : minor
2045 Frequency  : only with huge count clients
2046 Bugzilla   : 11817
2047 Description: Prevents from taking the superblock lock in llap_from_page for
2048              a soon died page.
2049 Details    : using LL_ORIGIN_REMOVEPAGE origin flag instead of LL_ORIGIN_UNKNOW
2050              for llap_from_page call in ll_removepage prevents from taking the
2051              superblock lock for a soon died page.
2052
2053 Severity   : normal
2054 Frequency  : rare
2055 Bugzilla   : 11935
2056 Description: Not check open intent error before release open handle
2057 Details    : in some rare cases, the open intent error is not checked before
2058              release open handle, which may cause
2059              ASSERTION(open_req->rq_transno != 0), because it tries to release
2060              the failed open handle.
2061
2062 Severity   : normal
2063 Frequency  : rare
2064 Bugzilla   : 12556
2065 Description: Set cat log bitmap only after create log success.
2066 Details    : in some rare cases, the cat log bitmap is set too early. and it
2067              should be set only after create log success.
2068
2069 Severity   : major
2070 Bugzilla   : 11971
2071 Description: Accessing a block bevice can re-enable I/O when Lustre is
2072              tearing down a device.
2073 Details    : dev_clear_rdonly(bdev) must be called in kill_bdev() instead of
2074              blkdev_put().
2075
2076 Severity   : minor
2077 Bugzilla   : 11706
2078 Description: service threads may hog cpus when there are a lot of requests
2079 Details    : Insert cond_resched to give other threads a chance to use some CPU
2080
2081 Severity   : normal
2082 Frequency  : rare
2083 Bugzilla   : 12086
2084 Description: the cat log was not initialized in recovery
2085 Details    : When mds(mgs) do recovery, the tgt_count might be zero, so the
2086              unlink log on mds will not be initialized until mds post
2087              recovery. And also in mds post recovery, the unlink log will
2088              initialization will be done asynchronausly, so there will be race
2089              between add unlink log and unlink log initialization.
2090
2091 Severity   : normal
2092 Bugzilla   : 12597
2093 Description: brw_stats were being printed incorrectly
2094 Details    : brw_stats were being printed as log2 but all of them were not
2095              recorded as log2. Also remove some code duplication arising from
2096              filter_tally_{read,write}.
2097
2098 Severity   : normal
2099 Bugzilla   : 11674
2100 Frequency  : rare, only in recovery.
2101 Description: ASSERTION(req->rq_type != LI_POISON) failed
2102 Details    : imp_lock should be held while iterating over imp_sending_list for
2103              prevent destroy request after get timeout in ptlrpc_queue_wait.
2104
2105 Severity   : normal
2106 Bugzilla   : 12689
2107 Description: replay-single.sh test 52 fails
2108 Details    : A lock's skiplist need to be cleanup when it being unlinked
2109              from its resource list.
2110
2111 Severity   : normal
2112 Bugzilla   : 11737
2113 Description: Short directio read returns full requested size rather than
2114              actual amount read.
2115 Details    : Direct I/O operations should return actual amount of bytes
2116              transferred rather than requested size.
2117
2118 Severity   : enhancement
2119 Bugzilla   : 10589
2120 Description: metadata RPC reduction (e.g. for rm performance)
2121 Details    : decrease the amount of synchronous RPC between clients and servers
2122              by canceling conflicing lock before the operation on the client
2123              and packing thier handles into the main operation RPC to server.
2124
2125 Severity   : enhancement
2126 Bugzilla   : 4900
2127 Description: Async OSC create to avoid the blocking unnecessarily.
2128 Details    : If a OST has no remain object, system will block on the creating
2129              when need to create a new object on this OST. Now, ways use
2130              pre-created objects when available, instead of blocking on an
2131              empty osc while others are not empty.  If we must block, we block
2132              for the shortest possible period of time.
2133
2134 Severity   : major
2135 Bugzilla   : 11710
2136 Description: improve handling recoverable errors
2137 Details    : if request processig with error which can be recoverable on server
2138              request should be resend, otherwise page released from cache and
2139              marked as error.
2140
2141 Severity   : enhancement
2142 Bugzilla   : 12702
2143 Description: refine locking for avoid write wrong info into lov_objid file
2144 Details    : fix possible races with add new target and write/update data in
2145              lov_objid file.
2146
2147 --------------------------------------------------------------------------------
2148
2149 2007-05-03  Cluster File Systems, Inc. <info@clusterfs.com>
2150        * version 1.6.0.1
2151        * bug fixes
2152
2153 Severity   : normal
2154 Frequency  : on some architectures
2155 Bugzilla   : 12404
2156 Description: 1.6 client sometimes fails to mount from a 1.4 MDT
2157 Details    : Uninitialized flags sometimes cause configuration commands to
2158              be skipped.
2159
2160 Severity   : normal
2161 Frequency  : patchless clients only
2162 Bugzilla   : 12391
2163 Description: missing __iget() symbol export
2164 Details    : The __iget() symbol export is missing.  To avoid the need for
2165              this on patchless clients the deathrow inode reaper is turned
2166              off, and we depend on the VM to clean up old inodes.  This
2167              dependency was during via the fix for bug 12181.
2168         
2169 --------------------------------------------------------------------------------
2170
2171 2007-04-19  Cluster File Systems, Inc. <info@clusterfs.com>
2172        * version 1.6.0
2173        * CONFIGURATION CHANGE.  This version of Lustre WILL NOT
2174          INTEROPERATE with older versions automatically.  In many cases a
2175          special upgrade step is needed. Please read the
2176          user documentation before upgrading any part of a live system.
2177        * WIRE PROTOCOL CHANGE from previous 1.6 beta versions.  This
2178          version will not interoperate with 1.6 betas before beta5 (1.5.95).
2179        * WARNING: Lustre configuration and startup changes are required with
2180          this release.  See https://mail.clusterfs.com/wikis/lustre/MountConf
2181          for details.
2182        * bug fixes
2183
2184 Severity   : enhancement
2185 Bugzilla   : 8007
2186 Description: MountConf
2187 Details    : Lustre configuration is now managed via mkfs and mount
2188              commands instead of lmc and lconf.  New obd types (MGS, MGC)
2189              are added for dynamic configuration management.  See
2190              https://mail.clusterfs.com/wikis/lustre/MountConf for
2191              details.
2192
2193 Severity   : enhancement
2194 Bugzilla   : 4482
2195 Description: dynamic OST addition
2196 Details    : OSTs can now be added to a live filesystem
2197
2198 Severity   : enhancement
2199 Bugzilla   : 9851
2200 Description: startup order invariance
2201 Details    : MDTs and OSTs can be started in any order.  Clients only
2202              require the MDT to complete startup.
2203         
2204 Severity   : enhancement
2205 Bugzilla   : 4899
2206 Description: parallel, asynchronous orphan cleanup
2207 Details    : orphan cleanup is now performed in separate threads for each
2208              OST, allowing parallel non-blocking operation.
2209
2210 Severity   : enhancement
2211 Bugzilla   : 9862
2212 Description: optimized stripe assignment
2213 Details    : stripe assignments are now made based on ost space available,
2214              ost previous usage, and OSS previous usage, in order to try
2215              to optimize storage space and networking resources.
2216         
2217 Severity   : enhancement
2218 Bugzilla   : 4226
2219 Description: Permanently set tunables
2220 Details    : All writable /proc/fs/lustre tunables can now be permanently
2221              set on a per-server basis, at mkfs time or on a live system.
2222         
2223 Severity   : enhancement
2224 Bugzilla   : 10547
2225 Description: Lustre message v2
2226 Details    : Add lustre message format v2.
2227
2228 Severity   : enhancement
2229 Bugzilla   : 9866
2230 Description: client OST exclusion list
2231 Details    : Clients can be started with a list of OSTs that should be
2232              declared "inactive" for known non-responsive OSTs.
2233
2234 Severity   : minor
2235 Bugzilla   : 6062
2236 Description: SPEC SFS validation failure on NFS v2 over lustre.
2237 Details    : Changes the blocksize for regular files to be 2x RPC size,
2238              and not depend on stripe size.
2239         
2240 Severity   : enhancement
2241 Bugzilla   : 9293
2242 Description: Multiple MD RPCs in flight.
2243 Details    : Further unserialise some read-only MDS RPCs - learn about intents.
2244              To avoid overly-overloading MDS, introduce a limit on number of
2245              MDS RPCs in flight for a single client and add /proc controls
2246              to adjust this limit.
2247
2248 Severity   : enhancement
2249 Bugzilla   : 22484
2250 Description: client read/write statistics
2251 Details    : Add client read/write call usage stats for performance
2252              analysis of user processes.
2253              /proc/fs/lustre/llite/*/offset_stats shows non-sequential
2254              file access. extents_stats shows chunk size distribution.
2255              extents_stats_per_process show chunk size distribution per
2256              user process.
2257
2258 Severity   : enhancement
2259 Bugzilla   : 22486
2260 Description: mds statistics
2261 Details    : Add detailed mds operations statistics in
2262              /proc/fs/lustre/mds/*/stats.
2263
2264 Severity   : minor
2265 Bugzilla   : 10667
2266 Description: Failure of copying files with lustre special EAs.
2267 Details    : Client side always return success for setxattr call for lustre
2268              special xattr (currently only "trusted.lov").
2269
2270 Severity   : minor
2271 Frequency  : always
2272 Bugzilla   : 10345
2273 Description: Refcount LNET uuids
2274 Details    : The global LNET uuid list grew linearly with every startup;
2275              refcount repeated list entries instead of always adding to
2276              the list.
2277
2278 Severity   : enhancement
2279 Bugzilla   : 2258
2280 Description: Dynamic service threads
2281 Details    : Within a small range, start extra service threads
2282              automatically when the request queue builds up.
2283
2284 Severity   : major
2285 Frequency  : mixed-endian client/server environments
2286 Bugzilla   : 11214
2287 Description: mixed-endian crashes
2288 Details    : The new msg_v2 system had some failures in mixed-endian
2289              environments.
2290
2291 Severity   : enhancement
2292 Bugzilla   : 11229
2293 Description: Easy OST removal
2294 Details    : OSTs can be permanently deactivated with e.g. 'lctl
2295              conf_param lustre-OST0001.osc.active=0'
2296
2297 Severity   : enhancement
2298 Bugzilla   : 11335
2299 Description: MGS proc entries
2300 Details    : Added basic proc entries for the MGS showing what filesystems
2301              are served.
2302
2303 Severity   : enhancement
2304 Bugzilla   : 10998
2305 Description: provide MGS failover
2306 Details    : Added config lock reacquisition after MGS server failover.
2307
2308 Severity   : enhancement
2309 Bugzilla   : 11461
2310 Description: add Linux 2.4 support
2311 Details    : Added support for RHEL 2.4.21 kernel for 1.6 servers and clients
2312
2313 Severity   : normal
2314 Bugzilla   : 11330
2315 Description: a large application tries to do I/O to the same resource and dies
2316              in the middle of it.
2317 Details    : Check the req->rq_arrival time after the call to
2318              ost_brw_lock_get(), but before we do anything about
2319              processing it & sending the BULK transfer request. This
2320              should help move old stale pending locks off the queue as
2321              quickly as obd_timeout.
2322
2323 Severity   : major
2324 Frequency  : when an incorrect nid is specified during startup
2325 Bugzilla   : 10734
2326 Description: ptlrpc connect to non-existant node causes kernel crash
2327 Details    : LNET can't be re-entered from an event callback, which
2328              happened when we expire a message after the export has been
2329              cleaned up.  Instead, hand the zombie cleanup off to another
2330              thread.
2331
2332 Severity   : enhancement
2333 Bugzilla   : 10902
2334 Description: plain/inodebits lock performance improvement
2335 Details    : Grouping plain/inodebits in granted list by their request modes
2336              and bits policy, thus improving the performance of search through
2337              the granted list.
2338
2339 Severity   : major
2340 Frequency  : only if OST filesystem is corrupted
2341 Bugzilla   : 9829
2342 Description: client incorrectly hits assertion in ptlrpc_replay_req()
2343 Details    : for a short time RPCs with bulk IO are in the replay list,
2344              but replay of bulk IOs is unimplemented.  If the OST filesystem
2345              is corrupted due to disk cache incoherency and then replay is
2346              started it is possible to trip an assertion.  Avoid putting
2347              committed RPCs into the replay list at all to avoid this issue.
2348
2349 Severity   : major
2350 Frequency  : liblustre (e.g. catamount) on a large cluster with >= 8 OSTs/OSS
2351 Bugzilla   : 11684
2352 Description: System hang on startup
2353 Details    : This bug allowed the liblustre (e.g. catamount) client to
2354              return to the app before handling all startup RPCs.  This
2355              could leave the node unresponsive to lustre network traffic
2356              and manifested as a server ptllnd timeout.
2357
2358 Severity   : enhancement
2359 Bugzilla   : 11667
2360 Description: Add "/proc/sys/lustre/debug_peer_on_timeout"
2361 Details    : liblustre envirable: LIBLUSTRE_DEBUG_PEER_ON_TIMEOUT
2362              boolean to control whether to print peer debug info when a
2363              client's RPC times out.
2364
2365 Severity   : minor
2366 Frequency  : only for kernels with patches from Lustre below 1.4.3
2367 Bugzilla   : 11248
2368 Description: Remove old rdonly API
2369 Details    : Remove old rdonly API which unused from at least lustre 1.4.3
2370
2371 Severity   : major
2372 Frequency  : only for devices with external journals
2373 Bugzilla   : 10719
2374 Description: Set external device read-only also
2375 Details    : During a commanded failover stop, we set the disk device
2376              read-only while the server shuts down. We now also set any
2377              external journal device read-only at the same time.
2378
2379 Severity   : minor
2380 Frequency  : when upgrading from 1.4 while trying to change parameters
2381 Bugzilla   : 11692
2382 Description: The wrong (new) MDC name was used when setting parameters for
2383              upgraded MDT's.  Also allows changing of OSC (and MDC)
2384              parameters if --writeconf is specified at tunefs upgrade time.
2385
2386 Severity   : major
2387 Frequency  : when setting specific ost indicies
2388 Bugzilla   : 11149
2389 Description: QOS code breaks on skipped indicies
2390 Details    : Add checks for missing OST indicies in the QOS code, so OSTs
2391              created with --index need not be sequential.
2392
2393 Severity   : enhancement
2394 Bugzilla   : 11264
2395 Description: Add uninit_groups feature to ldiskfs2 to speed up e2fsck
2396 Details    : The uninit_groups feature works in conjunction with the kernel
2397              filesystem code (ldiskfs2 only) and e2fsprogs-1.39-cfs6 to speed
2398              up the pass1 processing of e2fsck.  This is a read-only feature
2399              in ldiskfs2 only, so older kernels and current ldiskfs cannot
2400              mount filesystems that have had this feature enabled.
2401
2402 Severity   : enhancement
2403 Bugzilla   : 10816
2404 Description: Improve multi-block allocation algorithm to avoid fragmentation
2405 Details    : The mballoc3 code (ldiskfs2 only) adds new mechanisms to improve
2406              allocation locality and avoid filesystem fragmentation.
2407
2408 ------------------------------------------------------------------------------
2409
2410 2007-04-01  Cluster File Systems, Inc. <info@clusterfs.com>
2411        * version 1.4.10
2412        * Support for kernels:
2413         2.4.21-47.0.1.EL (RHEL 3)
2414         2.6.5-7.283 (SLES 9)
2415         2.6.9-42.0.10.EL (RHEL 4)
2416         2.6.12.6 vanilla (kernel.org)
2417         2.6.16.27-0.9 (SLES 10)
2418        * Recommended e2fsprogs version: 1.39.cfs5
2419
2420        * Note that reiserfs quotas are disabled on SLES 10 in this kernel
2421        * bug fixes
2422
2423 Severity   : critical
2424 Frequency  : occasional, depends on client load and configuration
2425 Bugzilla   : 12181, 12203
2426 Description: data loss for recently-modified files
2427 Introduced : 1.4.6
2428 Details    : In some cases it is possible that recently written or created
2429              files may not be written to disk in a timely manner (this should
2430              normally be within 30s unless client IO load is very high).
2431              The problem appears as zero-length files or files that are a
2432              multiple of 1MB in size after a client crash or client eviction
2433              that are missing data at the end of the file.
2434
2435              This problem is more likely to be hit on clients where files are
2436              repeatedly created and unlinked in the same directory, clients
2437              have a large amount of RAM, have many CPUs, the filesystem has
2438              many OSTs, the clients are rebooted frequently, and/or the files
2439              are not accessed by other nodes after being written.
2440
2441              The presence of the problem can be detected by looking at
2442              /proc/sys/fs/inode-state.  If the first number (nr_inodes) is
2443              smaller than the second (nr_unused) then dirty files will not
2444              be flushed automatically to disk.  "sync; sleep 10" should be
2445              run several times on the node before unmounting it to update
2446              Lustre (this is also safe to run on nodes without this problem).
2447
2448              There is also a related kernel bug in the RHEL4 4 2.6.9 kernel
2449              that can cause this same problem, so customers using that kernel
2450              also need to update the kernel in addition to Lustre.  In order
2451              to properly fix this bug, the RHEL3 2.4.21 kernel is also updated.
2452
2453              It is normal that files written just before a client crash (less
2454              than 30s) may not yet have been flushed to disk, even for local
2455              filesystems.
2456
2457 Severity   : normal
2458 Frequency  : frequent on thin XT3 nodes
2459 Bugzilla   : 10802
2460 Description: UUID collision on thin XT3 Linux nodes
2461 Details    : UUIDs on Compute Node Linux XT3 nodes were not generated
2462              randomly, since we relied on an insufficiently-seeded PRNG.
2463
2464 Severity   : normal
2465 Frequency  : rare
2466 Bugzilla   : 11693
2467 Description: OSS hangs after "All ost request buffers busy"
2468 Details    : A deadlock between quota and journal operations caused OSS
2469              hangs after printing "All ost request buffers busy."
2470
2471 Severity   : minor
2472 Frequency  : always on liblustre builds
2473 Bugzilla   : 11175
2474 Description: Cleanup compiler warnings on liblustre
2475
2476 Severity   : minor
2477 Frequency  : always on liblustre builds on XT3
2478 Bugzilla   : 12146
2479 Description: LC_CONFIG_CDEBUG don't run while build liblustre on XT3.
2480
2481 Frequency  : always
2482 Bugzilla   : 3244
2483 Description: Addition of EXT3_FEATURE_RO_COMPAT_DIR_NLINKS flag for
2484              > 32000 subdirectories
2485 Details    : Add EXT3_FEATURE_RO_COMPAT_DIR_NLINK flag to
2486              EXT3_FEATURE_RO_COMPAT_SUPP. This flag will be set whenever
2487              subdirectory count crosses 32000. This will aid e2fsck to
2488              correctly handle more than 32000 subdirectories.
2489
2490 Severity   : major
2491 Frequency  : liblustre (e.g. catamount) on a large cluster with >= 8 OSTs/OSS
2492 Bugzilla   : 11684
2493 Description: System hang on startup
2494 Details    : This bug allowed the liblustre (e.g. catamount) client to
2495              return to the app before handling all startup RPCs.  This
2496              could leave the node unresponsive to lustre network traffic
2497              and manifested as a server ptllnd timeout.
2498
2499 Severity   : enhancement
2500 Bugzilla   : 11667
2501 Description: Add "/proc/sys/lustre/debug_peer_on_timeout"
2502              (liblustre envirable: LIBLUSTRE_DEBUG_PEER_ON_TIMEOUT)
2503              boolean to control whether to print peer debug info when a
2504              client's RPC times out.
2505
2506 Severity   : normal
2507 Frequency  : always
2508 Bugzilla   : 10214
2509 Description: make O_SYNC working on 2.6 kernels
2510 Details    : 2.6 kernels use different method for mark pages for write,
2511              so need add a code to lustre for O_SYNC work.
2512
2513 Severity   : minor
2514 Frequency  : always
2515 Bugzilla   : 11110
2516 Description: Failure to close file and release space on NFS
2517 Details    : Put inode details into lock acquired in ll_intent_file_open.
2518              Use mdc_intent_lock in ll_intent_open to properly
2519              detect all kind of errors unhandled by mdc_enqueue.
2520
2521 Severity   : major
2522 Frequency  : rare
2523 Bugzilla   : 10866
2524 Description: proc file read during shutdown sometimes raced obd removal,
2525              causing node crash
2526 Details    : Add lock to prevent obd access after proc file removal.
2527
2528 Severity   : normal
2529 Frequency  : Only for files larger than 4GB on 32-bit clients.
2530 Bugzilla   : 11237
2531 Description: improperly doing page alignment of locks
2532 Details    : Modify lustre core code to use CFS_PAGE_* defines instead of
2533              PAGE_*.  Make CFS_PAGE_MASK a 64-bit mask.
2534
2535 Severity   : normal
2536 Frequency  : rarely
2537 Bugzilla   : 11203
2538 Description: RPCs being resent when they shouldn't be
2539 Details    : Some RPCs that should not be resent are being resent.  This
2540              can cause inconsistencies in the RPC state machine.  Do not
2541              resend such requests.
2542
2543 Severity   : normal
2544 Frequency  : rare, only with NFS export
2545 Bugzilla   : 11669
2546 Description: Crash on NFS re-export node
2547 Details    : under very unusual load conditions an assertion is hit in
2548              ll_intent_file_open()
2549
2550 Severity   : major
2551 Frequency  : only if OST filesystem is corrupted
2552 Bugzilla   : 9829
2553 Description: client incorrectly hits assertion in ptlrpc_replay_req()
2554 Details    : for a short time RPCs with bulk IO are in the replay list,
2555              but replay of bulk IOs is unimplemented.  If the OST filesystem
2556              is corrupted due to disk cache incoherency and then replay is
2557              started it is possible to trip an assertion.  Avoid putting
2558              committed RPCs into the replay list at all to avoid this issue.
2559
2560 Severity   : normal
2561 Frequency  : always
2562 Bugzilla   : 10901
2563 Description: large O_DIRECT requests fail under memory pressure/fragmentation
2564 Details    : Large single O_DIRECT read and write calls can fail to allocate
2565              a sufficiently large buffer to process the request.  In case of
2566              allocation failure the allocation is retried with a smaller
2567              buffer and broken into smaller requests.
2568
2569 Severity   : enhancement
2570 Bugzilla   : 11563
2571 Description: Add -o localflock option to simulate  old noflock behaviour.
2572 Details    : This will achieve local-only flock/fcntl locks coherentness.
2573
2574 Severity   : normal
2575 Frequency  : always
2576 Bugzilla   : 11090
2577 Description: versioning check is incomplete
2578 Details    : Checking the version difference of client vs. server, report
2579              error if the gap is too big.
2580
2581 Severity   : major
2582 Bugzilla   : 11710
2583 Frequency  : always
2584 Description: add support PG_writeback bit
2585 Details    : add support for PG_writeback bit for Lustre, for more carefull
2586              work with page cache in 2.6 kernel. This also fix some deadlocks
2587              and remove hack for work O_SYNC with 2.6 kernel.
2588
2589 Severity   : enhancement
2590 Bugzilla   : 11264
2591 Description: Add uninit_groups feature to ldiskfs2 to speed up e2fsck
2592 Details    : The uninit_groups feature works in conjunction with the kernel
2593              filesystem code (ldiskfs2 only) and e2fsprogs-1.39-cfs6 to speed
2594              up the pass1 processing of e2fsck.  This is a read-only feature
2595              in ldiskfs2 only, so older kernels and current ldiskfs cannot
2596              mount filesystems that have had this feature enabled.
2597
2598 Severity   : enhancement
2599 Bugzilla   : 10816
2600 Description: Improve multi-block allocation algorithm to avoid fragmentation
2601 Details    : The mballoc3 code (ldiskfs2 only) adds new mechanisms to improve
2602              allocation locality and avoid filesystem fragmentation.
2603
2604 ------------------------------------------------------------------------------
2605
2606 2007-02-09  Cluster File Systems, Inc. <info@clusterfs.com>
2607        * version 1.4.9
2608        * Support for kernels:
2609         2.6.9-42.0.3.EL (RHEL 4)
2610         2.6.5-7.276 (SLES 9)
2611         2.4.21-47.0.1.EL (RHEL 3)
2612         2.6.12.6 vanilla (kernel.org)
2613         2.6.16.21-0.8 (SLES10)
2614        * Recommended e2fsprogs version: 1.39.cfs2-0
2615
2616        * The backwards-compatible /proc/sys/portals symlink has been removed
2617          in this release.  Before upgrading, please ensure that you change
2618          any configuration scripts or /etc/sysctl.conf files that access
2619          /proc/sys/portals/* or sysctl portals.* to use the corresponding
2620          entry in /proc/sys/lnet or sysctl lnet.*.  This change can be made
2621          in advance of the upgrade on any system running Lustre 1.4.6 or
2622          newer, since /proc/sys/lnet was added in that version.
2623        * Note that reiserfs quotas are disabled on SLES 10 in this kernel
2624        * bug fixes
2625
2626 Severity   : minor
2627 Frequency  : only when quota is used
2628 Bugzilla   : 11286
2629 Description: avoid scanning export list for quota master
2630 Details    : Change the algorithms to avoid scanning export list in order
2631              to improve the efficiency.
2632
2633 Severity   : critical
2634 Frequency  : MDS failover only, very rarely
2635 Bugzilla   : 11125
2636 Description: "went back in time" messages on mds failover
2637 Details    : The greatest transno may be lost when the current operation
2638              finishes with an error (transno==0) and the client's last_rcvd
2639              record is over-written. Save the greatest transno in the
2640              mds_last_transno for this case.
2641
2642 Severity   : minor
2643 Frequency  : always for specific kernels and striping counts
2644 Bugzilla   : 11042
2645 Description: client may get "Matching packet too big" without ACL support
2646 Details    : Clients compiled without CONFIG_FS_POSIX_ACL get an error message
2647              when trying to access files in certain configurations.  The
2648              clients should in fact be denied when mounting because they do
2649              not understand ACLs.
2650
2651 Severity   : major
2652 Frequency  : Cray XT3 with more than 4000 clients and multiple jobs
2653 Bugzilla   : 10906
2654 Description: many clients connecting with IO in progress causes connect timeouts
2655 Details    : Avoid synchronous journal commits to avoid delays caused by many
2656              clients connecting/disconnecting when bulk IO is in progress.
2657              Queue liblustre connect requests on OST_REQUEST_PORTAL instead of
2658              OST_IO_PORTAL to avoid delays behind potentially many pending
2659              slow IO requests.
2660
2661 Severity   : normal
2662 Frequency  : occasionally with multiple writers to a single file
2663 Bugzilla   : 11081
2664 Description: shared writes to file may result in wrong size reported by stat()
2665 Details    : Allow growing of kms when extent lock is cancelled
2666
2667 Severity   : minor
2668 Frequency  : always with random mmap IO to multi-striped file
2669 Bugzilla   : 10919
2670 Description: mmap write might be lost if we are writing to a 'hole' in stripe
2671 Details    : Only if the hole is at the end of OST object so that kms is too
2672              small. Fix is to increase kms accordingly in ll_nopage.
2673
2674 Severity   : normal
2675 Frequency  : rare, only if OST filesystem is inconsistent with MDS filesystem
2676 Bugzilla   : 11211
2677 Description: writes to a missing object would leak memory on the OST
2678 Details    : If there is an inconsistency between the MDS and OST filesystems,
2679              such that the MDS references an object that doesn't exist, writes
2680              to that object will leak memory due to incorrect cleanup in the
2681              error handling path, eventually running out of memory on the OST.
2682
2683 Severity   : minor
2684 Frequency  : rare
2685 Bugzilla   : 11040
2686 Description: Creating too long symlink causes lustre errors
2687 Details    : Check symlink and name lengths before sending requests to MDS.
2688
2689 Severity   : normal
2690 Frequency  : only if flock is enabled (not on by default)
2691 Bugzilla   : 11415
2692 Description: posix locks not released on fd closure on 2.6.9+
2693 Details    : We failed to add posix locks to list of inode locks on 2.6.9+
2694              kernels, this caused such locks not to be released on fd close and
2695              then assertions on fs unmount about still used locks.
2696
2697 Severity   : minor
2698 Frequency  : MDS failover only, very rarely
2699 Bugzilla   : 11277
2700 Description: clients may get ASSERTION(granted_lock != NULL)
2701 Details    : When request was taking a long time, and a client was resending
2702              a getattr by name lock request. The were multiple lock requests
2703              with the same client lock handle and
2704              mds_getattr_name->fixup_handle_for_resent_request found one of the
2705              lock handles but later failed with ASSERTION(granted_lock != NULL).
2706
2707 Severity   : major
2708 Frequency  : rare
2709 Bugzilla   : 10891
2710 Description: handle->h_buffer_credits > 0, assertion failure
2711 Details    : h_buffer_credits is zero after truncate, causing assertion
2712              failure.  This patch extends the transaction or creates a new
2713              one after truncate.
2714
2715 Severity   : normal
2716 Frequency  : NFS re-export or patchless client
2717 Bugzilla   : 11179, 10796
2718 Description: Crash on NFS re-export node (__d_move)
2719 Details    : We do not want to hash the dentry if we don't have a lock.
2720              But if this dentry is later used in d_move, we'd hit uninitialised
2721              list head d_hash, so we just do this to init d_hash field but
2722              leave dentry unhashed.
2723
2724 Severity   : normal
2725 Frequency  : NFS re-export or patchless client
2726 Bugzilla   : 11135
2727 Description: NFS exports has problem with symbolic link
2728 Details    : lustre client didn't properly install dentry when re-exported
2729              to NFS or running patchless client.
2730
2731 Severity   : normal
2732 Frequency  : NFS re-export or patchless client
2733 Bugzilla   : 10796
2734 Description: Various nfs/patchless fixes.
2735 Details    : fixes reuse disconected alias for lookup process - this fixes
2736              warning "find_exported_dentry: npd != pd",
2737              fix permission error with open files at nfs.
2738              fix apply umask when do revalidate.
2739
2740 Severity   : normal
2741 Frequency  : occasional
2742 Bugzilla   : 11191
2743 Description: Crash on NFS re-export node
2744 Details    : calling clear_page() on the wrong pointer triggered oops in
2745              generic_mapping_read().
2746
2747 Severity   : normal
2748 Frequency  : rarely, using O_DIRECT IO
2749 Bugzilla   : 10903
2750 Description: unaligned directio crashes client with LASSERT
2751 Details    : check for unaligned buffers before trying any requests.
2752
2753 Severity   : major
2754 Frequency  : rarely, using CFS RAID5 patches in non-standard kernel series
2755 Bugzilla   : 11313
2756 Description: stale data returned from RAID cache
2757 Details    : If only a small amount of IO is done to the RAID device before
2758              reading it again it is possible to get stale data from the RAID
2759              cache instead of reading it from disk.
2760
2761 Severity   : normal
2762 Frequency  : always for sles10 kernel
2763 Bugzilla   : 10947
2764 Description: sles10 support
2765 Details    : ll_follow_link: compile fixes and using of nd_set_link
2766              under newer kernels.
2767
2768 Severity   : major
2769 Frequency  : depends on arch, kernel and compiler version, always on sles10
2770              kernel and x86_64
2771 Bugzilla   : 11562
2772 Description: recursive or deep enough symlinks cause stack overflow
2773 Details    : getting rid of large stack-allocated variable in
2774              __vfs_follow_link
2775
2776 Severity   : minor
2777 Frequency  : depends on hardware
2778 Bugzilla   : 11540
2779 Description: lustre write performance loss in the SLES10 kernel
2780 Details    : the performance loss is caused by using of write barriers in the
2781              ext3 code. The SLES10 kernel turns barrier support on by
2782              default. The fix is to undo that change for ldiskfs.
2783
2784 ------------------------------------------------------------------------------
2785
2786 2006-12-09  Cluster File Systems, Inc. <info@clusterfs.com>
2787        * version 1.4.8
2788        * Support for kernels:
2789         2.6.9-42.0.3EL (RHEL 4)
2790         2.6.5-7.276 (SLES 9)
2791         2.4.21-47.0.1.EL (RHEL 3)
2792         2.6.12.6 vanilla (kernel.org)
2793        * bug fixes
2794
2795 Severity   : major
2796 Frequency  : quota enabled and large files being deleted
2797 Bugzilla   : 10707
2798 Description: releasing more than 4GB of quota at once hangs OST
2799 Details    : If a user deletes more than 4GB of files on a single OST it
2800              will cause the OST to spin in an infinite loop.  Release
2801              quota in < 4GB chunks, or use a 64-bit value for 1.4.7.1+.
2802
2803 Severity   : minor
2804 Frequency  : rare
2805 Bugzilla   : 10845
2806 Description: statfs data retrieved from /proc may be stale or zero
2807 Details    : When reading per-device statfs data from /proc, in the
2808              {kbytes,files}_{total,free,avail} files, it may appear
2809              as zero or be out of date.
2810
2811 Severity   : minor
2812 Frequency  : systems with MD RAID1 external journal devices
2813 Bugzilla   : 10832
2814 Description: lconf's call to blkid is confused by RAID1 journal devices
2815 Details    : Use the "blkid -l" flag to locate the MD RAID device instead
2816              of returning all block devices that match the journal UUID.
2817
2818 Severity   : normal
2819 Frequency  : always, for aggregate stripe size over 4GB
2820 Bugzilla   : 10725
2821 Description: "lfs setstripe" fails assertion when setting 4GB+ stripe width
2822 Details    : Using "lfs setstripe" to set stripe size * stripe count over 4GB
2823              will fail the kernel with "ASSERTION(lsm->lsm_xfersize != 0)"
2824
2825 Severity   : minor
2826 Frequency  : always if "lfs find" used on a local file/directory
2827 Bugzilla   : 10864
2828 Description: "lfs find" segfaults if used on a local file/directory
2829 Details    : The case where a directory component was not specified wasn't
2830              handled correctly.  Handle this properly.
2831
2832 Severity   : normal
2833 Frequency  : always on ppc64
2834 Bugzilla   : 10634
2835 Description: the write to an ext3 filesystem mounted with mballoc got stuck
2836 Details    : ext3_mb_generate_buddy() uses find_next_bit() which does not
2837              perform endianness conversion.
2838
2839 Severity   : major
2840 Frequency  : rarely (truncate to non-zero file size after write under load)
2841 Bugzilla   : 10730, 10687
2842 Description: Files padded with zeros to next 4K multiple
2843 Details    : With filesystems mounted using the "extents" option (2.6 kernels)
2844              it is possible that files that are truncated to a non-zero size
2845              immediately after being written are filled with zero bytes beyond
2846              the truncated size.  No file data is lost.
2847
2848 Severity   : enhancement
2849 Bugzilla   : 10452
2850 Description: Allow recovery/failover for liblustre clients.
2851 Details    : liblustre clients were unaware of failover configurations until
2852              now.
2853
2854 Severity   : enhancement
2855 Bugzilla   : 10743
2856 Description: user file locks should fail when not mounting with flock option
2857 Details    : Set up an error-returning stub in ll_file_operations.lock field
2858              to prevent incorrect behaviour when client is mounted without
2859              flock option. Also, set up properly f_op->flock field for
2860              RHEL4 kernels.
2861
2862 Severity   : minor
2863 Frequency  : always on ia64
2864 Bugzilla   : 10905
2865 Description: "lfs df" loops on printing out MDS statfs information
2866 Details    : The obd_ioctl_data was not initialized and in some systems
2867              this caused a failure during the ioctl that did not return
2868              an error.  Initialize the struct and return an error on failure.
2869
2870 Severity   : minor
2871 Frequency  : SLES 9 only
2872 Bugzilla   : 10667
2873 Description: Error of copying files with lustre special EAs as root
2874 Details    : Client side always return success for setxattr call for lustre
2875              special xattr (currently only "trusted.lov").
2876
2877 Severity   : normal
2878 Frequency  : rarely on clusters with both ia64+i386 clients
2879 Bugzilla   : 10672
2880 Description: ia64+i686 clients doing shared IO on the same file may LBUG
2881 Details    : In rare cases when both ia64+i686 (or other mixed-PAGE_SIZE)
2882              clients are doing concurrent writes to the same file it is
2883              possible that the ia64 clients may LASSERT because the OST
2884              extent locks are not PAGE_SIZE aligned.  Ensure that grown
2885              locks are always aligned on the request boundary.
2886
2887 Severity   : normal
2888 Frequency  : specific use, occasional
2889 Bugzilla   : 7040
2890 Description: Overwriting in use executable truncates on-disk binary image
2891 Details    : If one node attempts to overwrite an executable in use by
2892              another node, we now correctly return ETXTBSY instead of
2893              truncating the file.
2894
2895 Severity   : enhancement
2896 Bugzilla   : 4900
2897 Description: Async OSC create to avoid the blocking unnecessarily.
2898 Details    : If a OST has no remain object, system will block on the creating
2899              when need to create a new object on this OST. Now, ways use
2900              pre-created objects when available, instead of blocking on an
2901              empty osc while others are not empty.  If we must block, we block
2902              for the shortest possible period of time.
2903
2904 Severity   : normal
2905 Frequency  : rare
2906 Bugzilla   : 2707
2907 Description: chmod on Lustre root is propagated to other clients
2908 Details    : Re-validate root's dentry in ll_lookup_it to avoid having it
2909              invalid by the follow_mount time.
2910
2911 Severity   : minor
2912 Frequency  : liblustre clients only
2913 Bugzilla   : 10883
2914 Description: Race in 'instant cancel' lock handling could lead to such locks
2915              never to be granted in case of SMP MDS
2916 Details    : Do not destroy not yet granted but cbpending locks in
2917              handle_enqueue
2918
2919 Severity   : minor
2920 Frequency  : replay/resend of open
2921 Bugzilla   : 10991
2922 Description: non null lock assetion failure in mds_intent_policy
2923 Details    : Trying to replay/resend lockless open requests resulted in
2924              mds_open() returning 0 with no lock.  Now it sets a flag if
2925              a lock is going to be returned.
2926
2927 Severity   : enhancement
2928 Bugzilla   : 10889
2929 Description: Checksum enhancements
2930 Details    : New checksum enhancements allow for resending RPCs that failed
2931              checksum checks.
2932
2933 Severity   : enhancement
2934 Bugzilla   : 7376
2935 Description: Tunables on number of dirty pages in cacche
2936 Details    : Allow to set limit on number of dirty pages cached.
2937
2938 Severity   : normal
2939 Frequency  : rare
2940 Bugzilla   : 10643
2941 Description: client crash on unmount - lock still has references
2942 Details    : In some error handling cases it was possible to leak a lock
2943              reference on a client while accessing a file.  This was not
2944              harmful to the client during operation, but would cause the
2945              client to crash when the filesystem is unmounted.
2946
2947 Severity   : normal
2948 Frequency  : specific case, rare
2949 Bugzilla   : 10921
2950 Description: ETXTBSY on mds though file not in use by client
2951 Details    : ETXTBSY is no longer incorrectly returned when attempting to
2952              chmod or chown a directory that the user previously tried to
2953              execute or a currently-executing binary.
2954
2955 Severity   : major
2956 Frequency  : extremely rare except on liblustre-based clients
2957 Bugzilla   : 10480
2958 Description: Lustre space not freed when files are deleted
2959 Details    : Clean up open-unlinked files after client eviction.  Previously
2960              the unlink was skipped and the files remained as orphans.
2961
2962 Severity   : normal
2963 Frequency  : rare
2964 Bugzilla   : 10999
2965 Description: OST failure "would be an LBUG" in waiting_locks_callback()
2966 Details    : In some cases it was possible to send a blocking callback to
2967              a client doing a glimpse, even though that client didn't get
2968              a lock granted.  When the glimpse lock is cancelled on the OST
2969              the freed lock is left on the waiting list and corrupted the list.
2970
2971 Severity   : major
2972 Frequency  : all core dumps
2973 Bugzilla   : 11103
2974 Description: Broke core dumps to lustre
2975 Details    : Negative dentry may be unhashed if parent does not have UPDATE
2976              lock, but some callers, e.g. do_coredump, expect dentry to be
2977              hashed after successful create, hash it in ll_create_it.
2978
2979 ------------------------------------------------------------------------------
2980
2981 2006-09-13  Cluster File Systems, Inc. <info@clusterfs.com>
2982        * version 1.4.7.1
2983        * Support for kernels:
2984         2.6.9-42.0.2.EL (RHEL 4)
2985         2.6.5-7.276 (SLES 9)
2986         2.4.21-40.EL (RHEL 3)
2987         2.6.12.6 vanilla (kernel.org)
2988       * bug fix
2989
2990 Severity   : major
2991 Frequency  : always on RHEL 3
2992 Bugzilla   : 10867
2993 Description: Number of open files grows over time
2994 Details    : The number of open files grows over time, whether or not
2995              Lustre is started.  This was due to a filp leak introduced
2996              by one of our kernel patches.
2997
2998 ------------------------------------------------------------------------------
2999
3000 08-20-2006  Cluster File Systems, Inc. <info@clusterfs.com>
3001        * version 1.4.7
3002        * Support for kernels:
3003         2.6.9-42.EL (RHEL 4)
3004         2.6.5-7.276 (SLES 9)
3005         2.4.21-40.EL (RHEL 3)
3006         2.6.12.6 vanilla (kernel.org)
3007        * bug fixes
3008
3009 Severity   : major
3010 Frequency  : rare
3011 Bugzilla   : 5719, 9635, 9792, 9684
3012 Description: OST (or MDS) trips assertions in (re)connection under heavy load
3013 Details    : If a server is under heavy load and cannot reply to new
3014              connection requests before the client resends the (re)connect,
3015              the connection handling code can behave badly if two service
3016              threads are concurrently handing separate (re)connections from
3017              the same client.  Add better locking to the connection handling
3018              code, and ensure that only a single connection will be processed
3019              for a given client UUID, even if the lock is dropped.
3020
3021 Severity   : enhancement
3022 Bugzilla   : 3627
3023 Description: add TCP zero-copy support to kernel
3024 Details    : Add support to the kernel TCP stack to allow zero-copy bulk
3025              sends if the hardware supports scatter-gather and checksumming.
3026              This allows socklnd to do client-write and server-read more
3027              efficiently and reduce CPU utilization from skbuf copying.
3028
3029 Severity   : minor
3030 Frequency  : only if NFS exporting from client
3031 Bugzilla   : 10258
3032 Description: NULL pointer deref in ll_iocontrol() if chattr mknod file
3033 Details    : If setting attributes on a file created under NFS that had
3034              never been opened it would be possible to oops the client
3035              if the file had no objects.
3036
3037 Severity   : minor
3038 Frequency  : always for liblustre
3039 Bugzilla   : 10290
3040 Description: liblustre client does MDS+OSTs setattr RPC for each write
3041 Details    : When doing a write from a liblustre client, the client
3042              incorrectly issued an RPC to the MDS and each OST the file was
3043              striped over in order to update the timestamps.  When writing
3044              with small chunks and many clients this could overwhelm the MDS
3045              with RPCs.  In all cases it would slow down the write because
3046              these RPCs are unnecessary.
3047
3048 Severity   : enhancement
3049 Bugzilla   : 9340
3050 Description: allow number of MDS service threads to be changed at module load
3051 Details    : It is now possible to change the number of MDS service threads
3052              running.  Adding "options mds mds_num_threads={N}" to the MDS's
3053              /etc/modprobe.conf will set the number of threads for the next
3054              time Lustre is restarted (assuming the "mds" module is also
3055              reloaded at that time).  The default number of threads will
3056              stay the same, 32 for most systems.
3057
3058 Severity   : major
3059 Frequency  : rare
3060 Bugzilla   : 10300
3061 Description: OST crash if filesystem is unformatted or corrupt
3062 Details    : If an OST is started on a device that has never been formatted
3063              or if the filesystem is corrupt and cannot even mount then the
3064              error handling cleanup routines would dereference a NULL pointer.
3065
3066 Severity   : medium
3067 Frequency  : rare
3068 Bugzilla   : 10047
3069 Description: NULL pointer deref in llap_from_page.
3070 Details    : get_cache_page_nowait can return a page with NULL (or otherwise
3071              incorrect) mapping if the page was truncated/reclaimed while it was
3072              searched for. Check for this condition and skip such pages when
3073              doing readahead. Introduce extra check to llap_from_page() to
3074              verify page->mapping->host is non-NULL (so page is not anonymous).
3075
3076 Severity   : minor
3077 Frequency  : Sometimes when using sys_sendfile
3078 Bugzilla   : 7020
3079 Description: "page not covered by a lock" warnings from ll_readpage
3080 Details    : sendfile called ll_readpage without right page locks present.
3081              Now we introduced ll_file_sendfile that does necessary locking
3082              around call to generic_file_sendfile() much like we do in
3083              ll_file_read().
3084
3085 Severity   : medium
3086 Frequency  : with certain MDS communication failures at client mount time
3087 Bugzilla   : 10268
3088 Description: NULL pointer deref after failed client mount
3089 Details    : a client connection request may delayed by the network layer
3090              and not be sent until after the PTLRPC layer has timed out the
3091              request.  If the client fails the mount immediately it will try
3092              to clean up before the network times out the request.  Add a
3093              reference from the request import to the obd device and delay
3094              the cleanup until the network drops the request.
3095
3096 Severity   : medium
3097 Frequency  : occasionally during client (re)connect
3098 Bugzilla   : 9387
3099 Description: assertion failure during client (re)connect
3100 Details    : processing a client connection request may be delayed by the
3101              client or server longer than the client connect timeout.  This
3102              causes the client to resend the connection request.  If the
3103              original connection request is replied in this interval, the
3104              client may trip an assertion failure in ptlrpc_connect_interpret()
3105              which thought it would be the only running connect process.
3106
3107 Severity   : medium
3108 Frequency  : only with obd_echo servers and clients that are rebooted
3109 Bugzilla   : 10140
3110 Description: kernel BUG accessing uninitialized data structure
3111 Details    : When running an obd_echo server it did not start the ping_evictor
3112              thread, and when a client was evicted an uninitialized data
3113              structure was accessed.  Start the ping_evictor in the RPC
3114              service startup instead of the OBD startup.
3115
3116 Severity   : enhancement
3117 Bugzilla   : 10193 (patchless)
3118 Description: Remove dependency on various unexported kernel interfaces.
3119 Details    : No longer need reparent_to_init, exit_mm, exit_files,
3120              sock_getsockopt, filemap_populate, FMODE_EXEC, put_filp.
3121
3122 Severity   : minor
3123 Frequency  : rare (only users of deprecated and unsupported LDAP config)
3124 Bugzilla   : 9337
3125 Description: write_conf for zeroconf mount queried LDAP incorrectly for client
3126 Details    : LDAP apparently contains 'lustreName' attributes instead of
3127              'name'.  A simple remapping of the name is sufficient.
3128
3129 Severity   : major
3130 Frequency  : rare (only with non-default dump_on_timeout debug enabled)
3131 Bugzilla   : 10397
3132 Description: waiting_locks_callback trips kernel BUG if client is evicted
3133 Details    : Running with the dump_on_timeout debug flag turned on makes
3134              it possible that the waiting_locks_callback() can try to dump
3135              the Lustre kernel debug logs from an interrupt handler.  Defer
3136              this log dumping to the expired_lock_main() thread.
3137
3138 Severity   : enhancement
3139 Bugzilla   : 10420
3140 Description: Support NFS exporting on 2.6 kernels.
3141 Details    : Implement non-rawops metadata methods for NFS server to use without
3142              changing NFS server code.
3143
3144 Severity   : medium
3145 Frequency  : very rare (synthetic metadata workload only)
3146 Bugzilla   : 9974
3147 Description: two racing renames might cause an MDS thread to deadlock
3148 Details    : Running the "racer" program may cause one MDS thread to rename
3149              a file from being the source of a rename to being the target of
3150              a rename at exactly the same time that another thread is doing
3151              so, and the second thread has already enqueued these locks after
3152              doing a lookup of the target and is trying to relock them in
3153              order.  Ensure that we don't try to re-lock the same resource.
3154
3155 Severity   : major
3156 Frequency  : only very large systems with liblustre clients
3157 Bugzilla   : 7304
3158 Description: slow eviction of liblustre clients with the "evict_by_nid" RPC
3159 Details    : Use asynchronous set_info RPCs to send the "evict_by_nid" to
3160              all OSTs in parallel.  This allows the eviction of stale liblustre
3161              clients to proceed much faster than if they were done in series,
3162              and also offers similar improvements for other set_info RPCs.
3163
3164 Severity   : minor
3165 Frequency  : common
3166 Bugzilla   : 10265
3167 Description: excessive CPU usage during initial read phase on client
3168 Details    : During the initial read phase on a client, it would agressively
3169              retry readahead on the file, consuming too much CPU and impacting
3170              performance (since 1.4.5.8).  Improve the readahead algorithm
3171              to avoid this, and also improve some other common cases (read
3172              of small files in particular, where "small" is files smaller than
3173              /proc/fs/lustre/llite/*/max_read_ahead_whole_mb, 2MB by default).
3174
3175 Severity   : minor
3176 Frequency  : rare
3177 Bugzilla   : 10450
3178 Description: MDS crash when receiving packet with unknown intent.
3179 Details    : Do not LBUG in unknown intent case, just return -EFAULT
3180
3181 Severity   : enhancement
3182 Bugzilla   : 9293, 9385
3183 Description: MDS RPCs are serialised on client. This is unnecessary for some.
3184 Details    : Do not serialize getattr (non-intent version) and statfs.
3185
3186 Severity   : minor
3187 Frequency  : occasional, when OST network is overloaded/intermittent
3188 Bugzilla   : 10416
3189 Description: client evicted by OST after bulk IO timeout
3190 Details    : If a client sends a bulk IO request (read or write) the OST
3191              may evict the client if it is unresposive to its data GET/PUT
3192              request.  This is incorrect if the network is overloaded (takes
3193              too long to transfer the RPC data) or dropped the OST GET/PUT
3194              request.  There is no need to evict the client at all, since
3195              the pinger and/or lock callbacks will handle this, and the
3196              client can restart the bulk request.
3197
3198 Severity   : minor
3199 Frequency  : Always when mmapping file with no objects
3200 Bugzilla   : 10438
3201 Description: client crashes when mmapping file with no objects
3202 Details    : Check that we actually have objects in a file before doing any
3203              operations on objects in ll_vm_open, ll_vm_close and
3204              ll_glimpse_size.
3205
3206 Severity   : minor
3207 Frequency  : Rare
3208 Bugzilla   : 10484
3209 Description: Request leak when working with deleted CWD
3210 Details    : Introduce advanced request refcount tracking for requests
3211              referenced from lustre intent.
3212
3213 Severity   : Enhancement
3214 Bugzilla   : 10482
3215 Description: Cache open file handles on client.
3216 Details    : MDS now will return special lock along with openhandle, if
3217              requested and client is allowed to hold openhandle, even if unused,
3218              until such a lock is revoked. Helps NFS a lot, since NFS is opening
3219              closing files for every read/write openration.
3220
3221 Severity   : Enhancement
3222 Bugzilla   : 9291
3223 Description: Cache open negative dentries on client when possible.
3224 Details    : Guard negative dentries with UPDATE lock on parent dir, drop
3225              negative dentries on lock revocation.
3226
3227 Severity   : minor
3228 Frequency  : Always
3229 Bugzilla   : 10510
3230 Description: Remounting a client read-only wasn't possible with a zconf mount
3231 Details    : It wasn't possible to remount a client read-only with llmount.
3232
3233 Severity   : enhancement
3234 Description: Include MPICH 1.2.6 Lustre ADIO interface patch
3235 Details    : In lustre/contrib/ or /usr/share/lustre in RPM a patch for
3236              MPICH is included to add Lustre-specific ADIO interfaces.
3237              This is based closely on the UFS ADIO layer and only differs
3238              in file creation, in order to allow the OST striping to be set.
3239              This is user-contributed code and not supported by CFS.
3240
3241 Severity   : minor
3242 Frequency  : Always
3243 Bugzilla   : 9486
3244 Description: extended inode attributes (immutable, append-only) work improperly
3245              when 2.4 and 2.6 kernels are used on client/server or vice versa
3246 Details    : Introduce kernel-independent values for these flags.
3247
3248 Severity   : enhancement
3249 Frequency  : Always
3250 Bugzilla   : 10248
3251 Description: Allow fractional MB tunings for lustre in /proc/ filesystem.
3252 Details    : Many of the /proc/ tunables can only be tuned at a megabyte
3253              granularity. Now, Fractional MB granularity is be supported,
3254              this is very useful for low memory system.
3255
3256 Severity   : enhancement
3257 Bugzilla   : 9292
3258 Description: Getattr by fid
3259 Details    : Getting a file attributes by its fid, obtaining UPDATE|LOOKUP
3260              locks, avoids extra getattr rpc requests to MDS, allows '/' to
3261              have locks and avoids getattr rpc requests for it on every stat.
3262
3263 Severity   : major
3264 Frequency  : Always, for filesystems larger than 2TB
3265 Bugzilla   : 6191
3266 Description: ldiskfs crash at mount for filesystem larger than 2TB with mballoc
3267 Details    : Kenrel kmalloc limits allocations to 128kB and this prevents
3268              filesystems larger than 2TB to be mounted with mballoc enabled.
3269
3270 Severity   : critical
3271 Frequency  : Always, for 32-bit kernel without CONFIG_LBD and filesystem > 2TB
3272 Bugzilla   : 6191
3273 Description: ldiskfs crash at mount for filesystem larger than 2TB with mballoc
3274 Details    : If a 32-bit kernel is compiled without CONFIG_LBD enabled and a
3275              filesystems larger than 2TB is mounted then the kernel will
3276              silently corrupt the start of the filesystem.  CONFIG_LBD is
3277              enabled for all CFS-supported kernels, but the possibility of
3278              this happening with a modified kernel config exists.
3279
3280 Severity   : enhancement
3281 Bugzilla   : 10462
3282 Description: add client O_DIRECT support for 2.6 kernels
3283 Details    : It is now possible to do O_DIRECT reads and writes to files
3284              in the Lustre client mountpoint on 2.6 kernel clients.
3285
3286 Severity   : enhancement
3287 Bugzilla   : 10446
3288 Description: parallel glimpse, setattr, statfs, punch, destroy requests
3289 Details    : Sends glimpse, setattr, statfs, punch, destroy requests to OSTs in
3290              parallel, not waiting for response from every OST before sending
3291              a rpc to the next OST.
3292
3293 Severity   : minor
3294 Frequency  : rare
3295 Bugzilla   : 10150
3296 Description: setattr vs write race when updating file timestamps
3297 Details    : Client processes that update a file timestamp into the past
3298              right after writing to the file (e.g. tar) it is possible that
3299              the updated file modification time can be reset to the current
3300              time due to a race between processing the setattr and write RPC.
3301
3302 Severity   : enhancement
3303 Bugzilla   : 10318
3304 Description: Bring 'lfs find' closer in line with regular Linux find.
3305 Details    : lfs find util supports -atime, -mtime, -ctime, -maxdepth, -print,
3306              -print0 options and obtains all the needed info through the lustre
3307              ioctls.
3308
3309 Severity   : enhancement
3310 Bugzilla   : 6221
3311 Description: support up to 1024 configured devices on one node
3312 Details    : change obd_dev array from statically allocated to dynamically
3313              allocated structs as they are first used to reduce memory usage
3314
3315 Severity   : minor
3316 Frequency  : rare
3317 Bugzilla   : 10437
3318 Description: Flush dirty partially truncated pages during truncate
3319 Details    : Immediatelly flush partially truncated pages in filter_setattr,
3320              this way we completely avoid having any pages in page cache on OST
3321              and can retire ugly workarounds during writes to flush such pages.
3322
3323 Severity   : minor
3324 Frequency  : rare
3325 Bugzilla   : 10409
3326 Description: i_sem vs transaction deadlock in mds_obd_destroy during unlink.
3327 Details    : protect inode from truncation within vfs_unlink() context
3328              just take a reference before calling vfs_unlink() and release it
3329              when parent's i_sem is free.
3330
3331 Severity   : major
3332 Frequency  : rare
3333 Bugzilla   : 4778
3334 Description: last_id value checked outside lock on OST caused LASSERT failure
3335 Details    : If there were multiple MDS->OST object precreate requests in
3336              flight, it was possible that the OST's last object id was checked
3337              outside a lock and incorrectly tripped an assertion.  Move checks
3338              inside locks, and discard old precreate requests.
3339
3340 Severity   : minor
3341 Frequency  : always, if extents are used on OSTs
3342 Bugzilla   : 10703
3343 Description: index ei_leaf_hi (48-bit extension) is not zeroed in extent index
3344 Details    : OSTs using the extents format would not zero the high 16 bits of
3345              the index physical block number.  This is not a problem for any
3346              OST filesystems smaller than 16TB, and no kernels support ext3
3347              filesystems larger than 16TB yet.  This is fixed in 1.4.7 (all
3348              new/modified files) and can be fixed for existing filesystems
3349              with e2fsprogs-1.39-cfs1.
3350
3351 Severity   : minor
3352 Frequency  : rare
3353 Bugzilla   : 9387
3354 Description: import connection selection may be incorrect if timer wraps
3355 Details    : Using a 32-bit jiffies timer with HZ=1000 may cause backup
3356              import connections to be ignored if the 32-bit jiffies counter
3357              wraps.  Use a 64-bit jiffies counter.
3358
3359 Severity   : minor
3360 Frequency  : very large clusters immediately after boot
3361 Bugzilla   : 10083
3362 Description: LNET request buffers exhausted under heavy short-term load
3363 Details    : If a large number of client requests are generated on a service
3364              that has previously never seen so many requests it is possible
3365              that the request buffer growth cannot keep up with the spike in
3366              demand.  Instead of dropping incoming requests, they are held in
3367              the LND until the RPC service can accept more requests.
3368
3369 Severity   : minor
3370 Frequency  : Sometimes during replay
3371 Bugzilla   : 9314
3372 Description: Assertion failure in ll_local_open after replay.
3373 Details    : If replay happened on an open request reply before we were able
3374              to set replay handler, reply will become not swabbed tripping the
3375              assertion in ll_local_open. Now we set the handler right after
3376              recognising of open request
3377
3378 Severity   : trivial
3379 Frequency  : very rare
3380 Bugzilla   : 10584
3381 Description: kernel reports "badness in vsnprintf"
3382 Details    : Reading from the "recovery_status" /proc file in small chunks
3383              may cause a negative length in lprocfs_obd_rd_recovery_status()
3384              call to vsnprintf() (which is otherwise harmless).  Exit early
3385              if there is no more space in the output buffer.
3386
3387 Severity   : enhancement
3388 Bugzilla   : 2259
3389 Description: clear OBD RPC statistics by writing to them
3390 Details    : It is now possible to clear the OBD RPC statistics by writing
3391              to the "stats" file.
3392
3393 Severity   : minor
3394 Frequency  : rare
3395 Bugzilla   : 10641
3396 Description: Client mtime is not the same on different clients after utimes
3397 Details    : In some cases, the client was using the utimes() syscall on
3398              a file cached on another node.  The clients now validate the
3399              ctime from the MDS + OSTs to determine which one is right.
3400
3401 Severity   : minor
3402 Frequency  : always
3403 Bugzilla   : 10611
3404 Description: Inability to activate failout mode
3405 Details    : lconf script incorrectly assumed that in pythong string's numeric
3406              value is used in comparisons.
3407
3408 Severity   : minor
3409 Frequency  : always with multiple stripes per file
3410 Bugzilla   : 10671
3411 Description: Inefficient object allocation for mutli-stripe files
3412 Details    : When selecting which OSTs to stripe files over, for files with
3413              a stripe count that divides evenly into the number of OSTs,
3414              the MDS is always picking the same starting OST for each file.
3415              Return the OST selection heuristic to the original design.
3416
3417 Severity   : trivial
3418 Frequency  : rare
3419 Bugzilla   : 10673
3420 Description: mount failures may take full timeout to return an error
3421 Details    : Under some heavy load conditions it is possible that a
3422              failed mount can wait for the full obd_timeout interval,
3423              possibly several minutes, before reporting an error.
3424              Instead return an error as soon as the status is known.
3425 Severity   : major
3426 Frequency  : quota enabled and large files being deleted
3427 Bugzilla   : 10707
3428 Description: releasing more than 4GB of quota at once hangs OST
3429 Details    : If a user deletes more than 4GB of files on a single OST it
3430              will cause the OST to spin in an infinite loop.  Release
3431              quota in < 4GB chunks, or use a 64-bit value for 1.4.7.1+.
3432
3433 Severity   : trivial
3434 Frequency  : rare
3435 Bugzilla   : 10845
3436 Description: statfs data retrieved from /proc may be stale or zero
3437 Details    : When reading per-device statfs data from /proc, in the
3438              {kbytes,files}_{total,free,avail} files, it may appear
3439              as zero or be out of date.
3440
3441 Severity   : trivial
3442 Frequency  : systems with MD RAID1 external journal devices
3443 Bugzilla   : 10832
3444 Description: lconf's call to blkid is confused by RAID1 journal devices
3445 Details    : Use the "blkid -l" flag to locate the MD RAID device instead
3446              of returning all block devices that match the journal UUID.
3447
3448 Severity   : normal
3449 Frequency  : always, for aggregate stripe size over 4GB
3450 Bugzilla   : 10725
3451 Description: assertion fails when trying to use 4GB stripe size
3452 Details    : Use "setstripe" to set stripe size over 4GB will fail the kernel,
3453              complaining "ASSERTION(lsm->lsm_xfersize != 0)"
3454
3455 Severity   : normal
3456 Frequency  : always on ppc64
3457 Bugzilla   : 10634
3458 Description: the first write on an ext3 filesystem with mballoc got stuck
3459 Details    : ext3_mb_generate_buddy() uses find_next_bit() which does not
3460              perform endianness conversion.
3461
3462 ------------------------------------------------------------------------------
3463
3464 02-14-2006  Cluster File Systems, Inc. <info@clusterfs.com>
3465        * version 1.4.6
3466        * WIRE PROTOCOL CHANGE.  This version of Lustre networking WILL NOT
3467          INTEROPERATE with older versions automatically.  Please read the
3468          user documentation before upgrading any part of a live system.
3469        * WARNING: Lustre networking configuration changes are required with
3470          this release.  See https://bugzilla.clusterfs.com/show_bug.cgi?id=10052
3471          for details.
3472        * bug fixes
3473        * Support for kernels:
3474         2.6.9-22.0.2.EL (RHEL 4)
3475         2.6.5-7.244 (SLES 9)
3476         2.6.12.6 vanilla (kernel.org)
3477
3478
3479 Severity   : enhancement
3480 Bugzilla   : 7981/8208
3481 Description: Introduced Lustre Networking (LNET)
3482 Details    : LNET is new networking infrastructure for Lustre, it includes
3483              a reorganized network configuration mode (see the user
3484              documentation for full details) as well as support for routing
3485              between different network fabrics.  Lustre Networking Devices
3486              (LNDs) for the supported network fabrics have also been
3487              created for this new infrastructure.
3488
3489 Severity   : enhancement
3490 Description: Introduced Access control lists
3491 Details    : clients can set ACLs on files and directories in order to have
3492              more fine-grained permissions than the standard Unix UGO+RWX.
3493              The MDS must be started with the "-o acl" mount option.
3494
3495 Severity   : enhancement
3496 Description: Introduced filesystem quotas
3497 Details    : Administrators may now establish per-user quotas on the
3498              filesystem.
3499
3500 Severity   : enhancement
3501 Bugzilla   : 7982
3502 Description: Configuration change for the XT3
3503              The PTLLND is now used to run Lustre over Portals on the XT3
3504              The configure option(s) --with-cray-portals are no longer used.