Up

Traces

linux[4.2.5-1-ARCH][system[GNU C Library (GNU libc) stable release version 2.22, by Roland McGrath et al.]][path=/mnt/flashix/[unknown]]@[2015-12-14T16:11:13Z./nix/store/qf513g69n2gy4prf0yhgggwimyl8q7kd-fs_test]

Checked Trace
linux_spec@[/nix/store/qf513g69n2gy4prf0yhgggwimyl8q7kd-fs_test] sexp stdout stderr
Traced Execution stdout stderr
Script script

Combined Trace

1 # processing file 'adhoc_link_count_reg-int.trace' ...
2 @type trace
3
4 # ################################################
5 # Test link count of regular files after link
6 # ################################################
7
8 # a new created file should have link count 1
9
10 open_close "/f1.txt" [O_RDONLY;O_CREAT] 0o666
11 Tau
12 RV_none
13 stat "/f1.txt"
14 Tau
15
RV_stat {
st_dev=42;
st_ino= 284258;
st_kind= S_IFREG;
st_perm= 0o644;
st_nlink=1;
st_uid= 0;
st_gid= 0;
st_rdev=0;
st_size= 0;
}
16
17 # after linking the file, both the link and the file should have link count 2
18
19 link "/f1.txt" "/f2_hl.txt"
20 Tau
21 RV_none
22 stat "/f1.txt"
23 Tau
24
RV_stat {
st_dev=42;
st_ino= 284258;
st_kind= S_IFREG;
st_perm= 0o644;
st_nlink=2;
st_uid= 0;
st_gid= 0;
st_rdev=0;
st_size= 0;
}
25 stat "/f2_hl.txt"
26 Tau
27
RV_stat {
st_dev=42;
st_ino= 284262;
st_kind= S_IFREG;
st_perm= 0o644;
st_nlink=2;
st_uid= 0;
st_gid= 0;
st_rdev=0;
st_size= 0;
}
28
29 # keep linking the file should keep increasing the link count
30
31 link "/f2_hl.txt" "/f2_hl1.txt"
32 Tau
33 RV_none
34 stat "/f1.txt"
35 Tau
36
RV_stat {
st_dev=42;
st_ino= 284258;
st_kind= S_IFREG;
st_perm= 0o644;
st_nlink=2;
st_uid= 0;
st_gid= 0;
st_rdev=0;
st_size= 0;
}
THE SPEC ASSERTS THE STATE SET IS EMPTY
The spec permitted:
  • RV_stat {
    st_dev=2049;
    st_ino= 1;
    st_kind= S_IFREG;
    st_perm= 0o644;
    st_nlink=3;
    st_uid= 0;
    st_gid= 0;
    st_rdev=0;
    st_size= 0;
    }
expected st_nlink 3 but got st_nlink 2
37 stat "/f2_hl.txt"
38 Tau
39
RV_stat {
st_dev=42;
st_ino= 284262;
st_kind= S_IFREG;
st_perm= 0o644;
st_nlink=3;
st_uid= 0;
st_gid= 0;
st_rdev=0;
st_size= 0;
}
40 stat "/f2_hl1.txt"
41 Tau
42
RV_stat {
st_dev=42;
st_ino= 284265;
st_kind= S_IFREG;
st_perm= 0o644;
st_nlink=3;
st_uid= 0;
st_gid= 0;
st_rdev=0;
st_size= 0;
}
43
44 link "/f2_hl1.txt" "/f2_hl2.txt"
45 Tau
46 RV_none
47 stat "/f1.txt"
48 Tau
49
RV_stat {
st_dev=42;
st_ino= 284258;
st_kind= S_IFREG;
st_perm= 0o644;
st_nlink=2;
st_uid= 0;
st_gid= 0;
st_rdev=0;
st_size= 0;
}
THE SPEC ASSERTS THE STATE SET IS EMPTY
The spec permitted:
  • RV_stat {
    st_dev=2049;
    st_ino= 1;
    st_kind= S_IFREG;
    st_perm= 0o644;
    st_nlink=4;
    st_uid= 0;
    st_gid= 0;
    st_rdev=0;
    st_size= 0;
    }
expected st_nlink 4 but got st_nlink 2
50 stat "/f2_hl.txt"
51 Tau
52
RV_stat {
st_dev=42;
st_ino= 284262;
st_kind= S_IFREG;
st_perm= 0o644;
st_nlink=3;
st_uid= 0;
st_gid= 0;
st_rdev=0;
st_size= 0;
}
THE SPEC ASSERTS THE STATE SET IS EMPTY
The spec permitted:
  • RV_stat {
    st_dev=2049;
    st_ino= 1;
    st_kind= S_IFREG;
    st_perm= 0o644;
    st_nlink=4;
    st_uid= 0;
    st_gid= 0;
    st_rdev=0;
    st_size= 0;
    }
expected st_nlink 4 but got st_nlink 3
53 stat "/f2_hl1.txt"
54 Tau
55
RV_stat {
st_dev=42;
st_ino= 284265;
st_kind= S_IFREG;
st_perm= 0o644;
st_nlink=4;
st_uid= 0;
st_gid= 0;
st_rdev=0;
st_size= 0;
}
56 stat "/f2_hl2.txt"
57 Tau
58
RV_stat {
st_dev=42;
st_ino= 284270;
st_kind= S_IFREG;
st_perm= 0o644;
st_nlink=4;
st_uid= 0;
st_gid= 0;
st_rdev=0;
st_size= 0;
}
59
60 # # uncomment this test when we have lstat in place
61 # linking a symlink should increase the symlink link count
62
63 # symlink "/f1.txt" "f3_sl.txt"
64 # link "f3_sl.txt" "f3_sl_hl.txt"
65 # lstat "f3_sl.txt"
66 # lstat "f3_sl_hl.txt"
67
68