Revision 83f64091 block-dmg.c
b/block-dmg.c | ||
---|---|---|
73 | 73 |
return be32_to_cpu(buffer); |
74 | 74 |
} |
75 | 75 |
|
76 |
static int dmg_open(BlockDriverState *bs, const char *filename) |
|
76 |
static int dmg_open(BlockDriverState *bs, const char *filename, int flags)
|
|
77 | 77 |
{ |
78 | 78 |
BDRVDMGState *s = bs->opaque; |
79 | 79 |
off_t info_begin,info_end,last_in_offset,last_out_offset; |
80 | 80 |
uint32_t count; |
81 | 81 |
uint32_t max_compressed_size=1,max_sectors_per_chunk=1,i; |
82 | 82 |
|
83 |
s->fd = open(filename, O_RDONLY | O_BINARY | O_LARGEFILE);
|
|
83 |
s->fd = open(filename, O_RDONLY | O_BINARY); |
|
84 | 84 |
if (s->fd < 0) |
85 |
return -1;
|
|
85 |
return -errno;
|
|
86 | 86 |
bs->read_only = 1; |
87 | 87 |
s->n_chunks = 0; |
88 | 88 |
s->offsets = s->lengths = s->sectors = s->sectorcounts = 0; |
... | ... | |
93 | 93 |
close(s->fd); |
94 | 94 |
/* open raw instead */ |
95 | 95 |
bs->drv=&bdrv_raw; |
96 |
return bs->drv->bdrv_open(bs,filename);
|
|
96 |
return bs->drv->bdrv_open(bs, filename, flags);
|
|
97 | 97 |
} |
98 | 98 |
info_begin=read_off(s->fd); |
99 | 99 |
if(info_begin==0) |
Also available in: Unified diff