p->freq = 0;
}
+void inode_info(char *str, size_t sz, struct stat64 *s, int verbose)
+{
+ if (verbose)
+ snprintf(str, sz, "[%ld %ld %d %d %lld %lld]", (long)s->st_ino,
+ (long)s->st_nlink, s->st_uid, s->st_gid,
+ (long long) s->st_blocks, (long long) s->st_size);
+}
+
void
allocsp_f(int opno, long r)
{
off64_t off;
struct stat64 stb;
int v;
+ char st[1024];
init_pathname(&f);
if (!get_fname(FT_REGFILE, r, &f, NULL, NULL, &v)) {
close(fd);
return;
}
+ inode_info(st, sizeof(st), &stb, v);
lr = ((__int64_t)random() << 32) + random();
off = (off64_t)(lr % MIN(stb.st_size + (1024 * 1024), MAXFSIZE));
off %= maxfsize;
fl.l_start = off;
fl.l_len = 0;
e = xfsctl(f.path, fd, XFS_IOC_ALLOCSP64, &fl) < 0 ? errno : 0;
- if (v)
- printf("%d/%d: xfsctl(XFS_IOC_ALLOCSP64) %s %lld 0 %d\n",
- procid, opno, f.path, (long long)off, e);
+ if (v) {
+ printf("%d/%d: xfsctl(XFS_IOC_ALLOCSP64) %s%s %lld 0 %d\n",
+ procid, opno, f.path, st, (long long)off, e);
+ }
free_pathname(&f);
close(fd);
}
off64_t off;
struct stat64 stb;
int v;
+ char st[1024];
init_pathname(&f);
if (!get_fname(FT_REGFILE, r, &f, NULL, NULL, &v)) {
if (fstat64(fd, &stb) < 0) {
if (v)
printf("%d/%d: dread - fstat64 %s failed %d\n",
- procid, opno, f.path, errno);
+ procid, opno, f.path, errno);
free_pathname(&f);
close(fd);
return;
}
+ inode_info(st, sizeof(st), &stb, v);
if (stb.st_size == 0) {
if (v)
- printf("%d/%d: dread - %s zero size\n", procid, opno,
- f.path);
+ printf("%d/%d: dread - %s%s zero size\n", procid, opno,
+ f.path, st);
free_pathname(&f);
close(fd);
return;
if (xfsctl(f.path, fd, XFS_IOC_DIOINFO, &diob) < 0) {
if (v)
printf(
- "%d/%d: dread - xfsctl(XFS_IOC_DIOINFO) %s failed %d\n",
- procid, opno, f.path, errno);
+ "%d/%d: dread - xfsctl(XFS_IOC_DIOINFO) %s%s failed %d\n",
+ procid, opno, f.path, st, errno);
free_pathname(&f);
close(fd);
return;
e = read(fd, buf, len) < 0 ? errno : 0;
free(buf);
if (v)
- printf("%d/%d: dread %s [%lld,%d] %d\n",
- procid, opno, f.path, (long long)off, (int)len, e);
+ printf("%d/%d: dread %s%s [%lld,%d] %d\n",
+ procid, opno, f.path, st, (long long)off, (int)len, e);
free_pathname(&f);
close(fd);
}
off64_t off;
struct stat64 stb;
int v;
+ char st[1024];
init_pathname(&f);
if (!get_fname(FT_REGFILE, r, &f, NULL, NULL, &v)) {
close(fd);
return;
}
+ inode_info(st, sizeof(st), &stb, v);
if (xfsctl(f.path, fd, XFS_IOC_DIOINFO, &diob) < 0) {
if (v)
printf("%d/%d: dwrite - xfsctl(XFS_IOC_DIOINFO)"
- " %s failed %d\n",
- procid, opno, f.path, errno);
+ " %s%s failed %d\n",
+ procid, opno, f.path, st, errno);
free_pathname(&f);
close(fd);
return;
e = write(fd, buf, len) < 0 ? errno : 0;
free(buf);
if (v)
- printf("%d/%d: dwrite %s [%lld,%d] %d\n",
- procid, opno, f.path, (long long)off, (int)len, e);
+ printf("%d/%d: dwrite %s%s [%lld,%d] %d\n",
+ procid, opno, f.path, st, (long long)off, (int)len, e);
free_pathname(&f);
close(fd);
}
off64_t off;
struct stat64 stb;
int v;
+ char st[1024];
init_pathname(&f);
if (!get_fname(FT_REGFILE, r, &f, NULL, NULL, &v)) {
close(fd);
return;
}
+ inode_info(st, sizeof(st), &stb, v);
lr = ((__int64_t)random() << 32) + random();
off = (off64_t)(lr % MIN(stb.st_size + (1024 * 1024), MAXFSIZE));
off %= maxfsize;
fl.l_len = 0;
e = xfsctl(f.path, fd, XFS_IOC_FREESP64, &fl) < 0 ? errno : 0;
if (v)
- printf("%d/%d: xfsctl(XFS_IOC_FREESP64) %s %lld 0 %d\n",
- procid, opno, f.path, (long long)off, e);
+ printf("%d/%d: xfsctl(XFS_IOC_FREESP64) %s%s %lld 0 %d\n",
+ procid, opno, f.path, st, (long long)off, e);
free_pathname(&f);
close(fd);
}
off64_t off;
struct stat64 stb;
int v;
+ char st[1024];
init_pathname(&f);
if (!get_fname(FT_REGFILE, r, &f, NULL, NULL, &v)) {
close(fd);
return;
}
+ inode_info(st, sizeof(st), &stb, v);
if (stb.st_size == 0) {
if (v)
- printf("%d/%d: read - %s zero size\n", procid, opno,
- f.path);
+ printf("%d/%d: read - %s%s zero size\n", procid, opno,
+ f.path, st);
free_pathname(&f);
close(fd);
return;
e = read(fd, buf, len) < 0 ? errno : 0;
free(buf);
if (v)
- printf("%d/%d: read %s [%lld,%d] %d\n",
- procid, opno, f.path, (long long)off, (int)len, e);
+ printf("%d/%d: read %s%s [%lld,%d] %d\n",
+ procid, opno, f.path, st, (long long)off, (int)len, e);
free_pathname(&f);
close(fd);
}
off64_t off;
struct stat64 stb;
int v;
+ char st[1024];
init_pathname(&f);
if (!get_fname(FT_REGFILE, r, &f, NULL, NULL, &v)) {
close(fd);
return;
}
+ inode_info(st, sizeof(st), &stb, v);
lr = ((__int64_t)random() << 32) + random();
off = (off64_t)(lr % MIN(stb.st_size + (1024 * 1024), MAXFSIZE));
off %= maxfsize;
fl.l_len = (off64_t)(random() % (1024 * 1024));
e = xfsctl(f.path, fd, XFS_IOC_RESVSP64, &fl) < 0 ? errno : 0;
if (v)
- printf("%d/%d: xfsctl(XFS_IOC_RESVSP64) %s %lld %lld %d\n",
- procid, opno, f.path,
+ printf("%d/%d: xfsctl(XFS_IOC_RESVSP64) %s%s %lld %lld %d\n",
+ procid, opno, f.path, st,
(long long)off, (long long)fl.l_len, e);
free_pathname(&f);
close(fd);
off64_t off;
struct stat64 stb;
int v;
+ char st[1024];
init_pathname(&f);
if (!get_fname(FT_REGFILE, r, &f, NULL, NULL, &v)) {
free_pathname(&f);
return;
}
+ inode_info(st, sizeof(st), &stb, v);
lr = ((__int64_t)random() << 32) + random();
off = (off64_t)(lr % MIN(stb.st_size + (1024 * 1024), MAXFSIZE));
off %= maxfsize;
e = truncate64_path(&f, off) < 0 ? errno : 0;
check_cwd();
if (v)
- printf("%d/%d: truncate %s %lld %d\n", procid, opno, f.path,
- (long long)off, e);
+ printf("%d/%d: truncate %s%s %lld %d\n", procid, opno, f.path,
+ st, (long long)off, e);
free_pathname(&f);
}
off64_t off;
struct stat64 stb;
int v;
+ char st[1024];
init_pathname(&f);
if (!get_fname(FT_REGFILE, r, &f, NULL, NULL, &v)) {
close(fd);
return;
}
+ inode_info(st, sizeof(st), &stb, v);
lr = ((__int64_t)random() << 32) + random();
off = (off64_t)(lr % MIN(stb.st_size + (1024 * 1024), MAXFSIZE));
off %= maxfsize;
fl.l_len = (off64_t)(random() % (1 << 20));
e = xfsctl(f.path, fd, XFS_IOC_UNRESVSP64, &fl) < 0 ? errno : 0;
if (v)
- printf("%d/%d: xfsctl(XFS_IOC_UNRESVSP64) %s %lld %lld %d\n",
- procid, opno, f.path,
+ printf("%d/%d: xfsctl(XFS_IOC_UNRESVSP64) %s%s %lld %lld %d\n",
+ procid, opno, f.path, st,
(long long)off, (long long)fl.l_len, e);
free_pathname(&f);
close(fd);
off64_t off;
struct stat64 stb;
int v;
+ char st[1024];
init_pathname(&f);
if (!get_fname(FT_REGm, r, &f, NULL, NULL, &v)) {
close(fd);
return;
}
+ inode_info(st, sizeof(st), &stb, v);
lr = ((__int64_t)random() << 32) + random();
off = (off64_t)(lr % MIN(stb.st_size + (1024 * 1024), MAXFSIZE));
off %= maxfsize;
e = write(fd, buf, len) < 0 ? errno : 0;
free(buf);
if (v)
- printf("%d/%d: write %s [%lld,%d] %d\n",
- procid, opno, f.path, (long long)off, (int)len, e);
+ printf("%d/%d: write %s%s [%lld,%d] %d\n",
+ procid, opno, f.path, st, (long long)off, (int)len, e);
free_pathname(&f);
close(fd);
}