⬢ DragonFlyBSD Kernel Audit
DF-5829 / run.h2.log
← back to finding ↓ download raw
DF-5829 msync partial-range no-op rig  (pid 1064, uid 1001)
baseline vnodeout=22 vnodepgsout=92

test files under: /home/maxx/df5829

== rep 1/3 ==
    msync pages [5,7) rc=0 errno=0
DF-5829 msync partial-range no-op rig  (pid 1064, uid 1001)
baseline vnodeout=22 vnodepgsout=92

test files under: /home/maxx/df5829

== rep 1/3 ==
A partial-range  msync[5p,7p)      vnodeout delta = 0    vnodepgsout delta = 0
    msync pages [0,8) rc=0 errno=0
B whole-file ctrl msync[0p,8p)     vnodeout delta = 0    vnodepgsout delta = 0
    msync pages [0,4) rc=0 errno=0
C whole-mapping-of-8p-file msync[0p,4p) vnodeout delta = 0    vnodepgsout delta = 0
    msync pages [0,1) rc=0 errno=0
D whole-file ctrl msync[0p,1p)     vnodeout delta = 0    vnodepgsout delta = 0
    msync pages [0,4) rc=0 errno=0
E 1p-file msync[0p,4p)-beyond-EOF  vnodeout delta = 0    vnodepgsout delta = 0
    msync pages [0,16) rc=0 errno=0
F 1p-file msync[0p,16p)-beyond-EOF vnodeout delta = 1    vnodepgsout delta = 1
rep 1: A=0/0 B=0/0 C=0/0 D=0/0 E=0/0 F=1/1

   rep 1 control B did not flush (expected on block-rounded fs)
   rep 1 control D did not flush (expected on block-rounded fs)
== rep 2/3 ==
    msync pages [5,7) rc=0 errno=0
rep 1: A=0/0 B=0/0 C=0/0 D=0/0 E=0/0 F=1/1

   rep 1 control B did not flush (expected on block-rounded fs)
   rep 1 control D did not flush (expected on block-rounded fs)
== rep 2/3 ==
A partial-range  msync[5p,7p)      vnodeout delta = 0    vnodepgsout delta = 0
    msync pages [0,8) rc=0 errno=0
B whole-file ctrl msync[0p,8p)     vnodeout delta = 0    vnodepgsout delta = 0
    msync pages [0,4) rc=0 errno=0
C whole-mapping-of-8p-file msync[0p,4p) vnodeout delta = 0    vnodepgsout delta = 0
    msync pages [0,1) rc=0 errno=0
D whole-file ctrl msync[0p,1p)     vnodeout delta = 0    vnodepgsout delta = 0
    msync pages [0,4) rc=0 errno=0
E 1p-file msync[0p,4p)-beyond-EOF  vnodeout delta = 0    vnodepgsout delta = 0
    msync pages [0,16) rc=0 errno=0
F 1p-file msync[0p,16p)-beyond-EOF vnodeout delta = 1    vnodepgsout delta = 1
rep 2: A=0/0 B=0/0 C=0/0 D=0/0 E=0/0 F=1/1

   rep 2 control B did not flush (expected on block-rounded fs)
   rep 2 control D did not flush (expected on block-rounded fs)
== rep 3/3 ==
    msync pages [5,7) rc=0 errno=0
rep 2: A=0/0 B=0/0 C=0/0 D=0/0 E=0/0 F=1/1

   rep 2 control B did not flush (expected on block-rounded fs)
   rep 2 control D did not flush (expected on block-rounded fs)
== rep 3/3 ==
A partial-range  msync[5p,7p)      vnodeout delta = 0    vnodepgsout delta = 0
    msync pages [0,8) rc=0 errno=0
B whole-file ctrl msync[0p,8p)     vnodeout delta = 0    vnodepgsout delta = 0
    msync pages [0,4) rc=0 errno=0
C whole-mapping-of-8p-file msync[0p,4p) vnodeout delta = 0    vnodepgsout delta = 0
    msync pages [0,1) rc=0 errno=0
D whole-file ctrl msync[0p,1p)     vnodeout delta = 0    vnodepgsout delta = 0
    msync pages [0,4) rc=0 errno=0
E 1p-file msync[0p,4p)-beyond-EOF  vnodeout delta = 0    vnodepgsout delta = 0
    msync pages [0,16) rc=0 errno=0
F 1p-file msync[0p,16p)-beyond-EOF vnodeout delta = 1    vnodepgsout delta = 1
rep 3: A=0/0 B=0/0 C=0/0 D=0/0 E=0/0 F=1/1

   rep 3 control B did not flush (expected on block-rounded fs)
   rep 3 control D did not flush (expected on block-rounded fs)
VERDICT: msync ranges that do not exactly cover object->size performed ZERO pageout while the whole-object msync did -> CONFIRMED