unsafe_sync_write++;
get_cap_ref(in, CEPH_CAP_FILE_BUFFER); // released by onsafe callback
- r = filer->write_trunc(in->ino, &in->layout, in->snaprealm->get_snap_context(),
+ filer->write_trunc(in->ino, &in->layout, in->snaprealm->get_snap_context(),
offset, size, bl, ceph::real_clock::now(cct), 0,
in->truncate_size, in->truncate_seq,
onfinish, new C_OnFinisher(onsafe, &objecter_finisher));
- if (r < 0)
- goto done;
-
client_lock.Unlock();
flock.Lock();
get_cap_ref(in, CEPH_CAP_FILE_BUFFER);
_invalidate_inode_cache(in, offset, length);
- r = filer->zero(in->ino, &in->layout,
+ filer->zero(in->ino, &in->layout,
in->snaprealm->get_snap_context(),
offset, length,
ceph::real_clock::now(cct),
0, true, onfinish,
new C_OnFinisher(onsafe, &objecter_finisher));
- assert(r == 0);
-
in->mtime = ceph_clock_now(cct);
mark_caps_dirty(in, CEPH_CAP_FILE_WR);
/*** async file interface. scatter/gather as needed. ***/
- int read(inodeno_t ino,
+ void read(inodeno_t ino,
file_layout_t *layout,
snapid_t snap,
uint64_t offset,
vector<ObjectExtent> extents;
Striper::file_to_extents(cct, ino, layout, offset, len, 0, extents);
objecter->sg_read(extents, snap, bl, flags, onfinish, op_flags);
- return 0;
}
- int read_trunc(inodeno_t ino,
+ void read_trunc(inodeno_t ino,
file_layout_t *layout,
snapid_t snap,
uint64_t offset,
extents);
objecter->sg_read_trunc(extents, snap, bl, flags,
truncate_size, truncate_seq, onfinish, op_flags);
- return 0;
}
- int write(inodeno_t ino,
+ void write(inodeno_t ino,
file_layout_t *layout,
const SnapContext& snapc,
uint64_t offset,
Striper::file_to_extents(cct, ino, layout, offset, len, 0, extents);
objecter->sg_write(extents, snapc, bl, mtime, flags, onack, oncommit,
op_flags);
- return 0;
}
- int write_trunc(inodeno_t ino,
+ void write_trunc(inodeno_t ino,
file_layout_t *layout,
const SnapContext& snapc,
uint64_t offset,
extents);
objecter->sg_write_trunc(extents, snapc, bl, mtime, flags,
truncate_size, truncate_seq, onack, oncommit, op_flags);
- return 0;
}
- int truncate(inodeno_t ino,
+ void truncate(inodeno_t ino,
file_layout_t *layout,
const SnapContext& snapc,
uint64_t offset,
gack.activate();
gcom.activate();
}
- return 0;
}
- int zero(inodeno_t ino,
+ void zero(inodeno_t ino,
file_layout_t *layout,
const SnapContext& snapc,
uint64_t offset,
gack.activate();
gcom.activate();
}
- return 0;
}
- int zero(inodeno_t ino,
+ void zero(inodeno_t ino,
file_layout_t *layout,
const SnapContext& snapc,
uint64_t offset,
int flags,
Context *onack,
Context *oncommit) {
-
- return zero(ino, layout,
- snapc, offset,
- len, mtime,
- flags, false,
- onack, oncommit);
+ zero(ino, layout,
+ snapc, offset,
+ len, mtime,
+ flags, false,
+ onack, oncommit);
}
// purge range of ino.### objects
int purge_range(inodeno_t ino,