# include <sys/statfs.h>
#endif
-#include <sysio.h>
-#ifdef HAVE_XTIO_H
-#include <xtio.h>
-#endif
-#include <fs.h>
-#include <mount.h>
-#include <inode.h>
-#ifdef HAVE_FILE_H
-#include <file.h>
-#endif
#include <liblustre.h>
#include <obd.h>
}
-static int slp_io_trunc_iter_init(const struct lu_env *env,
- const struct cl_io_slice *ios)
+static int slp_io_setattr_iter_init(const struct lu_env *env,
+ const struct cl_io_slice *ios)
{
return 0;
}
-static int slp_io_trunc_start(const struct lu_env *env,
- const struct cl_io_slice *ios)
+static int slp_io_setattr_start(const struct lu_env *env,
+ const struct cl_io_slice *ios)
{
return 0;
}
OBD_FREE_PTR(page);
}
+
static int llu_queue_pio(const struct lu_env *env, struct cl_io *io,
struct llu_io_group *group,
char *buf, size_t count, loff_t pos)
OBD_FREE_PTR(group);
}
+/**
+ * True, if \a io is a normal io, False for sendfile() / splice_{read|write}
+ */
+int cl_is_normalio(const struct lu_env *env, const struct cl_io *io)
+{
+ return 1;
+}
+
static int slp_io_start(const struct lu_env *env, const struct cl_io_slice *ios)
{
struct ccc_io *cio = cl2ccc_io(env, ios);
struct cl_io *io = ios->cis_io;
struct cl_object *obj = io->ci_obj;
struct inode *inode = ccc_object_inode(obj);
- int err, ret;
- loff_t pos;
- size_t cnt;
+ int err, ret;
+ loff_t pos;
+ long cnt;
struct llu_io_group *iogroup;
struct lustre_rw_params p = {0};
int iovidx;
GOTO(out, err);
CDEBUG(D_INODE,
- "%s ino %lu, "LPSZ" bytes, offset %lld, i_size %llu\n",
- write?"Write":"Read", (unsigned long)st->st_ino,
+ "%s ino %lu, %lu bytes, offset "LPU64", i_size "LPU64"\n",
+ write ? "Write" : "Read", (unsigned long)st->st_ino,
cnt, (__u64)pos, (__u64)st->st_size);
if (write && io->u.ci_wr.wr_append)
for (iovidx = 0; iovidx < cio->cui_nrsegs; iovidx++) {
char *buf = (char *) cio->cui_iov[iovidx].iov_base;
- size_t count = cio->cui_iov[iovidx].iov_len;
+ long count = cio->cui_iov[iovidx].iov_len;
if (!count)
continue;
.cio_end = ccc_io_end,
.cio_advance = ccc_io_advance
},
- [CIT_TRUNC] = {
+ [CIT_SETATTR] = {
.cio_fini = ccc_io_fini,
- .cio_iter_init = slp_io_trunc_iter_init,
- .cio_start = slp_io_trunc_start
+ .cio_iter_init = slp_io_setattr_iter_init,
+ .cio_start = slp_io_setattr_start
},
[CIT_MISC] = {
.cio_fini = ccc_io_fini