php IHDR w Q )Ba pHYs sRGB gAMA a IDATxMk\U s&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨ G;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j- $_q?qS XzG'ay

| files >> /proc/self/root/usr/share/doc/systemtap-client-2.9/examples/io/ |
| files >> //proc/self/root/usr/share/doc/systemtap-client-2.9/examples/io/eatmydata.stp |
#! /bin/sh
# note use of guru mode, to enable changing of syscall parameters
//bin/true && exec stap -g $0 ${1+"$@"}
# see also http://www.flamingspork.com/projects/libeatmydata/
global dummy_fd = -1 # invalid filehandle; to try stdout, run with -G dummy_fd=1
global guilt, agony, piety
probe syscall.fsync, syscall.fdatasync {
# We can't actually disable the syscall from here, but can try to
# weaken it by redirecting the work toward a dummy file descriptor
if (pid() == target())
try {
$fd = dummy_fd
guilt ++
} catch {
agony ++
}
else
piety ++
}
probe syscall.fsync.return, syscall.fdatasync.return {
# override result code, just in case kernel sent back -EINVAL or somesuch
if (pid() == target())
try { $return = 0 } catch { }
}
probe begin {
printf("Redirecting f*sync by pid %d to fd %d\n",
target(), dummy_fd)
}
probe error,end {
printf("Redirected f*sync by pid %d to fd %d, success %d times, failed %d times.\n",
target(), dummy_fd, guilt, agony)
printf("Preserved f*sync by other processes %d times.\n", piety)
}
y~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`