5907 Commits

Author SHA1 Message Date
Andrew Deason
eb252cea4a DEVEL15-osol-solookup-20090624
LICENSE IPL10
FIXES 124924

update for new opensolaris solookup function signature


(cherry picked from commit ee72f251049ca361b095e813adce63216343afd8)
2009-06-24 22:38:27 +00:00
Jeffrey Altman
fce2790725 DEVEL15-util-snprintf-replacement-20090624
LICENSE BSD

1. Add a test program for *printf functionality.  util/tests/snprintf_test.c

2. Replace OpenAFS implementation of afs_*printf() with Heimdal's version.

3. Add support to Heimdal's version to support:

 - floating point

 - OpenAFS %I ipv4 address formatting (dotted notation and hostname lookup)

 - Microsoft's I32 and I64 integer size modifiers

With these changes OpenAFS gains:

 - output that is compliant with standard *printf implementations.
   the previous implementation had justification, padding and case
   errors.

 - support for a NULL buffer which computes the required size based
   upon the input format and arguments.  the previous implementation
   would crash.

 - support for additional format types.

 - OpenAFS specific implementations of vasnprintf(), vasprintf(),
   asprintf(), and asnprintf().


(cherry picked from commit b45838ca82a085360491b14fdb16e88612a43165)
2009-06-24 16:15:54 +00:00
Jeffrey Altman
1a4dd2f546 DEVEL15-windows-config-amd64-20090624
LICENSE MIT

amd64 uses 64-bit pointers.  Define AFS_64BITPOINTER_ENV.


(cherry picked from commit 74d49eb2c68f787044fe9f612d4f5f4610907572)
2009-06-24 15:47:41 +00:00
Marc Dionne
e52cc4fe54 DEVEL15-linux-call-inode-setattr-op-20090622
LICENSE IPL10
FIXES 124942

call inode's setattr op instead of just inode_setattr, when one is available.
needed for xfs, notably also will cause truncates to be journalled for ext3,
which may solve some existing issues


(cherry picked from commit b02e22b5f0590929ef9120da4799ca9a47fa3aeb)
2009-06-22 16:25:32 +00:00
Jeffrey Altman
a37d963043 DEVEL15-cellconfig-gethostbyname-20090618
LICENSE MIT

The CellServDB processing in auth/cellconfig and WINNT/afsd/cm_config
differ in one important way.  cellconfig uses the IP addresses specified
in the CellServDB file and ignores the host name; whereas cm_config
calls gethostbyname() on the host name and falls back to the specified
address only if gethostbyname() fails.

This commit modifies cellconfig to use gethostbyname() calls on the
host names when the client CellServDB file is being used.   The server
CellServDB file is left alone because ubik servers need to be given
the exact list of ip addresses specified by the administrator and
there is no method of indicating clones to other servers using DNS.

This change permits a greater resilency to cell server configuration
changes due to IP address renumbering as the DNS names in the CellServDB
file can be CNAME or A records.

A host name can be resolved to multiple IP addresses and all of the
addresses will be added to the hostAddr list for the cell provided
that they do not exceed the maximum number of hosts.  If the same
host name is listed multiple times the duplicate IP addresses will
be ignored.

The behavior of all tools that use CellServDB files on Windows will now
be consistent.


(cherry picked from commit 0200a40061a70c8e768f7510604839aaa7925a28)
2009-06-19 04:48:28 +00:00
Jeffrey Altman
dbb62996df DEVEL15-windows-conn-analyze-20090615
LICENSE MIT

When processing RX_CALL_TIMEOUT, if there is no fid specified its a vldb
rpc and we should retry.  If there is a fid and the volume is a readonly
volume then we should also retry.  Only fail if the request has no alternate
server to look at.

When processing RX_CALL_DEAD, log the fact that the call is dead.

When processing any other RX error between -2 and -64, do not force
a new connection to the same server.   Mark the server down and retry
with a new server if possible.


(cherry picked from commit 82d9807e2246997ac73930c91d1ad4312084cc57)
2009-06-19 04:38:50 +00:00
Jeffrey Altman
ec68ee4652 DEVEL15-windows-netidmgr-20090617
LICENSE MIT

permit building with a broader range of visual studio versions


(cherry picked from commit cfe1f5676d458ca2ca8ba562ace782305e68059f)
2009-06-19 04:16:23 +00:00
Jeffrey Altman
bbf8292eec DEVEL15-windows-testcellconf-20090617
LICENSE MIT

make testcellconf work on Windows


(cherry picked from commit f310847d2dfa924aaeff2924cfbc885d1cd58a31)
2009-06-19 04:16:13 +00:00
Jeffrey Altman
dc846c34ba DEVEL15-windows-client-config-cell-search-registry-20090616
LICENSE MIT

Add registry based cell search functionality to afs_config.exe
even though the tool is close to useless at this point.


(cherry picked from commit 377b8c176fde2cab27d27c644b6966bf153daad5)
2009-06-19 04:15:52 +00:00
Jeffrey Altman
1483c0e7a4 DEVEL15-windows-kauth-cell-search-registry-20090616
LICENSE MIT

add registry based cell search to ka_UserAuthenticateGeneral2()
which is used by klog() and afslogon.dll when no kerberos support
is available.


(cherry picked from commit 3af8eafae68b7260941b59346720730410f97944)
2009-06-19 04:15:23 +00:00
Jeffrey Altman
f9a873a988 DEVEL15-windows-netidmgr-cell-search-registry-20090616
LICENSE MIT

Forgot to update the afs provider to support registry based cellservdb
lookups


(cherry picked from commit 4bf09a2ebfabede83cdac782de52386423e01927)
2009-06-19 04:15:10 +00:00
Jeffrey Altman
e6b33f7a8b DEVEL15-windows-installer-nsis-20090615
LICENSE MIT

reorder some operations and make sure that directories are created
before the installer attempts to generate files into them.


(cherry picked from commit 3e26e46b660f2e92eb9c693f9a3c4f97f2acd80c)
2009-06-19 04:14:52 +00:00
Jeffrey Altman
a2cc53224c DEVEL15-windows-cellservdb-rank-20090615
LICENSE MIT

When inserting a new vldb server, if the rank is 0 (unknown), do not
override the default rank assigned by cm_NewServer().  Doing so erases
the randomized ranking.


(cherry picked from commit 81c9b8c0c4ddf711872104ba6645c1310093af24)
2009-06-19 04:14:39 +00:00
Jeffrey Altman
1367a1560e DEVEL15-windows-server-find-by-uuid-20090614
LICENSE MIT

Add cm_FindServerByUuid().  This function is similar to cm_FindServerByIP()
but uses the server's known uuid instead which is constant across multi-
homed systems.


(cherry picked from commit 88ef4fb720efd8f7c0b130b5bdf35ef840aafc59)
2009-06-19 04:13:56 +00:00
Jeffrey Altman
a8c5573104 DEVEL15-windows-server-xdr-free-20090614
LICENSE MIT

when releasing the capabilities memory allocation use xdr_free() not
the free() of the afsd_service.exe module.


(cherry picked from commit 571dc5edbe76a7e62d47adee8df52bbf532c55bc)
2009-06-19 04:13:43 +00:00
Jeffrey Altman
50370ca427 DEVEL15-windows-callback-handling-20090614
LICENSE MIT

Turn SRXAFSCB_InitCallBackState3() into the primary function for
processing InitCallBackStateX RPCs.  InitCallBackState3 accepts an
optional server uuid which can be used instead of the IP address
to locate a matching server object.  If the RPC comes from a server
that we know of, we can restrict the calback state initialization
to cm_scache_t objects on that file server.  If the request comes
from a server that we know nothing about and a uuid was specified,
we can ignore it.

During callback revocation, make use of the cell associated with
the server to restrict the revocation to cm_scache_t objects in
the one cell.  This is especially important for readonly volume
callbacks since volume ids are shared across multiple cells.

Add a missing case where the cm_volume_t cbExpiresRO time should
be set to the cm_scache_t cbExpires time.


(cherry picked from commit a79ce67d7a52a99c10192a92c66a7e10500770bf)
2009-06-19 04:13:30 +00:00
Jeffrey Altman
8563051729 DEVEL15-windows-cache-validation-20090610
LICENSE MIT

correct cell validation to avoid false detection of infinite loops
if a cm_cell_t object had to be freed.

add newlines to output of volumeHashTableSize and cellHashTableSize


(cherry picked from commit ae1923e36260ff59efb85dda99b5345341bff6d8)
2009-06-19 04:13:14 +00:00
Jeffrey Altman
6e34d59a41 DEVEL15-windows-freelance-default-cell-20090609
LICENSE MIT

If a freelance mount point does not specify a cell name, default to
the workstation cell.


(cherry picked from commit 37e1cd23195215cd5999be7fa5a8de6af7efebcb)
2009-06-19 04:12:53 +00:00
Jeffrey Altman
818c3dc66f DEVEL15-windows-dirty-buffers-20090608
LICENSE MIT

In the buf_IncrSync thread, if the volume is known to be unavailable
do not attempt to write the buffer.  Just skip it.

In buf_Sync(), if we are shutting down and a buffer is left dirty,
log a message to the Windows Event Log indicating that the dirty buffer
was lost.


(cherry picked from commit 2033fa9ec62089887f074381ac118a2c60e9c311)
2009-06-19 04:12:34 +00:00
Jeffrey Altman
84c772697d DEVEL15-windows-cell-locking-20090608
LICENSE MIT
FIXES 124910

cm_cellLock protects the cm_cell_t fields allNextp, nameNextp, idNextp,
and freeNextp.  Therefore, a write lock must be obtained whenever those
items may change.  This patch makes that consistent.

This patch also fixes an out of order lock acquisition and removes
cm_cell_t objects from the id and name hash tables before freeing them.


(cherry picked from commit f5b74d9fbcc42ad3a1105df3363e6c22c16fee84)
2009-06-19 04:12:21 +00:00
Jeffrey Altman
f525fda488 DEVEL15-windows-search-cell-registry-20090608
LICENSE MIT

do not clear the newCellNamep buffer on error.
that is inconsistent with the other SearchCell functions
and breaks "fs newcell".


(cherry picked from commit 7bf6fd6bcbdcb87544798c9634618fccb4678f45)
2009-06-19 04:12:09 +00:00
Jeffrey Altman
c6d246b6dc DEVEL15-windows-buf-infinite-looping-on-dirty-buffers-20090607
LICENSE MIT

If there are dirty buffers when the file server becomes unresponsive,
the cache manager will attempt to write them repeatedly resulting in
use of 100% of the cpu of the machine until the file server becomes
responsive.

This patch reduces the cpu utilization by ensuring that only the first
in a list of buffers on the same file needs to fail with timed out,
all down, all busy, all offline, or clock skew.  The other dirty buffers
will just be skipped.  A small delay is enforced in the buf_IncrSync
thread between invocation.

This patch is not a complete fix for the problem.  The buf_IncrSync
thread needs to become more intelligent in order to avoid attempts to
write to volumes that are known to be inaccessible.


(cherry picked from commit bada49cff904c1e783ca9fa81a92036ceae7378d)
2009-06-19 04:11:22 +00:00
Andrew Deason
4b3d2b109b DEVEL15-ubik-fix-allbetter-loglevels-20090616
LICENSE IPL10
FIXES 124938

make allBetter log more sensibly; right now it's very loud. move it to level 25


(cherry picked from commit e44c38c423fee7f10540ee339c372dce043af10d)
2009-06-16 19:09:52 +00:00
Derrick Brashear
9738086c33 DEVEL15-afs-snrpintf-support-percentp-for-ptrs-20090616
LICENSE IPL10

so we can portably log pointers


(cherry picked from commit a44bee561505c8f955c84d5c96227d72d3cdaf57)
2009-06-16 19:08:25 +00:00
Simon Wilkinson
46aef324c2 DEVEL15-gitignore-20090615
LICENSE IPL10

make gitignore files


(cherry picked from commit c41a46774134aee6eaf6a41e9061386035ae6ebf)
2009-06-15 23:33:13 +00:00
Derrick Brashear
f909994d56 DEVEL15-vnode-disk-object-name-hi-length-field-20090611
LICENSE IPL10

reserved6 is used for the high portion of the 64 bit length. make the
structure reflect it.


(cherry picked from commit a7f9ce9ce1b2608937c5c3ffc73a2de07abc5fb1)
2009-06-11 20:40:03 +00:00
Andrew Deason
660e8df96a DEVEL15-dafs-create-volumes-online-20090611
LICENSE IPL10
FIXES 124492

newly created volumes were not marked "not in use" by the volserver, so the
fileserver would not take them. fix it.


(cherry picked from commit 27cbb188bd1cb3e050c6911b1ddde75c46aa712f)
2009-06-11 15:25:25 +00:00
Andrew Deason
a08aa582c3 DEVEL15-bosserver-invoke-salvager-fully-specifying-force-20090611
LICENSE IPL10
FIXES 124916

bos salvage can invoke salvager with -f (instead of -force) which is no
longer unique. fix that.


(cherry picked from commit 2c755529c79492738fec61a5fc311216678a52e7)
2009-06-11 15:19:25 +00:00
Derrick Brashear
3c0d296397 DEVEL15-aix6-no-vprintf-but-strict-kernel-prototypes-20090609
LICENSE IPL10

alas, we can't use varargs style prototypes since we can't handle the args!


(cherry picked from commit e87be8c5794ccd6eecd3b420dc12085a3608fadb)
2009-06-09 22:30:39 +00:00
Derrick Brashear
08d80c893f DEVEL15-excise-cplusplus-comments-from-kernel-20090609
LICENSE IPL10

aix6 compiler doesn't allow // style comments


(cherry picked from commit 2ee2aa00bc689b7876dc589537a8f805d44eaef5)
2009-06-09 22:11:04 +00:00
Derrick Brashear
3cd793a46e DEVEL15-aix6-kernel-varargs-prototypes-ok-20090609
LICENSE IPL10

varargs style prototypes are ok in the aix6 kernel env


(cherry picked from commit 6794613924416dd542a1d54a9d692af396a0f0d9)
2009-06-09 22:06:15 +00:00
Mike Meffie
819b70958a DEVEL15-man-page-xstat-fs-test-20090608
LICENSE IPL10
FIXES 124905

Document xstat_fs_test collection 3, which returns callback statistics
from the file server (useful for tuning).


(cherry picked from commit 394243f3ae2dc5437b66d8f5afb393c2cfd1fb7b)
2009-06-08 23:41:28 +00:00
Derrick Brashear
12463ecb2c DEVEL15-dynroot-bad-merge-20090605
LICENSE IPL10

remove doubled code
2009-06-06 00:59:18 +00:00
Derrick Brashear
c10a91f638 DEVEL15-man-page-cellservdb-extras-20090605
LICENSE IPL10

Document linked cells and non-voting replicas in the CellServDB man page
and note the need for better linked cell documentation.


(cherry picked from commit 6d973e499acd598bbc3a4e131d14f9801b94fe71)
2009-06-05 19:23:02 +00:00
Derrick Brashear
0d5df1b1f4 DEVEL15-fsbnode-rename-unused-to-dummy-20090604
LICENSE IPL10

a prayer this will make hpu cc stop segving


(cherry picked from commit 3e65e3aee17c64a19c0a1ff4b9b7d99c0725b689)
2009-06-04 23:09:21 +00:00
Derrick Brashear
706501395a DEVEL15-aix51-no-userspace-pag-subsystem-20090604
LICENSE IPL10

getpagvalue() appeared post 5.1.


(cherry picked from commit 33e04c09a1f36281a6f37fdfd7b402426b9df5d4)
2009-06-04 21:51:21 +00:00
Russ Allbery
635e1116df DEVEL15-death-to-longc-procs-20060804
longc_procs.h was only used on Ultrix, about which we no longer care.
Delete it, its installation rules, and the places where we were including
it.


(cherry picked from commit f3a77810db0044bd0fc3df1101269ab42b365fef)
2009-06-04 17:12:40 +00:00
Andrew Deason
3ba2af1358 DEVEL15-ptserver-debug-flag-20090603
LICENSE IPL10
FIXES 124893

parse -d (debug) earlier in the ptserver argument parsing, so database
switch does not override it.


(cherry picked from commit 6124a81e791f54953ea4be3cf3588d9ccf5fb248)
2009-06-03 23:11:50 +00:00
Andrew Deason
86a6f8b4e5 DEVEL15-ptserver-procs-loglevels-20090603
LICENSE IPL10
FIXES 124894

make loglevels for create/delete match those for other pts operations


(cherry picked from commit d9d50fea986569dfaa3c3b6aee2e8c99f0d280e8)
2009-06-03 22:49:06 +00:00
Andrew Deason
a89563fa1e DEVEL15-ptserver-vicelog-missing-newlines-20090603
LICENSE IPL10
FIXES 124894

some ViceLog calls in ptserver were missing newlines. that's fixed.


(cherry picked from commit 4310874d8f8b83b8a2c5840880d4f35059c67ea7)
2009-06-03 22:44:03 +00:00
Douglas Engert
8edcd1fa09 DEVEL15-klog-krb5-avoid-freeing-garbage-20090603
LICENSE IPL10

avoid freeing garbage due to an uninitialized variable


(cherry picked from commit edfb415915bff06c055f58867695cbb37df626e1)
2009-06-03 21:58:19 +00:00
Derrick Brashear
5ea9f304ee DEVEL15-aix-pag-complaints-20090603
LICENSE IPL10

make the new code work properly, thanks to aix's complaints


(cherry picked from commit ec51165b5134b406eecfbb2b7d53b2a094f30256)
2009-06-03 16:14:05 +00:00
Derrick Brashear
13f4918551 DEVEL15-curpag-via-pioctl-20090603
LICENSE IPL10
FIXES 124709

curpag needs to know about kernel constructs (getpagvalue on AIX, onegroup
versus two group on linux) and on aix 5.1 simply can't work. add a new pioctl
and use it to simply ask the kernel what the current pag is


(cherry picked from commit 4af75fe96a9e4a985081d4af78439aeebabd6939)
2009-06-03 06:40:44 +00:00
Simon Wilkinson
027676ba87 DEVEL15-linux-allow-disabling-syscall-probing-20090602
LICENSE IPL10

give a configure switch to allow disabling syscall probing


(cherry picked from commit 091139b3e2160e1f56b11820d59589de9ccd9c40)
2009-06-02 19:31:57 +00:00
Derrick Brashear
1aa2c06aa3 DEVEL15-linux-locking-brace-fix-20090602
LICENSE IPL10

so regardless of which code branch we choose we work


(cherry picked from commit 521f4e6d473335ac8f7f265904bda7840fddad71)
2009-06-02 19:12:21 +00:00
Derrick Brashear
cc5faad5dc DEVEL15-vfsck-conditional-for-namei-20090602
LICENSE IPL10

make build fly again on solaris when namei and not inode is in play


(cherry picked from commit be47f4de0595dd044053695de3cdcedb2ec2a113)
2009-06-02 18:39:43 +00:00
Russ Allbery
8ff1e057bc DEVEL15-doc-man-page-install-variables-20090602
LICENSE BSD

We were horribly confused about variables when creating man page symlinks.
Be less confused by using variables less.


(cherry picked from commit 3ae35e12714bf4759d313086b17ef47bae1d7504)
2009-06-02 18:33:42 +00:00
simon@sxw.org.uk
11b2f40b3d DEVEL15-auth-cellconfig-overflow-20090601
LICENSE IPL10
FIXES 124891


(cherry picked from commit e89f90f7f17efc80c984b2858cd85a87f8cdfbf3)
2009-06-02 04:32:19 +00:00
Jason Edgecombe
02e264b954 DEVEL15-doc-admin-guide-updates-20090601
LICENSE BSD
FIXES 124889

Updates to chapter one of the Admin Guide.  Remove references to the
Authentication Server, add references to a Kerberos server, revise ntpd
parts to reflect the fact that OpenAFS doesn't ship ntpd, and removed
the distinction between the US and non-US versions of the Update Server.


(cherry picked from commit d7b3953a530a49edfed203d59194b3a293ed80b8)
2009-06-01 23:52:16 +00:00
Russ Allbery
c27a37a746 DEVEL15-doc-xml-build-cvsignore-20090601
LICENSE BSD

Ignore new generated files from the documentation build.


(cherry picked from commit e34fe0f9a85c0fa965fe30ead4c5ba14d077268f)
2009-06-01 23:46:47 +00:00