git://git.camperquake.de
/
zfs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Generate zevents for speculative and soft errors
[zfs.git]
/
module
/
zfs
/
dmu_send.c
diff --git
a/module/zfs/dmu_send.c
b/module/zfs/dmu_send.c
index
e47d533
..
ae0b36f
100644
(file)
--- a/
module/zfs/dmu_send.c
+++ b/
module/zfs/dmu_send.c
@@
-937,7
+937,7
@@
restore_read(struct restorearg *ra, int len)
return (rv);
}
return (rv);
}
-static void
+
noinline
static void
backup_byteswap(dmu_replay_record_t *drr)
{
#define DO64(X) (drr->drr_u.X = BSWAP_64(drr->drr_u.X))
backup_byteswap(dmu_replay_record_t *drr)
{
#define DO64(X) (drr->drr_u.X = BSWAP_64(drr->drr_u.X))
@@
-1012,12
+1012,14
@@
backup_byteswap(dmu_replay_record_t *drr)
DO64(drr_end.drr_checksum.zc_word[3]);
DO64(drr_end.drr_toguid);
break;
DO64(drr_end.drr_checksum.zc_word[3]);
DO64(drr_end.drr_toguid);
break;
+ default:
+ break;
}
#undef DO64
#undef DO32
}
}
#undef DO64
#undef DO32
}
-static int
+
noinline
static int
restore_object(struct restorearg *ra, objset_t *os, struct drr_object *drro)
{
int err;
restore_object(struct restorearg *ra, objset_t *os, struct drr_object *drro)
{
int err;
@@
-1101,7
+1103,7
@@
restore_object(struct restorearg *ra, objset_t *os, struct drr_object *drro)
}
/* ARGSUSED */
}
/* ARGSUSED */
-static int
+
noinline
static int
restore_freeobjects(struct restorearg *ra, objset_t *os,
struct drr_freeobjects *drrfo)
{
restore_freeobjects(struct restorearg *ra, objset_t *os,
struct drr_freeobjects *drrfo)
{
@@
-1125,7
+1127,7
@@
restore_freeobjects(struct restorearg *ra, objset_t *os,
return (0);
}
return (0);
}
-static int
+
noinline
static int
restore_write(struct restorearg *ra, objset_t *os,
struct drr_write *drrw)
{
restore_write(struct restorearg *ra, objset_t *os,
struct drr_write *drrw)
{
@@
-1199,8
+1201,9
@@
restore_write_byref(struct restorearg *ra, objset_t *os,
ref_os = os;
}
ref_os = os;
}
- if (err = dmu_buf_hold(ref_os, drrwbr->drr_refobject,
- drrwbr->drr_refoffset, FTAG, &dbp, DMU_READ_PREFETCH))
+ err = dmu_buf_hold(ref_os, drrwbr->drr_refobject,
+ drrwbr->drr_refoffset, FTAG, &dbp, DMU_READ_PREFETCH);
+ if (err)
return (err);
tx = dmu_tx_create(os);
return (err);
tx = dmu_tx_create(os);
@@
-1270,7
+1273,7
@@
restore_spill(struct restorearg *ra, objset_t *os, struct drr_spill *drrs)
}
/* ARGSUSED */
}
/* ARGSUSED */
-static int
+
noinline
static int
restore_free(struct restorearg *ra, objset_t *os,
struct drr_free *drrf)
{
restore_free(struct restorearg *ra, objset_t *os,
struct drr_free *drrf)
{
@@
-1334,7
+1337,7
@@
dmu_recv_stream(dmu_recv_cookie_t *drc, vnode_t *vp, offset_t *voffp,
ra.vp = vp;
ra.voff = *voffp;
ra.bufsize = 1<<20;
ra.vp = vp;
ra.voff = *voffp;
ra.bufsize = 1<<20;
- ra.buf =
k
mem_alloc(ra.bufsize, KM_SLEEP);
+ ra.buf =
v
mem_alloc(ra.bufsize, KM_SLEEP);
/* these were verified in dmu_recv_begin */
ASSERT(DMU_GET_STREAM_HDRTYPE(drc->drc_drrb->drr_versioninfo) ==
/* these were verified in dmu_recv_begin */
ASSERT(DMU_GET_STREAM_HDRTYPE(drc->drc_drrb->drr_versioninfo) ==
@@
-1483,7
+1486,7
@@
out:
}
}
}
}
-
k
mem_free(ra.buf, ra.bufsize);
+
v
mem_free(ra.buf, ra.bufsize);
*voffp = ra.voff;
return (ra.err);
}
*voffp = ra.voff;
return (ra.err);
}