[Pvfs2-developers] patch: sys-create.sm bug fix

Phil Carns pcarns at wastedcycles.org
Fri Jun 15 12:12:03 EDT 2007


This is a very small patch- it just initializes a size variable in 
sys-create.sm before it gets inserted into the attribute cache.  I think 
this bug appeared in trunk sometime after the 1.6.3 release.

The simplest way that I found to trigger the problem was with a test 
program (compiled without large file support) that created a new file by 
calling open() in append mode.  On some machines this would result in an 
EFBIG error code from the open.  The problem was that sys-create would 
insert a garbage size (something very large) into the acache, and the 
subsequent getattr used to set the file pointer would find the offset to 
be larger than 2 GB.  The kernel interpreted this as a problem since the 
application was not large file aware.  Subsequent listings on the 
command line etc. would show that the file was really just had a size of 
zero as expected.

-Phil

-------------- next part --------------
Index: pvfs2_src/src/client/sysint/sys-create.sm
===================================================================
--- pvfs2_src/src/client/sysint/sys-create.sm	(revision 3582)
+++ pvfs2_src/src/client/sysint/sys-create.sm	(revision 3583)
@@ -899,7 +899,7 @@
                           job_status_s *js_p)
 {
     PVFS_object_ref metafile_ref;
-    PVFS_size tmp_size;
+    PVFS_size tmp_size = 0;
     int ret;
 
     gossip_debug(GOSSIP_CLIENT_DEBUG, "create state: cleanup\n");


More information about the Pvfs2-developers mailing list