Hi John,
Does this patch help?
Thanks,
Murali

On Wed, 23 Nov 2005, John Bent wrote:

>
> Hello,
>
> I'm only seeing pvfs2-fs-dump working successfully when the file system is
> empty.  If I write any files to /mnt/pvfs2, then pvfs2-fs-dump -m
> /mnt/pvfs2/ gets stuck in an infinite loop*:
>
> Datafile Handle 0 appears to be missing; skipping!
> Datafile Handle 0 appears to be missing; skipping!
> ....
>
> If I pvfs2-rm the files, then pvfs2-fs-dump resumes working.  I'm just
> running a basic two node cluster having accepted the default values
> generated by pvfs2-genconfig.  I've seen this in both 1.3.0 as well as
> from cvs 1.3.1pre1-2005-11-17-190554.
>
> John
>
> * Ok, I looked at the code, it is not infinite.  Just in a loop from 0 to
> 2981876.  So does getattr_resp.attr.dfile_count have a bad value somehow?
> _______________________________________________
> PVFS2-users mailing list
> [email protected]
> http://www.beowulf-underground.org/mailman/listinfo/pvfs2-users
>
>
Index: src/apps/admin/pvfs2-fs-dump.c
===================================================================
RCS file: /anoncvs/pvfs2/src/apps/admin/pvfs2-fs-dump.c,v
retrieving revision 1.38
diff -u -r1.38 pvfs2-fs-dump.c
--- src/apps/admin/pvfs2-fs-dump.c      11 Nov 2005 21:30:57 -0000      1.38
+++ src/apps/admin/pvfs2-fs-dump.c      23 Nov 2005 19:25:39 -0000
@@ -459,7 +459,7 @@
 
     for (i = 0; i < readdir_resp.pvfs_dirent_outcount; i++)
     {
-       int server_idx;
+       int server_idx, ret;
        char *cur_file;
        PVFS_handle cur_handle;
 
@@ -469,10 +469,15 @@
        entry_ref.handle = cur_handle;
        entry_ref.fs_id  = cur_fs;
 
-       PVFS_sys_getattr(entry_ref,
+       if ((ret = PVFS_sys_getattr(entry_ref,
                         PVFS_ATTR_SYS_ALL,
                         creds,
-                        &getattr_resp);
+                        &getattr_resp)) != 0)
+        {
+            printf("Could not get attributes of handle %llu [%d]\n",
+                    llu(cur_handle), ret);
+            continue;
+        }
 
 
        if (handlelist_find_handle(cur_handle, &server_idx) < 0)
@@ -530,6 +535,7 @@
     df_handles = (PVFS_handle *) malloc(df_count * sizeof(PVFS_handle));
     if (df_handles == NULL)
     {
+        printf("invalid value of number of datafiles = %d\n", df_count);
        assert(0);
     }
     ret = PVFS_mgmt_get_dfile_array(mf_ref, creds, df_handles, df_count);
Index: src/client/sysint/sys-getattr.sm
===================================================================
RCS file: /anoncvs/pvfs2/src/client/sysint/sys-getattr.sm,v
retrieving revision 1.88
diff -u -r1.88 sys-getattr.sm
--- src/client/sysint/sys-getattr.sm    11 Nov 2005 21:31:00 -0000      1.88
+++ src/client/sysint/sys-getattr.sm    23 Nov 2005 19:25:39 -0000
@@ -903,7 +903,7 @@
 
     /* special case for when users ask for dfile count */
     if(attr->objtype == PVFS_TYPE_METAFILE &&
-       sm_p->getattr.req_attrmask & PVFS_ATTR_SYS_DFILE_COUNT)
+       sm_p->getattr.req_attrmask & PVFS_ATTR_META_DFILES)
     {
         sysresp->attr.dfile_count = attr->u.meta.dfile_count;
     }
_______________________________________________
PVFS2-users mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-users

Reply via email to