-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathChangeLog
More file actions
694 lines (555 loc) · 30.8 KB
/
ChangeLog
File metadata and controls
694 lines (555 loc) · 30.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
-----------------------
OrangeFS Release ChangeLog
-----------------------
orangefs-2.9.3 (Subversion Tag v.2.9.3)
http://www.orangefs.org/svn/orangefs/tags/v.2.9.3
* - USRINT libraries (libofs,liborangefs,liboranefsposix)
* - Minor bug fixes to ofs_cp and ofs_rm
* - Added long version of options to ofs_rm
* - Resolved compilation errors associated with ofs_cp
* - Kernel Module
* - Modifications associated with upstream kernel module that future
proof the code.
* - Corrected an ACL issue.
* - Corrections to the /proc/sys/pvfs2 perf counters.
* - Modifications allowing Linux 4.0 to compile
* - Configure
* - Modifications allowing for Linux 4.x
* - Client/Server (Linux)
* - New functionality to admin app pvfs2-cp. Will allow file to be
created without write permissions but can be written by the user who
created it.
* - Windows Client
* - Corrected issue where a memory fault occurred during an I/O
operation.
* - Added a workaround for credential caching timeout, until a more
robust method can be designed.
orangefs-2.9.2 (Subversion Tag v.2.9.2)
http://www.orangefs.org/svn/orangefs/tags/v.2.9.2
* - Client/Server (Linux)
* - Automatically disabled capability caching, server side, when
default security is used.
* - Added TreeThreshold option in the server config file.
* - pvfs2-genconfig generates a config file with distributed
directories turned off, by default.
* - Added lazy atime support. By default, atime for a file will be
updated upon a read or write if that atime has not been updated within
the last 24 hours. This behavior can be modified by setting the
environment variable, PVFS2_RELATIME_TIMEOUT, before starting the
client:
PVFS2_RELATIME_TIMEOUT < 0, disable atime updates for reads/writes
PVFS2_RELATIME_TIMEOUT == 0, update atime for every read/write
PVFS2_RELATIME_TIMEOUT > 0, update atime for a read/write if atime has not
been updated within the last PVFS2_RELATIME_TIMEOUT seconds.
* - Added support for mixed endian environments for distributed directories.
* - WebDav Client
* - Enabled PAM support. The README file, in src/client/webpack,
describes how to use this feature.
* - USRINT libraries (libofs,liborangefs,liborangefsposix)
* - Modified selinux related files to allow compiles on both new and
old RHEL distributions.
* - __getdelim(): caller can now pass in a buffer pointer allocated
by pint-malloc OR regular malloc. NOTE: PINT-malloc is an internal
macro that reduces the likely hood of memory leaks.
* - Added new calls to PINT-malloc that checks the validity of a
pointer's address and determines if PINT-malloc was used to allocate
its memory. This call is costly, making two system calls. Use only
if necessary.
* - Added two new programs, ofs_rm.c and ofs_cp.c, that use the usrint
libraries and FTS. These programs are still experimental but can be
used as a guidline for building your own programs using the usrint
libraries. They are stored in src/apps/user and are currently NOT
installed in <install>/bin when a make is issued.
* - HADOOP
* - Modified build-and-install files to gather OrangeFS version information during configure time.
* - OrangeFS is now available for both Hadoop 1.0 and 2.0. See
documentation for further details.
* - BMI and Native IB (in development)
* - Removed loopback from distributed directories code in the mkdir.sm
state machine.
* - KERNEL MODULE
* - GOSSIP: changed GOSSIP_PROC_DEBUG to GOSSIP_CLIENTCORE_DEBUG
* - DCACHE: corrected problem where negative dentries did not have the
d_op field filled in with the OFS dentry operations functions, causing
the kernel to return file-not-found when the file was created outside
of the kernel.
* - Add configuration check for f_dentry in struct file, allowing for
compatibility with newer kernel versions.
* - Modified the handling of xattrs, i.e., the exact length of the
xattr's value will be correct, not length + 1.
orangefs-2.9.1 (Subversion Tag v.2.9.1)
http://www.orangefs.org/svn/orangefs/tags/v.2.9.1
* - Update pom.xml files to use the latest versions of our dependencies
* - Add support for issueing -rf with the pvfs2-server program to indicate
* you want to have your data/metadata directories on that server wiped
* clean and reinitialized in one invocation of pvfs2-server
* - Fixed problem that sometimes occurred when reaching the threshold for
* splitting distributed directory entries to another server
* - Fix for attribute changes to directories not being stored
* - Fix compile errors with pvfs2-client-core that occurred with certain
* --disable parameters specified at configure time
* - Fix compile error experienced on ARM architectures
* - Add support for new environment variable for use with Hadoop:
* ORANGEFS_STRIP_SIZE_AS_BLKSIZE
* - Use "struct ctl_table" rather than relying on the typedef as it went
* away around kernel version 3.16.
* - Get rid of the lazy mtime flag in the kernel module as the iattr already
* has the timestamp
* - Fix configure test for O_DIRECT
Up to Subserversion Rev 11536
* - Implemented key-based and certificate-based security modes
* - Implemented distributed directories
* - Added support for Hadoop v2.x
* - Updated kernel module for newer kernels
* - Allowed root to create file with arbitrary owner and group
* - Properly handled variadic arguments passed to open/open64 and
* openat/openat64
* - Improved JNI debug flexibility
* - Added support for -r and -f flags to pvfs2-rm
* - Updated sys-create to populate acache for increased performance
* - Fixed minor bugs in DAV module
* - Made develtools no longer dependent on pvfs libraries
Up to Subversion Rev 10730
* - JNI Layer:
* - Removed classes that are no longer used.
* - Minor bug fixes.
* - USRINT libraries:
* - Files created with a zero mode can now be truncated.
* - /dev/shm areas are automatically deleted.
* - Kernel Module:
* - Linux dcache entries are automatically revalidated to prevent stale handles.
* - If interrupt occurs while issuing a pvfs2-getattr, EAGAIN is returned
* - instead of marking the inode bad.
* - Admin Apps:
* - pvfs2-write: allows users to run I/O tests without reading from local
* - disk.
* - Admin Scripts:
* - pvfs2-start-all and pvfs2-stop-all:
* - Starts and stops servers.
* - Located in the sbin install directory
* -
* - Updated kernel module to work with kernel versions up to 3.11
* - Updated pvfs2-touch to respect umask
* - Improved multi-fabric BMI support
* - Fixed problem with FUSE readdir code.
Up to Subversion Rev 10349
* - Fixed bug in iocommon_open where the variable directory
* was used instead of the argument path before calling iocommon_expand_path
* - Fixed bug in closedir where the fd was never getting closed thus
* leaving lots of fd's open in some cases
* - Fixed bug in is_pvfs_path where argument path was referenced without
* a dereference (not sure how that ever worked)
* - BMI_add_to_socket_collection and related macros were not checking
* for errors from epoll_ctl, some are expected but errno was not reset
* leaving to issues later on
* - Made FUSE compile on MAC OSX 10.7.5
* - Corrected a deadlock issue where the client-core was trying to get a
* "write" semaphore at the same time the kernel was holding a "read"
* semaphore while sleeping.
* - Set PVFS2_DEFAULT_SLOT_TIMEOUT_SECS from 1800 to 900, which means that
* when all the shared memory slots are busy, the process will sleep for
* 15 minutes (instead of 30 minutes) or until a slot becomes available.
* - Made pvfs2-genconfig default the log file location to
* /var/log/orangefs-server.log.
* - In the OrangeFS extension to Hadoop's abstract FileSystem class,
* corrected scenario where an exception was being throw as a result of
* mkdirs failure. This error was thrown when client A checks to see if
* a parent directory exists, but client B successfully creates the parent
* directory prior to client A executing mkdirs. If mkdirs returns false,
* then client A should check to see if the directory actually had been
* created before throwing an exception.
* - Allow mmap() calls with MAP_SHARED
* - Fixed several Infiniband-related issues:
* - Fixed per connection memory leak.
* - Replaced asserts with error checking.
* - Changed error*() calls to not exit. All calls to error*() now do
* error handeling.
* - Lowered QP timeout from 5 minutes to 17 seconds.
* - Fixed problem in rewinddir
* - Improved how we expose directory entries to Hadoop using
* java/util/ArrayList
* - patched a problem in iocommon_lseek where dirs over 1024 entries can
* cause a problem - also avoided a slow loop when we can.
* - Corrected bug related to recursive_delete when using Hadoop
* - Added flags to javah javac and jar commands to limit the ammount of
* heap memory reserved for jvm. Before, running 'make' with the option
* '-j9' was causing multiple jvms to each acquire 1/4 of the machine's
* ram by default. Since 9 jvms cannot each obtain 1/4 of a machine's
* memory, errors were thrown. Setting a reasonable maximum heap reserved
* for jvm fixes this. 256MB works well for now.
* - Added warnings for meta/data stored on a root device
* - fix selinux issues within usrint
* - Added shared descriptor tables, that work with fork and exec, and added
* some flags to the link line to improve interposition.
* - Corrected issue with JNI layer and gcc not working well without -O0
* option.
* - Significant improvements to JNI layer and Hadoop extensions.
* - added enable option to build libofs-s.so with -Bsymbolic to force
* programs to call it and not another version of the libc routines.
* - added an instance of each of two structs of pointers to methods for
* system calls and library calls respectively so that external code can
* force a call to our code.
* - fixed bug in rename to return 0 if try to rename something to itself
* - reworked IO locking to use the NPTL stuff
* - added missing read of two funcs to stdio_ops
* - changed variable named shmctl to shmctrl to avoid a name conflict
* - fixed a problem in userint.h where a define was mis-named
* - added error.c and error.h from glibc so they link with usrlib
Rev 10182
* Reworked usrint initialization to support fork/exec effectively,
* particularly for shells (like bash). File descriptors were moved to
* a Posix shared memory object so that they can be passed from parent
* to child in a fork and from one program to the next in an exec. Fork
* creates a new shm object and copies the parent's into it. Exec takes
* over the previous program's object but must modify internal pointers.
* program loading OFS usrint for the first time creates and initializes
* a new object. File descriptor status structs can be shared from
* parent to child on a fork. Shared synchronization is used to manage
* access to these objects. Management of free space in the shared
* objects is done in unshared user space memory using fairly simple
* free lists.
*
* Added features to gen_locks to initialize recursive and shared mutexes
* and shared conds for use in the new usrint features.
* - Incorporated patch to fix a memory corruption issue
* - Fixed client initialization issue resulting from an uninitalized
* ibv_wc struct.
* - Added a thread for the TCP accept processing for the IB connection
* information exchange.
* - Fixed the RTS_DONE missing errors
* - Updates to JNI layer. Now using NIO OutputChannel for buffered output.
* - Added distribution options to pvfs2-genconfig.
* - Added pvfs2-start-all.sh convenience scripts that allow an administrator
* (with password-less ssh configured) to start or stop the pvfs2-server
* on nodes listed in the pvfs2 configuration file.
* Run with -h or --help to see available options.
* - added cross platform client library, windows client GUI app, and
* VS 2012 projects
* - Corrected bugs in the OrangeFS extension of Hadoop's abstract
* FileSystem class. There were issues with mkdir and delete.
* - Changed the way reserved range params are interpreted in pvfs2-genconfig
* - OrangeFS client JNI require --enable-jni and --with-jdk at configure
* time. OrangeFS extensions to Hadoop classes require --enable-jni,
* --with-jdk=<path_to_jdk>, --enable-hadoop, and
* --with-hadoop=<path_to_hadoop>. After the 'make install' step of
* OrangeFS installation: run 'make jni' and 'make jni_install' to build
* and install the client JNI. If building Hadoop extensions as well, then
* just run 'make hadoop' and 'make hadoop_install'.
* - Changed default log file names to use "orangefs".
* - Added --disable-opt option to ./configure to disable compiler optimization
* - Updated Hadoop/JNI Makefile to reflect latest stable version of Hadoop (1.1.2) and OrangeFS installation path described in new documentation (/opt/orangefs). Also corrected a bug where function dup3 was being defined twice.
Rev 10075
* Added support for glob in usrint
*
* Fixed several bugs that involved using an uncleared buffer that becomes
* corrupted.
*
* Added a malloc and associated functions wrapper that uses #defines to
* replace malloc with PINT-malloc(). PINT-malloc() uses glibc malloc() (and not
* a client program's replacement for malloc) to do memory management. Inserts
* a magic number before each allocated buffer that is check on free to prevent
* a number of common malloc related bugs. Zeros newly allocarted buffer.
* Zeros buffer being freed. Can be adapted for other uses as well. Includes
* malloc debugging calls (currently controlled distinctly from gossip but
* will be integrated into gossip). Configure options can turn off some or
* all of these features. Also incAudes a set of functions clean-malloc() that
* calls to the default version of malloc(). This makes pint-mem.c obsolete.
*
* Began migrating to a new initialization mechanism that uses a feature of
* GCC __attrubute__((constructor)) that causes a routine to run before main.
* This should enable us to remove the many calls to init routines currently in
* the usrint code. May not work on other compilers, but there may be an
* older alternative. Worst case we replace the many calls with macros. A
* similar destructor attribute exists for shutdown
*
* Reworked implementation of stdin, stdout, stderr so that we can use them
* effectively with freopen and OrangeFS files. Reworked freopen to support
* this. Can still be disabled with configure.
*
* Made some changes to handling of locks in streams.
* - Added OrangeFS Direct Client JNI layer and Hadoop related extensions.
* See 'src/client/jni/README' for more information.
* - subtle bug when storing directory paths was getting garbage that later
* come back to hurt if just the right conditions existed. Went over all
* code that worked on pd->s->dpath to ensure everything wil be clean.
* - changed nocache hint to cache hint and moved from create to open
* - fixed problem with stat by clearing buffer before the sys call
* - Minor changes to PINT_string_rm_extra_slashes_rts.
* - added glob.c to libofs in case anyone needs it
* - changed st_blocks to be size/512 as it should be leaving st_blksize alone
* - Improved the output of pvfs2-ls when using the recursive option: 'R'.
* Extra slashes were appearing. Wrote a function to strip multiple slashes
* and optionally remove the final trailing slash.
* - fixed problems found by Jim Kusnier
* iocommon_getdents clear buffer before reading dirents
* iocommon_getdents uses strncpy rather than memcpy
* iocommon_getdents always returns unknown d_type
* iocommon_open reworked so it is much easier to understand and less
* error prone
* reworked calls to expand_path so they get called when they should
* tweeked PVFS_sys_lookup to return propoer error codes
* fixed fcntl dup command to work correctly (not like dup2)
* - fixed error code when xattr is not supported
* - fixed some CPP code determining size of a pointer
* - Modified the include directive for fuse from <fuse/fuse.h> to <fuse.h>.
* pkg-config will correctly identify where the include directory is
* located for fuse. (pkg-config --cflags fuse).
orangefs-2.8.7 (Subversion Tag v2.8.7)
Revs 9399 thru 9763
* WARNINGS:
* - The pvfs kernel module is NOT compatible with linux kernel versions
* 3.4 and higher. Work is currently underway.
* - A known linux kernel bug causing kernel panics when a PVFS
* filesystem is unmounted was found in RHEL releases 2.6.18-308.1.1 thru
* 2.6.18-308.20.1. The OrangeFS team recommends using 2.6.18-308 (RHEL 5.8) or
* 2.6.32-71 (RHEL 6,0) and up. This kernel bug affects other
* filesystems as well.
* Corrected issues with the readdirplus operations effecting the dokan
interface for Windows.
* Corrected memory overwrite that resulted from using both readdir and
readdirplus members of a union whenever the readdir state machine was called
from the readdirplus state machine.
* Starting in linux kernels 3.4, d_make_root is used instead of d_alloc_root.
Configure changes were added to account for this change in the kernel module.
* Fixed a bug in pvfs_readdir associated with the usrint library.
* Modified kernel module to accommodate the RCU walk initiated by the system
in pvfs2_d_validate. This fixes a deadlock occurring in kernel versions
2.6.38 and later.
* Fixed bug in usrint library where a dir is opened and the fd is passed to
fchdir but the path is missing.
* Added support for fts interface in usrint library.
* Fixed errors with invalid objects in the kernel module.
* Performance improvements for Windows Client.
* Defects corrected for ucache system.
* Changes to Makefile:
* - Using glibtool instead of glib on MAC-Darwin OS when making libpvfs2.a
* - Ensure that sbin dir is creatd before moving ucache system into it.
* - Added lib/libpvfs2.so as a dependency when making libofs.so to allow
* make with the -j option to operate correctly.
* - Renamed liborange to liborangefs.
* New Feature: added human readable times to pvfs2-db-display.
* New Feature: when setting the mode (admin or normal) of a filesystem
using pvfs2-set-mode, you can now do so for individual servers. Prior
to this change, the mode was set for all the servers within a particular
filesystem.
orangefs-2.8.6 (Rev v2.8.6)
* New Feature: users can now specify at configure time how they want the
* kernel module to handle the file pointer when an error occurs. The
* default behavior is to leave the file pointer alone, i.e., the file
* pointer will always represent the position of the last byte written,
* even though the user's entire request is not totally satisfied. In
* this case, a the actual number of bytes written is returned to the user.
* The new feature will change this default behavior such that the file pointer
* is repositioned to the byte just prior to the user's write request, a
* -1 is returned to the user's call, and errno is appropriately set. To
* enable this feature, add --enable-reset-file-pos on the configure
* command line when your OrangeFS system is configured.
* Bug fix: modified pvfs2_readdir, which is executed by the kernel module
* on behalf of an "ls", to properly retry or quit when pvfs2-client-core
* aborts/restarts or when pvfs2-client terminates. Prior to these
* changes, pvfs2_readdir could possibly corrupt another process's "ls"
* command by releasing access to a shared memory buffer index that may
* be legitimately in use.
* Bug fix: modified the kernel code to re-post data to the shared memory
* system (for I/O requests) whenever pvfs2-client-core aborts. Because the
* data was not re-posted prior to these changes, the resulting file contained
* corrupted data.
* New Feature: added hint support to pvfs_open() to allow user to
* provide various things like the number of servers to use, the
* distribution to use, the layout to use, as well as tags that can be
* used to trace requests.
* New Feature: added new layout LOCAL which puts a file on the server on
* the same node as the client, if there is one. Otherwise defaults to
* ROUND_ROBIN
* Bug Fix: repaired a bug in the layout processing
* Bug Fix: fixed some problems with void pointers and replaced a missing
* function prototype
* Bug Fix: Corrected a long time bug: if the number of unexpected requests
defined in the config file is greater than 64, then the code inadvertently
used invalid job_status_s addresses when calling
server_post_unexpected_recv(). If a failure occurs, the error code in the
status structure is updated with the error value. In this case, the code would
NOT segfault, because the address is actually within valid address space on
the heap; however, the code would be overwriting other global structures, like
the known_method_table, etc. To correct this problem, I use a local
job_status_s structure inside the server_post_unexpected_recv(). Please read
the comments in that function to understand why this works.
SVN: Change #9272
Fixed a bug when turning off malloc redirect. Fixed bug prefenting hints
being passed in to open. Added a few comments.
* New Feature: added usrint and ucache code allows programs to link
* directly bypassing kernel
* Bug Fix: rewrote layout algorithms for RANDOM and ROUND_ROBIN which
* did not perform as advertized. Still a question if metadata
* selection works correctly or stuffed file allocation.
* Enhancement: pvfs2-ls.c - modified the display of handles from 16 characters
to 20 characters.
Rev 10182
* Reworked usrint initialization to support fork/exec effectively,
* particularly for shells (like bash). File descriptors were moved to
* a Posix shared memory object so that they can be passed from parent
* to child in a fork and from one program to the next in an exec. Fork
* creates a new shm object and copies the parent's into it. Exec takes
* over the previous program's object but must modify internal pointers.
* program loading OFS usrint for the first time creates and initializes
* a new object. File descriptor status structs can be shared from
* parent to child on a fork. Shared synchronization is used to manage
* access to these objects. Management of free space in the shared
* objects is done in unshared user space memory using fairly simple
* free lists.
*
* Added features to gen_locks to initialize recursive and shared mutexes
* and shared conds for use in the new usrint features.
Rev 10075
* Added support for glob in usrint
*
* Fixed several bugs that involved using an uncleared buffer that becomes
* corrupted.
*
* Added a malloc and associated functions wrapper that uses #defines to
* replace malloc with PINT-malloc(). PINT-malloc() uses glibc malloc() (and not
* a client program's replacement for malloc) to do memory management. Inserts
* a magic number before each allocated buffer that is check on free to prevent
* a number of common malloc related bugs. Zeros newly allocarted buffer.
* Zeros buffer being freed. Can be adapted for other uses as well. Includes
* malloc debugging calls (currently controlled distinctly from gossip but
* will be integrated into gossip). Configure options can turn off some or
* all of these features. Also incAudes a set of functions clean-malloc() that
* calls to the default version of malloc(). This makes pint-mem.c obsolete.
*
* Began migrating to a new initialization mechanism that uses a feature of
* GCC __attrubute__((constructor)) that causes a routine to run before main.
* This should enable us to remove the many calls to init routines currently in
* the usrint code. May not work on other compilers, but there may be an
* older alternative. Worst case we replace the many calls with macros. A
* similar destructor attribute exists for shutdown
*
* Reworked implementation of stdin, stdout, stderr so that we can use them
* effectively with freopen and OrangeFS files. Reworked freopen to support
* this. Can still be disabled with configure.
*
* Made some changes to handling of locks in streams.
orangefs-2.8.7 (Subversion Tag v2.8.7)
Trunk
* New Feature: added human readable times to pvfs2-db-display. Rev 9366.
* New Feature: when setting the mode (admin or normal) of a filesystem
* using pvfs2-set-mode, you can now do so for individual servers. Prior
* to this change, the mode was set for all the servers within a particular
* filesystem.
* New Feature: users can now specify at configure time how they want the
* kernel module to handle the file pointer when an error occurs. The
* default behavior is to leave the file pointer alone, i.e., the file
* pointer will always represent the position of the last byte written,
* even though the user's entire request is not totally satisfied. In
* this case, a the actual number of bytes written is returned to the user.
* The new feature will change this default behavior such that the file pointer
* is repositioned to the byte just prior to the user's write request, a
* -1 is returned to the user's call, and errno is appropriately set. To
* enable this feature, add --enable-reset-file-pos on the configure
* command line when your OrangeFS system is configured.
* Bug fix: modified pvfs2_readdir, which is executed by the kernel module
* on behalf of an "ls", to properly retry or quit when pvfs2-client-core
* aborts/restarts or when pvfs2-client terminates. Prior to these
* changes, pvfs2_readdir could possibly corrupt another process's "ls"
* command by releasing access to a shared memory buffer index that may
* be legitimately in use.
* Bug fix: modified the kernel code to re-post data to the shared memory
* system (for I/O requests) whenever pvfs2-client-core aborts. Because the
* data was not re-posted prior to these changes, the resulting file contained
* corrupted data.
* New Feature: added hint support to pvfs_open() to allow user to
* provide various things like the number of servers to use, the
* distribution to use, the layout to use, as well as tags that can be
* used to trace requests.
* New Feature: added new layout LOCAL which puts a file on the server on
* the same node as the client, if there is one. Otherwise defaults to
* ROUND_ROBIN
* Bug Fix: repaired a bug in the layout processing
* Bug Fix: fixed some problems with void pointers and replaced a missing
* function prototype
* Bug Fix: Corrected a long time bug: if the number of unexpected requests
defined in the config file is greater than 64, then the code inadvertently
used invalid job_status_s addresses when calling
server_post_unexpected_recv(). If a failure occurs, the error code in the
status structure is updated with the error value. In this case, the code would
NOT segfault, because the address is actually within valid address space on
the heap; however, the code would be overwriting other global structures, like
the known_method_table, etc. To correct this problem, I use a local
job_status_s structure inside the server_post_unexpected_recv(). Please read
the comments in that function to understand why this works.
SVN Changeset 9273
* Enhancement: Incremented display of handles from 16 to 20 bytes in pvfs2-ls.
* Bug fix: Fix invalid argument errors on chmod though pvfs2fuse
* Bug fix: uninitialized variable could cause seg fault when file system
* cannot be initialized.
orangefs-2.8.4
* Change verisioning to no longer include dates, just increment the sub version for every release
orangefs-2.8.3-20110323
* Bug fix: resolve assert in dbpf_open_cache_remove() when using tree code for file remove
CVS: Orange-Branch:bligon:20110322141529
* Bug fix: PINT_dist_encode() segfault in pvfs2-server caused by the client create state machine not sending dist information on create retries.
CVS: Orange-Branch:mtmoore:20110322014656
CVS: Orange-Branch:mtmoore:20110322031703
CVS: Orange-Branch:mtmoore:20110322040628
CVS: Orange-Branch:mtmoore:20110322114637
CVS: Orange-Branch:mtmoore:20110322121208
* Bug fix: fix incorrect attribute output using sys attrs
CVS: Orange-Branch:mtmoore:20110301023749
* Bug fix: fix segfault in pvfs2-server if client provides too large of buffer in the list-eattr state machine. Includes additional sanity checks on extended attribute operations
CVS: Orange-Branch:mtmoore:20110225222047
* Bug fix: merge dir.c fix from main branch
CVS: Orange-Branch:bligon:20110126215228
* Bug fix: resolve data corruption caused by ki_pos not being updated during synchronous I/O through asynchronous path (relevant to newer kernels).
CVS: Orange-Branch:mtmoore:20110123143300
* Bug fix: fix resolving symbolic links from pvfs2-* utilities
CVS: Orange-Branch:mtmoore:20110114215452
* Bug fix: Fix ncache entry update when moving files by David Metheny
CVS: Orange-Branch:mtmoore:20110111154332
* Bug fix: PVFS_hint_add fix by Julian Kunkel and refinement of patch
CVS: Orange-Branch:mtmoore:20110105051448
CVS: Orange-Branch:bligon:20110224203131
* Bug fix: change where unlocks occur w.r.t __PVFS_JOB_THREADED__ to prevent deadlock
CVS: Orange-Branch:mtmoore:20101221163004
* Bug fix: change incorrect use of union members in tree-communicate
CVS: Orange-Branch:mtmoore:20101214182035
* Bug fix: initialize values in trove-migrate to resolve segfault
CVS: Orange-Branch:bligon:20101213175120
* Bug fix: pvfs2-mkspace not set collection-only properly
CVS: Orange-Branch:bligon:20101213174458
* Bug fix: update iteration in quickhash to use safe variant
CVS: Orange-Branch:mtmoore:20101207004159
* Bug fix: null handle/fs_id sent to getattr in client create state machine
CVS: Orange-Branch:bligon:20101201170021
* Added support for newer (> 2.6.18) kernels up through 2.6.34.
CVS: Orange-Branch:mtmoore:20101216185529
CVS: Orange-Branch:mtmoore:20101221153412
CVS: Orange-Branch:mtmoore:20101221153514
CVS: Orange-Branch:mtmoore:20101221153709
CVS: Orange-Branch:mtmoore:20101221153806
CVS: Orange-Branch:mtmoore:20101221154012
CVS: Orange-Branch:mtmoore:20101221154240
CVS: Orange-Branch:mtmoore:20101221160327
CVS: Orange-Branch:mtmoore:20110123143015
CVS: Orange-Branch:mtmoore:20110124130323
CVS: Orange-Branch:mtmoore:20110203182026
* Added beginning of new user interface
CVS: Orange-Branch:walt:20110208213934
* Cleanup: change PINT_dist_finalize to unregister and free distributions cleanly
CVS: Orange-Branch:mtmoore:20101221163224
* Cleanup: delete items from timer queue list when element is freed
CVS: Orange-Branch:mtmoore:20101221163041
-------------------------------------------------------------------------------
orangefs-2.8.2-20100920
* Changed unstuff state machine to handle writing to files with read-only
permissions on create
CVS: Orange-Branch:bligon:20100920181650
* Bug fix for kernel panics from list corruption
CVS: Orange-Branch:mtmoore:20100915132022
* Trove version increase to 0.1.5 to support precreate pools of multiple types
CVS: Orange-Branch:mtmoore:20100908153740
* PJMP memory leak fix
CVS: Orange-Branch:bligon:20100906203050
* BMI memory leak fix
CVS: Orange-Branch:bligon:20100831190531,
Orange-Branch:bligon:20100831190748,
Orange-Branch:bligon:20100902155433