Changeset 9332

Show
Ignore:
Timestamp:
06/12/12 08:39:31 (12 months ago)
Author:
wolf
Message:

added option to print handles in hex

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/stable/src/apps/devel/pvfs2-db-display.c

    r9064 r9332  
    4444} options_t; 
    4545 
     46/* globals */ 
    4647static options_t opts; 
     48int hex = 0; 
    4749 
    4850int open_db( DB **db_p, char *path, int type, int flags); 
     
    241243    k = key.data; 
    242244    v = *(int32_t *)val.data; 
    243     printf("(%s)(%d) -> (%d)(%d)\n", k, key.size, v, val.size); 
     245    if (hex)  
     246        printf("(%s)(%d) -> (%x)(%d)\n", k, key.size, v, val.size); 
     247    else 
     248        printf("(%s)(%d) -> (%d)(%d)\n", k, key.size, v, val.size); 
    244249    return; 
    245250} 
     
    251256    k = key.data; 
    252257    v = *(int32_t *)val.data; 
    253     printf("(%s)(%d) -> (%d)(%d)\n", k, key.size, v, val.size); 
     258    if (hex)  
     259        printf("(%s)(%d) -> (%x)(%d)\n", k, key.size, v, val.size); 
     260    else 
     261        printf("(%s)(%d) -> (%d)(%d)\n", k, key.size, v, val.size); 
    254262    return; 
    255263} 
     
    263271    v = val.data; 
    264272 
    265     printf("(%llu)(%d) -> ", llu(k), key.size); 
     273    if (hex) 
     274        printf("(%llx)(%d) -> ", llu(k), key.size); 
     275    else 
     276        printf("(%llu)(%d) -> ", llu(k), key.size); 
    266277  
    267278    print_ds_type( v->type ); 
    268279 
    269     printf("(fsid: %d)(handle: %llu)(uid: %u)(gid: %u)" 
     280    if (hex) { 
     281        printf("(fsid: %d)(handle: %llx)(uid: %u)(gid: %u)" 
    270282           "(perm: %u)(ctime: %llu)(mtime: %llu)(atime: %llu)(%d)\n",  
    271283           v->fs_id, llu(v->handle), v->uid, v->gid, v->mode, 
    272284           llu(v->ctime), llu(v->mtime), llu(v->atime), val.size); 
     285    }  
     286    else { 
     287        printf("(fsid: %d)(handle: %llu)(uid: %u)(gid: %u)" 
     288           "(perm: %u)(ctime: %llu)(mtime: %llu)(atime: %llu)(%d)\n",  
     289           v->fs_id, llu(v->handle), v->uid, v->gid, v->mode, 
     290           llu(v->ctime), llu(v->mtime), llu(v->atime), val.size); 
     291    } 
    273292 
    274293    /* union elements are not printed */ 
     
    284303 
    285304    k = key.data; 
    286     printf("(%llu)", llu(k->handle)); 
     305    if (hex) 
     306        printf("(%llx)", llu(k->handle)); 
     307    else 
     308        printf("(%llu)", llu(k->handle)); 
    287309    if( key.size == 8 ) 
    288310    { 
     
    292314    { 
    293315        kh = *(uint64_t *)k->key; 
    294         printf("(%llu)(%d) -> ", llu(kh), key.size); 
     316        if (hex) 
     317            printf("(%llx)(%d) -> ", llu(kh), key.size); 
     318        else 
     319            printf("(%llu)(%d) -> ", llu(kh), key.size); 
    295320    } 
    296321    else 
     
    305330        { 
    306331            vh = *(uint64_t *)(val.data + s); 
    307             printf("(%llu)", llu(vh)); 
     332            if (hex) 
     333                printf("(%llx)", llu(vh)); 
     334            else 
     335                printf("(%llu)", llu(vh)); 
    308336            s += sizeof(TROVE_handle); 
    309337        } 
     
    326354        /* should be cases of filename to handle */ 
    327355        vh = *(uint64_t *)val.data; 
    328         printf("(%llu)(%d)\n", llu(vh), val.size ); 
     356        if (hex) 
     357            printf("(%llx)(%d)\n", llu(vh), val.size ); 
     358        else 
     359            printf("(%llu)(%d)\n", llu(vh), val.size ); 
    329360    } 
    330361  
     
    332363    { 
    333364        vi = *(uint32_t *)val.data; 
    334         printf("(%u)(%d)\n", vi, val.size ); 
     365        if (hex) 
     366            printf("(%x)(%d)\n", vi, val.size ); 
     367        else 
     368            printf("(%u)(%d)\n", vi, val.size ); 
    335369    } 
    336370/* 
     
    370404    { 
    371405        vu = *(uint64_t *)val.data; 
    372         printf("(%llu)(%d)\n", llu(vu), val.size); 
     406        if (hex) 
     407            printf("(%llx)(%d)\n", llu(vu), val.size); 
     408        else 
     409            printf("(%llu)(%d)\n", llu(vu), val.size); 
    373410    } 
    374411    else 
     
    389426        {"dbpath",1,0,0}, 
    390427        {"hexdir",1,0,0}, 
     428        {"hexhandles",0,0,0}, 
    391429        {0,0,0,0} 
    392430    }; 
     
    410448            case 3: /* hexdir */ 
    411449                strncpy(opts.hexdir, optarg, PATH_MAX); 
     450                break; 
     451            case 4: /* hexhandles */ 
     452                hex = 1; 
    412453                break; 
    413454            default: 
     
    448489                    "\t--verbose\t\tEnable verbose output\n" 
    449490                    "\t--help\t\t\tThis message.\n" 
     491                    "\t--hexhandles\t\tPrint handles in hex\n" 
    450492                    "\t--dbpath <path>\t\tThe path of the server's " 
    451493                    "StorageSpace. The path\n\t\t\t\tshould contain "