2 This patch can be applied to version 3.0.1 and should fix
3 a crash in the SD that occurs after canceling a job.
4 This should fix bug #1298.
6 Apply it to version 3.0.1 with:
9 patch -p0 <3.0.1-cancel-sd.patch
10 ./configure <your-options>
17 Index: src/stored/reserve.c
18 ===================================================================
19 --- src/stored/reserve.c (revision 8892)
20 +++ src/stored/reserve.c (working copy)
25 + if (job_canceled(jcr)) {
35 + if (job_canceled(jcr)) {
41 Index: src/stored/spool.c
42 ===================================================================
43 --- src/stored/spool.c (revision 8892)
44 +++ src/stored/spool.c (working copy)
47 DEV_BLOCK *block = dcr->block;
49 + if (job_canceled(dcr->jcr)) {
52 ASSERT(block->binbuf == ((uint32_t) (block->bufp - block->buf)));
53 if (block->binbuf <= WRITE_BLKHDR_LENGTH) { /* Does block have data in it? */
55 Index: src/stored/vol_mgr.c
56 ===================================================================
57 --- src/stored/vol_mgr.c (revision 8892)
58 +++ src/stored/vol_mgr.c (working copy)
61 DEVICE * volatile dev = dcr->dev;
63 + if (job_canceled(dcr->jcr)) {
68 Dmsg2(dbglvl, "enter reserve_volume=%s drive=%s\n", VolumeName,
73 + if (job_canceled(jcr)) {
77 vol = find_volume(VolumeName);
79 Index: src/stored/askdir.c
80 ===================================================================
81 --- src/stored/askdir.c (revision 8892)
82 +++ src/stored/askdir.c (working copy)
87 + if (job_canceled(jcr)) {
90 Dmsg0(400, "enter dir_ask_sysop_to_create_appendable_volume\n");
91 ASSERT(dev->blocked());
93 Index: src/stored/block.c
94 ===================================================================
95 --- src/stored/block.c (revision 8892)
96 +++ src/stored/block.c (working copy)
101 + if (job_canceled(jcr)) {
104 ASSERT(block->binbuf == ((uint32_t) (block->bufp - block->buf)));
105 ASSERT(dev->is_open());
108 DEVICE *dev = dcr->dev;
109 DEV_BLOCK *block = dcr->block;
111 + if (job_canceled(jcr)) {
114 ASSERT(dev->is_open());