[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