[Pvfs2-developers] patches: misc. bug fixes
Phil Carns
pcarns at wastedcycles.org
Wed Oct 3 09:13:07 EDT 2007
pvfs2-aio-cancel.patch
----------------------
This patch fixes a bug in the I/O cleanup path on the server side. In
cases where a flow needed to cancel pending I/O operations, the trove
cancel function was calling aio_cancel() directly. This doesn't work
correctly if the alt-aio implementation is used.
pvfs2-root-squash-address.patch
-------------------------------
This fixes a bug in the root squash checking on the server side. The
routine that compares a client address against the root squash list was
using getsockname() rather than getpeername(). The former retrieves the
server's address rather than the client's.
pvfs2-ls-rm.patch
-----------------
This is an interim fix for the concurrent "rm -rf" and "ls" problem that
was recently discussed on the mailing list. It sounds like the long
term direction is to switch to using entry names as dirent tokens, but
this patch fixes the majority of cases in the mean time without a
protocol change. The problem in the case I was seeing was a cache
conflict between the two clients (the ls was caching tokens in the
pcache that caused rm to get the wrong position). The token is 64 bits
wide, but only the first 32 bits are used (the START and END values are
near the top of the 32 bit range). This patch takes advantage of the
extra top 32 bits on the server side to set a unique identifier in the
token for each "readdir session" so that their cache entries do not
collide. The client is not aware of this change because it treats the
token as an opaque value. A readdir session begins when a client
requests the START position.
pvfs2-client-buffer-logging.patch
---------------------------------
I don't know if there is any interest in this, but this adds some
debugging to the buffers used in the kernel module. On startup,
pvfs2-client will print the buffer pointers (whether debugging is
enabled or not). There are also new debugging messages that will show
the first byte of each memory buffer passing through the kernel if
enabled. These logging messages were added to help track down what
ended up being a server side problem (see pvfs2-aio-cancel.patch), but
we kept it in case it is useful in the future.
pvfs2-concurrent-dirent-ops.patch
---------------------------------
I don't know that this is useful for anyone, but we are posting it just
in case. This patch will disable the request scheduler optimization
that allows concurrent rmdirent and crdirent operations on a given
directory. When this optimization was originally introduced, we found
some problems with consistency if two clients attempted to create and
delete the same file name at the same time (sorry, I can't find the
mailing list posting on this right now, but I remember discussing it).
We don't know if this is still a problem or not, but we have still been
running with this optimization disabled as a safety precaution.
-Phil
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pvfs2-aio-cancel.patch
Type: text/x-patch
Size: 893 bytes
Desc: not available
Url : http://www.beowulf-underground.org/pipermail/pvfs2-developers/attachments/20071003/8fa4f18f/pvfs2-aio-cancel.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pvfs2-client-buffer-logging.patch
Type: text/x-patch
Size: 3946 bytes
Desc: not available
Url : http://www.beowulf-underground.org/pipermail/pvfs2-developers/attachments/20071003/8fa4f18f/pvfs2-client-buffer-logging.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pvfs2-concurrent-dirent-ops.patch
Type: text/x-patch
Size: 674 bytes
Desc: not available
Url : http://www.beowulf-underground.org/pipermail/pvfs2-developers/attachments/20071003/8fa4f18f/pvfs2-concurrent-dirent-ops.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pvfs2-ls-rm.patch
Type: text/x-patch
Size: 1362 bytes
Desc: not available
Url : http://www.beowulf-underground.org/pipermail/pvfs2-developers/attachments/20071003/8fa4f18f/pvfs2-ls-rm.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pvfs2-root-squash-address.patch
Type: text/x-patch
Size: 883 bytes
Desc: not available
Url : http://www.beowulf-underground.org/pipermail/pvfs2-developers/attachments/20071003/8fa4f18f/pvfs2-root-squash-address.bin
More information about the Pvfs2-developers
mailing list