2 * YAFFS: Yet another FFS. A NAND-flash specific file system.
4 * Copyright (C) 2002-2018 Aleph One Ltd.
6 * Created by Timothy Manning <timothy@yaffs.net>
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
21 struct bovver_context *bc = (struct bovver_context *)x;
28 struct yaffs_stat stat_buffer;
35 i = rand() % BOVVER_HANDLES;
36 op = rand() % bc->opMax;
37 pos = rand() & 20000000;
43 sprintf(name, "%s/xx%d",bc->baseDir,n);
44 sprintf(name1,"%s/xx%d",bc->baseDir,n1);
52 yaffs_close(bc->h[i]);
61 bc->h[i] = yaffs_open(name,O_CREAT| O_RDWR, 0666);
67 yaffs_lseek(bc->h[i],pos,SEEK_SET);
68 yaffs_write(bc->h[i],name,n);
79 yaffs_rename(name,name1);
84 yaffs_mkdir(name,0666);
100 yaffs_fsync(bc->h[i]);
107 yaffs_fdatasync(bc->h[i]);
114 yaffs_flush(bc->h[i]);
121 if((bc->h[i]>= 0) && (bc->h[i+1] < 0)){
122 bc->h[i+1]=yaffs_dup(bc->h[i]);
129 yaffs_ftruncate(bc->h[i],n);
137 yaffs_fstat(bc->h[i],&stat_buffer);
138 yaffs_fchmod(bc->h[i], n);
139 yaffs_fchmod(bc->h[i], ((S_IREAD|S_IWRITE)&(stat_buffer.st_mode)));
145 yaffs_stat(name,&stat_buffer);
146 yaffs_chmod(name, n);
147 yaffs_chmod(name, ((S_IREAD|S_IWRITE)&(stat_buffer.st_mode)));
153 yaffs_lstat(name,&stat_buffer);
159 yaffs_read(bc->h[i],name,n);
166 yaffs_pread(bc->h[i],name,n,n1);
173 yaffs_write(bc->h[i],name,n);
180 yaffs_pwrite(bc->h[i],name,n,n1);
187 yaffs_truncate(name,n);
194 yaffs_access(name,n);
201 yaffs_symlink(name,name1);
208 yaffs_link(name,name1);