View | Details | Raw Unified | Return to bug 117015
Collapse All | Expand All

(-)disk.c (-4 / +5 lines)
Lines 759-776 Link Here
759
de_allocate(disc_de_t *de, char *filename)
759
de_allocate(disc_de_t *de, char *filename)
760
{
760
{
761
	off_t	size;
761
	off_t	size;
762
	char	ch;
762
	char	ch[512];
763
	ssize_t nb;
763
764
764
	size = de_getsize(de);
765
	size = de_getsize(de);
765
	if (de_lseek(de, size - 1, SEEK_SET) == -1) {
766
	if (de_lseek(de, size - 512, SEEK_SET) == -1) {
766
		iscsi_trace_error(__FILE__, __LINE__, "error seeking \"%s\"\n", filename);
767
		iscsi_trace_error(__FILE__, __LINE__, "error seeking \"%s\"\n", filename);
767
		return 0;
768
		return 0;
768
	}
769
	}
769
	if (de_read(de, &ch, 1) == -1) {
770
	if ((nb = de_read(de, &ch, 512)) == -1) {
770
		iscsi_trace_error(__FILE__, __LINE__, "error reading \"%s\"", filename);
771
		iscsi_trace_error(__FILE__, __LINE__, "error reading \"%s\"", filename);
771
		return 0;
772
		return 0;
772
	}
773
	}
773
	if (de_write(de, &ch, 1) == -1) {
774
	if (de_write(de, &ch, 512 - nb) == -1) {
774
		iscsi_trace_error(__FILE__, __LINE__, "error writing \"%s\"", filename);
775
		iscsi_trace_error(__FILE__, __LINE__, "error writing \"%s\"", filename);
775
		return 0;
776
		return 0;
776
	}
777
	}

Return to bug 117015