Committed a fix Phil. Thanks!
-sam
On Jun 15, 2007, at 11:12 AM, Phil Carns wrote:
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
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");
_______________________________________________
Pvfs2-developers mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers
_______________________________________________
Pvfs2-developers mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers