SkyhookDM: Data Processing in Ceph with Programmable Storage