val = tdb_access_read(tdb, base + start * sizeof(tdb_off_t),
(end - start) * sizeof(tdb_off_t), false);
if (TDB_PTR_IS_ERR(val)) {
- return TDB_PTR_ERR(val);
+ return TDB_ERR_TO_OFF(TDB_PTR_ERR(val));
}
for (i = 0; i < (end - start); i++) {
/* Zero vs non-zero is the same unconverted: minor optimization. */
val = tdb_access_read(tdb, off, num * sizeof(tdb_off_t), false);
if (TDB_PTR_IS_ERR(val)) {
- return TDB_PTR_ERR(val);
+ return TDB_ERR_TO_OFF(TDB_PTR_ERR(val));
}
for (i = 0; i < num; i++) {
tdb_off_t *p = tdb->tdb2.io->direct(tdb, off, sizeof(*p),
false);
if (TDB_PTR_IS_ERR(p)) {
- return TDB_PTR_ERR(p);
+ return TDB_ERR_TO_OFF(TDB_PTR_ERR(p));
}
if (p)
return *p;
ecode = tdb_read_convert(tdb, off, &ret, sizeof(ret));
if (ecode != TDB_SUCCESS) {
- return ecode;
+ return TDB_ERR_TO_OFF(ecode);
}
return ret;
}
{
tdb_off_t seq;
+ if (tdb->flags & TDB_VERSION1) {
+ tdb1_increment_seqnum_nonblock(tdb);
+ return;
+ }
+
if (likely(!(tdb->flags & TDB_CONVERT))) {
int64_t *direct;