Commit Graph

5889 Commits

Author SHA1 Message Date
Jeffrey Altman
b45838ca82 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().
2009-06-24 16:15:39 +00:00
Jeffrey Altman
74d49eb2c6 windows-config-amd64-20090624
LICENSE MIT

amd64 uses 64-bit pointers.  Define AFS_64BITPOINTER_ENV.
2009-06-24 15:47:29 +00:00
Marc Dionne
b02e22b5f0 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
2009-06-22 16:25:23 +00:00
Jeffrey Altman
0200a40061 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.
2009-06-19 04:08:08 +00:00
Jeffrey Altman
cfe1f5676d windows-netidmgr-20090617
LICENSE MIT

permit building with a broader range of visual studio versions
2009-06-18 06:04:29 +00:00
Jeffrey Altman
f310847d2d windows-testcellconf-20090617
LICENSE MIT

make testcellconf work on Windows
2009-06-18 00:45:36 +00:00
Jeffrey Altman
3af8eafae6 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.
2009-06-16 23:40:38 +00:00
Jeffrey Altman
377b8c176f 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.
2009-06-16 23:37:49 +00:00
Jeffrey Altman
4bf09a2ebf windows-netidmgr-cell-search-registry-20090616
LICENSE MIT

Forgot to update the afs provider to support registry based cellservdb
lookups
2009-06-16 22:57:08 +00:00
Andrew Deason
e44c38c423 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
2009-06-16 19:09:43 +00:00
Derrick Brashear
a44bee5615 afs-snrpintf-support-percentp-for-ptrs-20090616
LICENSE IPL10

so we can portably log pointers
2009-06-16 19:08:11 +00:00
Jeffrey Altman
82d9807e22 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.
2009-06-16 05:59:22 +00:00
Jeffrey Altman
81c9b8c0c4 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.
2009-06-16 05:56:19 +00:00
Simon Wilkinson
c41a467741 gitignore-20090615
LICENSE IPL10

make gitignore files
2009-06-15 23:29:29 +00:00
Jeffrey Altman
3e26e46b66 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.
2009-06-15 14:47:00 +00:00
Jeffrey Altman
a79ce67d7a 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.
2009-06-15 02:57:17 +00:00
Jeffrey Altman
88ef4fb720 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.
2009-06-15 02:02:59 +00:00
Jeffrey Altman
571dc5edbe 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.
2009-06-15 01:56:22 +00:00
Derrick Brashear
a7f9ce9ce1 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.
2009-06-11 20:39:53 +00:00
Andrew Deason
27cbb188bd 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.
2009-06-11 15:25:15 +00:00
Andrew Deason
2c755529c7 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.
2009-06-11 15:19:15 +00:00
Jeffrey Altman
ae1923e362 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
2009-06-10 18:08:19 +00:00
Derrick Brashear
796dbb891b aix-dest-make-audit-object-dir-20090609
LICENSE IPL10

now make dest works on aix 6 again
2009-06-09 22:34:54 +00:00
Derrick Brashear
e87be8c579 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!
2009-06-09 22:30:28 +00:00
Derrick Brashear
2ee2aa00bc excise-cplusplus-comments-from-kernel-20090609
LICENSE IPL10

aix6 compiler doesn't allow // style comments
2009-06-09 22:10:54 +00:00
Derrick Brashear
6794613924 aix6-kernel-varargs-prototypes-ok-20090609
LICENSE IPL10

varargs style prototypes are ok in the aix6 kernel env
2009-06-09 22:05:20 +00:00
Jeffrey Altman
37e1cd2319 windows-freelance-default-cell-20090609
LICENSE MIT

If a freelance mount point does not specify a cell name, default to
the workstation cell.
2009-06-09 21:11:04 +00:00
Derrick Brashear
22fb6954e0 aix6-tsm41-makefile-flub-20090609
LICENSE IPL10

add missing quoting
2009-06-09 20:25:47 +00:00
Derrick Brashear
a861474787 tsm41-makefile-fix-20090609
LICENSE IPL10

fix form of case statement in makefile for tsm41
2009-06-09 14:46:51 +00:00
Jeffrey Altman
2033fa9ec6 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.
2009-06-09 00:58:10 +00:00
Mike Meffie
394243f3ae 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).
2009-06-08 23:39:51 +00:00
Jeffrey Altman
f5b74d9fbc 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.
2009-06-08 23:09:19 +00:00
Jeffrey Altman
7bf6fd6bcb 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".
2009-06-08 22:42:01 +00:00
Derrick Brashear
ddaf2d5de4 aix-kopenafs-also-correct-directory-20090608
LICENSE IPL10

also make this include syscall.s from the right place.
2009-06-08 20:47:14 +00:00
Derrick Brashear
e3b4b25d4f kopenafs-set-sflags-20090607
LICENSE IPL10

make kopenafs build on aix
2009-06-08 05:44:23 +00:00
Jeffrey Altman
dad31c8ca5 windows-notes-20090607
LICENSE MIT

synchronize with the 1.5 branch
2009-06-08 03:34:28 +00:00
Jeffrey Altman
9a1328b921 windows-sync-head-with-1_5-20090607
LICENSE MIT

Synchronize the build system from 1.5 branch to the head
2009-06-08 03:15:12 +00:00
Jeffrey Altman
5bd88cfa6b doc-man-pages-windows-20090607
LICENSE MIT

dpass and package docs removed from repository.
do not attempt to build them.
2009-06-08 03:08:33 +00:00
Jeffrey Altman
bada49cff9 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.
2009-06-08 02:22:09 +00:00
Derrick Brashear
d5d6976a64 viced-cblater-unmark-20090605
LICENSE IPL10

make things match 1.5.x: unmark entries FE_LATER when they get unchained
2009-06-06 01:10:46 +00:00
Derrick Brashear
575d48538f darwin-rx-netreceive-fix-20090605
LICENSE IPL10

put back code that went missing post-rxtcp
2009-06-06 01:08:57 +00:00
Derrick Brashear
527c488611 aix-kopenafs-cpp-20090605
LICENSE IPL10

build syscall.o on aix the same way we do in libsys
2009-06-06 00:36:20 +00:00
Derrick Brashear
6d973e499a 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.
2009-06-05 19:17:13 +00:00
Derrick Brashear
ee2d4a858b death-to-docs-20090605
LICENSE IPL10

docs now built from doc/xml; kill the other copies of same
2009-06-05 16:50:10 +00:00
Derrick Brashear
3e65e3aee1 fsbnode-rename-unused-to-dummy-20090604
LICENSE IPL10

a prayer this will make hpu cc stop segving
2009-06-04 23:09:11 +00:00
Derrick Brashear
33e04c09a1 aix51-no-userspace-pag-subsystem-20090604
LICENSE IPL10

getpagvalue() appeared post 5.1.
2009-06-04 21:50:33 +00:00
Derrick Brashear
6548715833 pam-build-dont-fail-on-link-problems-20090604
LICENSE IPL10

linking static objects into shared works badly on some platforms. deal by not
breaking the build, for now
2009-06-04 21:30:45 +00:00
Derrick Brashear
17ccfb4fa5 solaris-fs-conv-needs-ihandle-20090604
LICENSE IPL10

FD_t defined in ihandle.h; include it here
2009-06-04 19:05:40 +00:00
Derrick Brashear
72d314f001 kopenafs-syscall-object-dependency-20090604
LICENSE IPL10

cause syscall.o to build
2009-06-04 17:18:07 +00:00
Derrick Brashear
64a1b3101f unroll-experimental-rx-20090603
LICENSE IPL10

reconverge Rx with that in 1.5.x in prep for git
2009-06-04 00:15:05 +00:00