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