projects
/
debian
/
amanda
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Imported Upstream version 3.3.1
[debian/amanda]
/
device-src
/
vfs-device.c
diff --git
a/device-src/vfs-device.c
b/device-src/vfs-device.c
index 4906c29a02db60c2da0796170f78309ff89b4f8a..122a6efb8e479cdf21713b93c31a13af2d9e5d7c 100644
(file)
--- a/
device-src/vfs-device.c
+++ b/
device-src/vfs-device.c
@@
-585,11
+585,9
@@
vfs_device_open_device (Device * pself, char * device_name, char * device_type,
static gboolean delete_vfs_files_functor(const char * filename,
gpointer user_data) {
VfsDevice * self;
static gboolean delete_vfs_files_functor(const char * filename,
gpointer user_data) {
VfsDevice * self;
- Device * d_self;
char * path_name;
self = VFS_DEVICE(user_data);
char * path_name;
self = VFS_DEVICE(user_data);
- d_self = DEVICE(self);
/* Skip the volume lock. */
if (strcmp(filename, VOLUME_LOCKFILE_NAME) == 0)
/* Skip the volume lock. */
if (strcmp(filename, VOLUME_LOCKFILE_NAME) == 0)
@@
-691,6
+689,7
@@
static gboolean clear_and_prepare_label(VfsDevice * self, char * label,
return FALSE;
}
dumpfile_free(d_self->volume_header);
return FALSE;
}
dumpfile_free(d_self->volume_header);
+ d_self->header_block_size = VFS_DEVICE_LABEL_SIZE;
d_self->volume_header = label_header;
self->volume_bytes = VFS_DEVICE_LABEL_SIZE;
return TRUE;
d_self->volume_header = label_header;
self->volume_bytes = VFS_DEVICE_LABEL_SIZE;
return TRUE;
@@
-1230,6
+1229,9
@@
vfs_device_seek_file (Device * dself, guint requested_file) {
}
/* update our state */
}
/* update our state */
+ if (requested_file == 0) {
+ dself->header_block_size = header_buffer_size;
+ }
dself->in_file = TRUE;
dself->file = file;
dself->in_file = TRUE;
dself->file = file;
@@
-1404,6
+1406,11
@@
vfs_device_erase (Device * dself) {
release_file(self);
release_file(self);
+ dumpfile_free(dself->volume_header);
+ dself->volume_header = NULL;
+ device_set_error(dself, g_strdup("Unlabeled volume"),
+ DEVICE_STATUS_VOLUME_UNLABELED);
+
return TRUE;
}
return TRUE;
}