Commit Graph

267 Commits

Author SHA1 Message Date
Mike Meffie
5958aa0c4b dafs-vol-offline-20090428
LICENSE IPL10
FIXES 124582

fix a logic error in the dafs vos offline support
2009-04-28 15:37:39 +00:00
Simon Wilkinson
4ced67ca98 vol-proto-do-not-break-dafs-20090326
LICENSE IPL10
FIXES 12540

Reenable prototype of VolumeExternalName_r for dafs
2009-03-26 23:42:03 +00:00
Hartmut Reuter
ba742892e2 volserver-split-volume-functionality-20090324
LICENSE IPL10
FIXES 124520

implement the server side of vos split
2009-03-24 13:36:23 +00:00
Derrick Brashear
71a73608b1 fssync-enum-syntax-20090324
LICENSE IPL10

no trailing comma
2009-03-24 12:43:05 +00:00
Derrick Brashear
63b0d495cf fd-t-definition-fun-20090323
LICENSE IPL10

make FD_t be defined everywhere we need it
2009-03-24 04:31:13 +00:00
Jeffrey Altman
a209012f1a vol-lock-fd-type-20090323
LICENSE IPL10

the lock_fd field of DiskPartition[64] is a file descriptor.
On Windows this is a HANDLE and on *nix platforms an int.
OpenAFS uses the FD_t type to provide platform specific type
info for file descriptors.  Use it for the lock_fd field and
the salvageLock in ObtainsSalvageLock().

Finally, the on the wire diskPartition[64] struct in volser/volint.xg
also contains a lock_fd field.  This is an on the wire field and
must be left at a fixed width of 32-bits.  Since a file descriptor
is not portable across machines we truncate the 64-bit HANDLE value
to fit in the 32-bit lock_fd field when necessary.
2009-03-23 22:47:36 +00:00
Jeffrey Altman
aa8d735b87 vol-fssync-server-socket-20090323
LICENSE IPL10

GetHandler() sets up a fdset and returns the max socket fd
which is used with select().  Windows ignores the numfd param
(first param) of select() and therefore computing the max fd
value is meaningless.  We can avoid a number of casts by
not attempting to treat this value as osi_socket.
2009-03-23 22:42:48 +00:00
Jeffrey Altman
c39d016155 volid-unsigned-int32-20090323
LICENSE IPL10
FIXES 124510

assume volume ids are always unsigned 32 bit values
2009-03-23 18:18:44 +00:00
Jeffrey Altman
73a57e8013 vol-fssync-server-socket-20090320
LICENSE IPL10

another location where we need osi_socket
2009-03-20 17:25:21 +00:00
Jeffrey Altman
0cd43484be vol-fssync-socket-20090320
LICENSE IPL10

the argument to the function parameter is a socket.  fix the type
to be osi_socket.
2009-03-20 12:15:01 +00:00
Derrick Brashear
57326151f5 prototyping-fallout-20090317
LICENSE IPL10

clean up to make prototyping code build everywhere
2009-03-17 15:10:23 +00:00
Jeffrey Altman
9fa77320ca vol-socket-abstraction-20090317
LICENSE IPL10

windows needs the abstraction for sockets
2009-03-17 04:49:35 +00:00
Derrick Brashear
3eec407510 fssync-abstract-fd-type-20090316
LICENSE IPL10

apparently 64 bit windows has 64 bit fds
2009-03-16 16:09:34 +00:00
Derrick Brashear
92cd63b0b7 vol-no-cast-macro-20090316
LICENSE IPL10

afs_cast_uint32 doesn't exist, not sure we need it
2009-03-16 14:41:22 +00:00
Simon Wilkinson
f28659bd82 vol-prototypes-20090316
LICENSE IPL10
FIXES 124252

prototype the vol directory
2009-03-16 13:11:42 +00:00
Simon Wilkinson
5bd86a09eb windows-64bit-printf-sanity-20090218
LICENSE IPL10
FIXES 124265

don't assume %lld works for 64 bit ints on windows
2009-02-18 17:48:39 +00:00
Jeffrey Altman
b9816e12f7 vclosevnodefiles-ihandle-leak-20090216
LICENSE IPL10
FIXES 124359

don't leak ihandles on close. this isn't a complete fix for the issue
2009-02-17 04:37:27 +00:00
Tom Keiser
ff795a12c5 dafs-vnode-close-race-20090129
LICENSE IPL10
FIXES 124223

address race between VCloseVnodeFiles_r and VGetFreeVnode_r
2009-01-29 17:06:41 +00:00
Mike Meffie
72d502be69 dafs-vol-offline-race-20090127
LICENSE IPL10
FIXES 124215

avoid race when taking volumes offline in dafs
2009-01-27 14:24:23 +00:00
Derrick Brashear
92cf4d996f volserver-manage-inuse-better-20090122
LICENSE IPL10
FIXES 124142

V_PEEK/V_SECRETLY should not change inUse. servertype based inUse should not
leak past giving back a volume.
2009-01-22 19:12:40 +00:00
Marc Dionne
f11480748c salvager-sensible-chdirlessness-20090122
LICENSE IPL10
FIXES 124154

make salvager look for and create headers in the right place.
2009-01-22 14:28:27 +00:00
Derrick Brashear
1f9467f9b7 eliminate-cplusplus-style-comments-20081209
LICENSE IPL10

aix compiler hates // style comments
2008-12-09 17:04:45 +00:00
Simon Wilkinson
deb20d02fb standard-header-includes-20081129
LICENSE IPL10

add missing standard headers
2008-11-29 18:15:40 +00:00
Steve McIntosh
0ac956b338 salvager-no-chdir-20081108
LICENSE IPL10
FIXES 123577

make sure salvager cores don't get left in vice partitions
2008-11-08 15:58:06 +00:00
Simon Wilkinson
fc78255c1d initialize-variables-to-avoid-logic-issues-20081027
LICENSE IPL10

make sure any variable whose value is used will be initialized before that
value is used. (these aren't just warnings)
2008-10-27 23:53:23 +00:00
Simon Wilkinson
f27165f137 kill-uninitialized-variable-warnings-20081026
LICENSE IPL10

kill lots of compiler warnings
2008-10-27 23:41:02 +00:00
Jeffrey Hutzelman
8b1b390713 volser-dumpstuff-log-errors-20081010
LICENSE IPL10
FIXES 121040

return sensible (ENOSPC) errors when out of tags or vnodes. don't perror. log
instead.
2008-10-10 15:42:10 +00:00
Steven Jenkins
1659861640 dafs-drop-volheaders-20080925
LICENSE IPL10
FIXES 117470

Under certain demand salvage scenarios, it is possible for a stale header
to remain cached with the needsSalvaged flag asserted. Although this will
not affect clients accessing the volume over afsint, it is an issue for
volser clients. VAttachVolumeByName in volser will always attempt to pull
the header over FSSYNC before doing a disk read, under the assumption that
a cached entry in the fileserver will be more current than what is on
disk. This patch causes the fileserver to aggresively invalidate disk
header cache entries when a salvage is in-progress.
2008-09-25 08:50:01 +00:00
Simon Wilkinson
af4d05c3a4 generic-inline-20080924
LICENSE IPL10

move static_inline macro to generic location
2008-09-24 22:34:19 +00:00
Dragos Tatulea
433afd4779 disconnected-rw-20080922
LICENSE IPL10
FIXES 114605 114606 114607

add read-write disconnected support
2008-09-22 14:36:16 +00:00
Rainer Toebbicke
e5bf9b91ea salvager-dont-corrupt-dir-lengths-20080812
LICENSE IPL10
FIXES 111585

make the int64 macros work when the "64 bit" number to fill isn't.
use the correct variable type for length in salvager
2008-08-14 00:44:16 +00:00
Hartmut Reuter
674e94b29c salvager-avoid-directory-issues-and-mark-volumes-busy-20080728
LICENSE IPL10
FIXES 107767

avoid corrupting length in vnodeds when salvaging directories.
avoid tag reuse leaving data behind (not verified)
avoid not marking something busy during salvage
2008-07-28 13:58:30 +00:00
Tom Keiser
f52f152236 dafs-update-exclusive-states-20080710
LICENSE IPL10

VOL_STATE_SALVSYNC_REQ is a mutally exclusive state. don't allow other things
to attempt to trigger that state when an exclusive state is already present
2008-07-10 19:14:40 +00:00
Jeffrey Altman
65bf7cdb6d windows-code-signing-20080702
LICENSE MIT

Add code signing with signtool.exe to the build process.
If all three of the required CODESIGN_xxxx environment
variables are defined, signtool will be used to sign each
exe, dll, and installer as they are built.

The three environment variables are:

  CODESIGN_DESC = <description of application>
  CODESIGN_TIMESTAMP = <url of certificate authority timestamp server>
  CODESIGN_URL = <end user help URL>

The default signing certificate is the one that will be used by
signtool.  If these environment variables are not defined, code
signing will be skipped.
2008-07-02 13:41:07 +00:00
Tom Keiser
a7b33b55bb dafs-updates-20080612
LICENSE IPL10

pending changes from tom to avoid a deadlock issue
2008-06-12 20:12:06 +00:00
Rainer Toebbicke
0da0a9d4d2 limit-mountpoint-symlink-abuse-20080608
LICENSE IPL10
FIXES 100836

official mountpoints end in a .; treat others as symlinks to avoid creating
files which can't be removed
2008-06-09 04:30:11 +00:00
Jeffrey Altman
11350e8024 strftime-portability-20080528
LICENSE MIT

%T is not portable to Windows.  Replace it with the equivalent %H:%M:%S
format string.
2008-05-29 05:02:36 +00:00
Dan Hyde
6809ba29fa vol-setaside-one-fd-per-thread-20080423
LICENSE IPL10
FIXES 87977

kids these days share badly. give each one their own fd otherwise they fight.
2008-04-23 19:56:52 +00:00
Derrick Brashear
92b5087b42 dafs-irix-prec99-20080421
LICENSE IPL10

unless/until we build c99, irix needs this
2008-04-21 19:53:45 +00:00
Kevin McBride
5640c4a1b5 volser-preclude-alternate-partition-clones-20080404
LICENSE IPL10

patch based on work from shadow@dementia.org

the idea is to preclude multiple copies of a volume replica on a server,
as there's nothing to indicate which copy is correct and you can end up serving
stale data when you think you've just released and are serving something good
2008-04-04 20:58:35 +00:00
Tom Keiser
5fe4de574d salvageserver-init-handler-lock-20080401
LICENSE IPL10

init lock
2008-04-01 21:28:05 +00:00
Derrick Brashear
48838bab91 vol-osi-assert-20080401
LICENSE IPL10

undo the old windows afs assert undoing
2008-04-01 21:05:19 +00:00
Tom Keiser
9bdb8599c0 synvageserver-no-rx-server-refs-20080401
LICENSE IPL10
FIXES 92648

remove reference to rx service mutex and thread tracking. we need to ensure there's nothing else either but this is true now
2008-04-01 15:09:54 +00:00
Alistair Ferguson
6c9647cc61 dafs-vshutdown-match-id-to-params-20080327
LICENSE IPL10

we track shutdown thread parms as index rather than device; deal correctly
2008-03-27 16:16:02 +00:00
Tom Keiser
493afd1e59 aix-unix-sockets-fix-200803221
LICENSE IPL10
FIXES 88088

use aix's macro for the size of sockaddr_un
2008-03-21 16:59:03 +00:00
Tom Keiser
6c81286368 dafs-kill-xcpu-dump-vlru-stats-20080318
LICENSE BSD

this will dump the current dafs vlru state on kill -XCPU (just as we dump other fileserver state)

that state is
VLRU is a garbage collection facility which automatically offlines
volumes in the background. The purpose of this facility is to
proactively offline infrequently used volumes to improve shutdown and
salvage times. The process of offlining a volume from the "attached"
state to the "pre-attached" state is called soft detachment.

VLRU works in a manner similar to a generational garbage collector.
There are five queues on which volumes can reside: new, intermediate,
old, held, and candidate:

held:

queue for volumes which are administratively barred from VLRU activity

candidate:

queue for volumes which have not been accessed recently, and are thus
candidates for soft detachment

new, intermediate, old:

generational queues for active volumes; state transitions controlled by
inactivity timers.

State transition timeouts are as follows:

candidate->new activity present
new->candidate (1*vlruthresh) minutes since last transition; no activity
new->mid (2*vlruthresh) minutes since last transition; activity
present
mid->old (4*vlruthresh) minutes since last transition; activity
present
old->mid (2*vlruthresh) minutes since last transition; no activity
mid->new (1*vlruthresh) minutes since last transition; no activity
2008-03-18 16:05:09 +00:00
Tom Keiser
c7bce5882a dafs-accurately-track-inuse-20080317
LICENSE IPL10

keep accurate tabs on whether a volume is "in use" so we don't end up with volume state that's nonsensical.

====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================
LICENSE IPL10

keep accurate tabs on whether a volume is "in use" so we don't end up with volum
e state that's nonsensical.

====================
LICENSE IPL10

keep accurate tabs on whether a volume is "in use" so we don't end up with volum
e state that's nonsensical.
2008-03-17 17:06:30 +00:00
Tom Keiser
53a57b79b5 vol-dafs-aix-fixes-20080313
LICENSE IPL10
FIXES 88087

* xlc doesn't support the inline keyword unless C99 is enabled
* xlc won't parse enumerations with trailing commas
2008-03-14 04:41:20 +00:00
Derrick Brashear
b651ece9bd large-partition-support-20080305
LICENSE IPL10
FIXES 88811

support partitions over 2tb
2008-03-05 21:51:19 +00:00
Tom Keiser
c61712de68 dafs-vol-updates-20080210
LICENSE IPL10

make sure status is consistent in vol package when doing dafs
2008-02-11 03:35:43 +00:00