X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=direct%2Fbasic-test%2Fdtest.c;h=e6a0a146916cc38be18b08fa0f20022b20d48487;hp=f272f0c5957680c420826122bba198256793ae55;hb=757a553001be4016e9c5d8880648d3703f34b10e;hpb=e33554a67753729f6b74677473cf0ec3b8d35a7e diff --git a/direct/basic-test/dtest.c b/direct/basic-test/dtest.c index f272f0c..e6a0a14 100644 --- a/direct/basic-test/dtest.c +++ b/direct/basic-test/dtest.c @@ -531,7 +531,7 @@ void dumpDirFollow(const char *dname) { sprintf(str,"%s/%s",dname,de->d_name); - yaffs_stat(str,&s); + yaffs_lstat(str,&s); printf("%s ino %d length %d mode %X ",de->d_name,(int)s.st_ino,(int)s.st_size,s.st_mode); switch(s.st_mode & S_IFMT) @@ -741,7 +741,7 @@ int long_test(int argc, char *argv[]) dumpDir("/boot"); // Check stat - r = yaffs_stat("/boot/file with a long name",&ystat); + r = yaffs_lstat("/boot/file with a long name",&ystat); // Check rename @@ -828,7 +828,7 @@ int long_test(int argc, char *argv[]) // Check chmod - yaffs_stat("/boot/yyfile",&ystat); + yaffs_lstat("/boot/yyfile",&ystat); temp_mode = ystat.st_mode; yaffs_chmod("/boot/yyfile",0x55555); @@ -1094,12 +1094,12 @@ int root_perm_remount(const char *path) yaffs_mount(path); - yaffs_stat(path,&s); + yaffs_lstat(path,&s); printf("root perms after mount %x\n",s.st_mode); yaffs_chmod(path, 0777); - yaffs_stat(path,&s); + yaffs_lstat(path,&s); printf("root perms after setting to 0777 is %x\n",s.st_mode); yaffs_unmount(path); @@ -2516,7 +2516,7 @@ static void print_xattrib_val(const char *path, const char *name) n = yaffs_getxattr(path,name,buffer,sizeof(buffer)); if(n >= 0){ - __u8 *b = (__u8 *)buffer; + u8 *b = (u8 *)buffer; printf("%d bytes:",n); if(n > 10) @@ -2642,15 +2642,15 @@ void big_xattr_test(const char *mountpt) } -void dump_dev_stats(yaffs_Device *dev, const char * str) +void dump_dev_stats(struct yaffs_dev *dev, const char * str) { printf("%s\n",str); printf( "space free %d erased %d " "nand reads %d writes %d erases %d " "gc all %d passive %d oldestdirty %d blocks %d copies %d \n", - dev->nFreeChunks, dev->nErasedBlocks * dev->param.nChunksPerBlock, - dev->nPageReads, dev->nPageWrites, dev->nBlockErasures, - dev->allGCs, dev->passiveGCs, dev->oldestDirtyGCs, dev->nGCBlocks, dev->nGCCopies); + dev->n_free_chunks, dev->n_erased_blocks * dev->param.chunks_per_block, + dev->n_page_reads, dev->n_page_writes, dev->n_erasures, + dev->all_gcs, dev->passive_gc_count, dev->oldest_dirty_gc_count, dev->n_gc_blocks, dev->n_gc_copies); } void test_flash_traffic(const char *mountpt) @@ -2658,7 +2658,7 @@ void test_flash_traffic(const char *mountpt) char name0[100]; char name1[100]; int i; - yaffs_Device *dev; + struct yaffs_dev *dev; yaffs_trace_mask = 0; @@ -2683,6 +2683,34 @@ void test_flash_traffic(const char *mountpt) } +void link_follow_test(const char *mountpt) +{ + char fn[100]; + char sn[100]; + char hn[100]; + int result; + int h; + + yaffs_trace_mask = 0; + + yaffs_start_up(); + + yaffs_mount(mountpt); + + sprintf(fn,"%s/file",mountpt); + sprintf(sn,"%s/sym",mountpt); + sprintf(hn,"%s/hl-sym",mountpt); + + h = yaffs_open(fn,O_CREAT| O_RDWR, S_IREAD | S_IWRITE); + result = yaffs_close(h); + + result = yaffs_symlink(fn,sn); + result = yaffs_link(sn,hn); + + h =yaffs_open(hn,O_RDWR,0); + +} + int random_seed; int simulate_power_failure; @@ -2747,6 +2775,7 @@ int main(int argc, char *argv[]) //null_name_test("yaffs2"); test_flash_traffic("yaffs2"); + link_follow_test("/yaffs2"); return 0;