[Pvfs2-developers] patches: bug fixes
Phil Carns
pcarns at wastedcycles.org
Wed Jun 7 11:54:02 EDT 2006
All of the patches listed in this email are limited scope- they just fix
specific bugs and don't make any protocol or storage format changes:
pvfs2-kernel-permissions.patch:
-----------
The pvfs2_permission() function is significantly different (due to
#ifdefs) based on whether or not the kernel provides a
generic_permission() function which was introduced around 2.6.10. The
code path that gets triggered for kernel versions < 2.6.10 has to
duplicate a good bit of permission checking functionality, but it got a
few details wrong. This patch corrects that, based on examples from the
old vfs_permission() function and how NFS implemented ACL support before
generic_permission() was available. There are a set of about 5 or so
LTP file system tests that will not pass on 2.6.9 with PVFS2 unless this
patch is applied.
sys-remove-crdirent.patch:
-----------
There is a corner case in sys-remove in which if an operation fails,
sys-remove has to replace a directory entry. The msgpair setup for this
operation was using the wrong handle to determine which server to send
the request to, however, so the request is sent to the server holding
the removed object rather than the server holding the parent directory.
The doesn't trigger a problem unless a) you use multiple meta servers
and b) you have the misfortune of triggering this sys-remove error case.
balance-io-servers.patch:
-----------
The PINT_cached_config_next_io() function uses a round robin algorithm
to pick the next set of I/O servers to use when creating files. The
logic had a subtle flaw though. If you use all I/O servers (as most
people do), then the I/O server slection is balanced. However, if you
configure the file system to use only one datafile, it would result in
every other server being skipped. If the number of total number of
servers is even, then the wrap-around lines up every time to make it so
that half of the servers pretty much stay overloaded in terms of I/O
traffic. This patch corrects the round robin algorithm to make sure
that every I/O server is used fairly, so that we are balanced regardless
of how many datafiles are used. I can give a more detailed explanation
of what went wrong here if needed (I think I am the one that introduced
the problem).
env-shmem-cleanup.patch:
-----------
This patch makes 3 improvements to the berkeley db cache usage:
- use the port number of the server's host id as a component of the
shmem key to use (if shmem style caching is in effect). This insures
that if 2 servers are started on the same server, they will not use the
same shmem region.
- on startup, always forcibly remove any old environment remnants before
opening the environment. This makes sure that if the previous server
instance died unexpectedly, the leftover __db.* files won't interfere
with anything. These old files don't serve any purpose for the next
pvfs2-server run, especially without transactions.
- look for a particular error code on env open that could be an
indicator that the cache size was too big for the RAM size of the
machine, and print a warning message.
test-chown-sudo.patch
-----------
This fixes a minor bug in how sudo is handled in test programs related
to the chown() operation.
test-sgid-error-msg.patch
-----------
This patch adds a clearer error message if test-setgid fails because of
bad arguments.
-Phil
-------------- next part --------------
A non-text attachment was scrubbed...
Name: balance-io-servers.patch
Type: text/x-patch
Size: 1675 bytes
Desc: not available
Url : http://www.beowulf-underground.org/pipermail/pvfs2-developers/attachments/20060607/f81ac8ac/balance-io-servers-0001.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: env-shmem-cleanup.patch
Type: text/x-patch
Size: 6227 bytes
Desc: not available
Url : http://www.beowulf-underground.org/pipermail/pvfs2-developers/attachments/20060607/f81ac8ac/env-shmem-cleanup-0001.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pvfs2-kernel-permissions.patch
Type: text/x-patch
Size: 4550 bytes
Desc: not available
Url : http://www.beowulf-underground.org/pipermail/pvfs2-developers/attachments/20060607/f81ac8ac/pvfs2-kernel-permissions-0001.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sys-remove-crdirent.patch
Type: text/x-patch
Size: 737 bytes
Desc: not available
Url : http://www.beowulf-underground.org/pipermail/pvfs2-developers/attachments/20060607/f81ac8ac/sys-remove-crdirent-0001.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test-chown-sudo.patch
Type: text/x-patch
Size: 488 bytes
Desc: not available
Url : http://www.beowulf-underground.org/pipermail/pvfs2-developers/attachments/20060607/f81ac8ac/test-chown-sudo-0001.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test-sgid-error-msg.patch
Type: text/x-patch
Size: 401 bytes
Desc: not available
Url : http://www.beowulf-underground.org/pipermail/pvfs2-developers/attachments/20060607/f81ac8ac/test-sgid-error-msg-0001.bin
More information about the Pvfs2-developers
mailing list