Changeset acfdcb0 in mainline
- Timestamp:
- 2008-01-27T19:11:40Z (17 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 43b1e86
- Parents:
- f7017572
- Location:
- uspace
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/tester/vfs/vfs1.c
rf7017572 racfdcb0 45 45 { 46 46 if (mount("tmpfs", "/", "nulldev0") != EOK) 47 return "Mount failed.\n"; 47 return "mount() failed.\n"; 48 if (!quiet) 49 printf("mounted tmpfs on /.\n"); 48 50 49 51 if (mkdir("/mydir", 0) != 0) 50 52 return "mkdir() failed.\n"; 51 53 if (!quiet) 52 printf(" Created directory /mydir\n");54 printf("created directory /mydir\n"); 53 55 54 56 int fd0 = open("/mydir/myfile", O_CREAT); … … 56 58 return "open() failed.\n"; 57 59 if (!quiet) 58 printf(" Created /mydir/myfile, handle=%d\n", fd0);60 printf("created file /mydir/myfile, fd=%d\n", fd0); 59 61 60 62 ssize_t cnt; … … 64 66 return "write() failed.\n"; 65 67 if (!quiet) 66 printf(" Written %d btyes to handle %d.\n", cnt, fd0);68 printf("written %d bytes, fd=%d\n", cnt, fd0); 67 69 if (lseek(fd0, 0, SEEK_SET) != 0) 68 70 return "lseek() failed.\n"; 71 if (!quiet) 72 printf("sought to position 0, fd=%d\n", fd0); 73 74 char buf[10]; 75 76 cnt = read(fd0, buf, sizeof(buf)); 77 if (cnt < 0) 78 return "read() failed.\n"; 79 80 if (!quiet) 81 printf("read %d bytes: \"%.*s\", fd=%d\n", cnt, cnt, buf, fd0); 69 82 70 83 DIR *dirp; … … 75 88 return "opendir() failed."; 76 89 while ((dp = readdir(dirp))) 77 printf(" Discovered %s\n", dp->d_name);90 printf("discovered node %s in /\n", dp->d_name); 78 91 closedir(dirp); 79 80 int fd1 = open("/dir1/file1", O_RDONLY);81 int fd2 = open("/dir2/file2", O_RDONLY);82 83 if (fd1 < 0)84 return "open() failed.\n";85 if (fd2 < 0)86 return "open() failed.\n";87 88 if (!quiet)89 printf("Opened file descriptors %d and %d.\n", fd1, fd2);90 91 char buf[10];92 93 cnt = read(fd0, buf, sizeof(buf));94 if (cnt < 0)95 return "read() failed.\n";96 97 if (!quiet)98 printf("Read %d bytes from handle %d: %.*s\n", cnt, fd0, cnt,99 buf);100 101 cnt = read(fd1, buf, sizeof(buf));102 if (cnt < 0)103 return "read() failed.\n";104 105 if (!quiet)106 printf("Read %d bytes from handle %d: %.*s\n", cnt, fd1, cnt,107 buf);108 92 109 93 return NULL; -
uspace/srv/fs/tmpfs/tmpfs_ops.c
rf7017572 racfdcb0 122 122 root->type = TMPFS_DIRECTORY; 123 123 hash_table_insert(&dentries, &root->index, &root->dh_link); 124 125 /*126 * This is only for debugging. Once we can create files and directories127 * using VFS, we can get rid of this.128 */129 tmpfs_dentry_t *d;130 d = (tmpfs_dentry_t *) malloc(sizeof(tmpfs_dentry_t));131 if (!d) {132 free(root);133 root = NULL;134 return false;135 }136 tmpfs_dentry_initialize(d);137 d->index = tmpfs_next_index++;138 root->child = d;139 d->parent = root;140 d->type = TMPFS_DIRECTORY;141 d->name = "dir1";142 hash_table_insert(&dentries, &d->index, &d->dh_link);143 144 d = (tmpfs_dentry_t *) malloc(sizeof(tmpfs_dentry_t));145 if (!d) {146 free(root->child);147 free(root);148 root = NULL;149 return false;150 }151 tmpfs_dentry_initialize(d);152 d->index = tmpfs_next_index++;153 root->child->sibling = d;154 d->parent = root;155 d->type = TMPFS_DIRECTORY;156 d->name = "dir2";157 hash_table_insert(&dentries, &d->index, &d->dh_link);158 159 d = (tmpfs_dentry_t *) malloc(sizeof(tmpfs_dentry_t));160 if (!d) {161 free(root->child->sibling);162 free(root->child);163 free(root);164 root = NULL;165 return false;166 }167 tmpfs_dentry_initialize(d);168 d->index = tmpfs_next_index++;169 root->child->child = d;170 d->parent = root->child;171 d->type = TMPFS_FILE;172 d->name = "file1";173 d->data = "This is the contents of /dir1/file1.\n";174 d->size = strlen(d->data);175 hash_table_insert(&dentries, &d->index, &d->dh_link);176 177 d = (tmpfs_dentry_t *) malloc(sizeof(tmpfs_dentry_t));178 if (!d) {179 free(root->child->sibling);180 free(root->child->child);181 free(root->child);182 free(root);183 root = NULL;184 return false;185 }186 tmpfs_dentry_initialize(d);187 d->index = tmpfs_next_index++;188 root->child->sibling->child = d;189 d->parent = root->child->sibling;190 d->type = TMPFS_FILE;191 d->name = "file2";192 d->data = "This is the contents of /dir2/file2.\n";193 d->size = strlen(d->data);194 hash_table_insert(&dentries, &d->index, &d->dh_link);195 124 196 125 return true;
Note:
See TracChangeset
for help on using the changeset viewer.