eversion_t pg_trim_to; // primary->replica: trim to here
int op;
- size_t length, offset;
+ size_t length;
+ off_t offset;
+
eversion_t version;
eversion_t old_version;
void set_op(int o) { st.op = o; }
const size_t get_length() { return st.length; }
- const size_t get_offset() { return st.offset; }
+ const off_t get_offset() { return st.offset; }
map<string,bufferptr>& get_attrset() { return attrset; }
void set_attrset(map<string,bufferptr> &as) { attrset = as; }
//void set_rg_nrep(int n) { st.rg_nrep = n; }
void set_length(size_t l) { st.length = l; }
- void set_offset(size_t o) { st.offset = o; }
+ void set_offset(off_t o) { st.offset = o; }
void set_version(eversion_t v) { st.version = v; }
void set_old_version(eversion_t ov) { st.old_version = ov; }
sprintf(tfn, "%s.new", fn);
int fd = ::open(tfn, O_WRONLY|O_CREAT);
- dout(0) << " fd " << fd << " tfn " << tfn << " " << errno << " " << strerror(errno) << " " << get_current_dir_name() << endl;
assert(fd > 0);
::fchmod(fd, 0644);
::write(fd, vs, strlen(vs));
struct stat st;
int r = store->stat(oid, &st);
if (r >= 0) {
- if (op->get_offset() + op->get_length() >= st.st_size) {
+ if (op->get_offset() + (off_t)op->get_length() >= (off_t)st.st_size) {
if (op->get_offset())
t.truncate(oid, op->get_length() + op->get_offset());
else
if (!g_conf.journaler_allow_split_entries) {
// will we span a stripe boundary?
int p = inode.layout.stripe_size;
- if (write_pos / p != (write_pos + bl.length() + sizeof(s)) / p) {
+ if (write_pos / p != (write_pos + (off_t)(bl.length() + sizeof(s))) / p) {
// yes.
// move write_pos forward.
off_t owp = write_pos;
// start reading some more?
if (!_is_reading()) {
if (s)
- fetch_len = MAX(fetch_len, sizeof(s)+s-read_buf.length());
+ fetch_len = MAX(fetch_len, (off_t)(sizeof(s)+s-read_buf.length()));
_issue_read(fetch_len);
}