diff options
Diffstat (limited to 'e2fsprogs/ext2fs/fileio.c')
-rw-r--r-- | e2fsprogs/ext2fs/fileio.c | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/e2fsprogs/ext2fs/fileio.c b/e2fsprogs/ext2fs/fileio.c index 3e42cbc32..669e80c65 100644 --- a/e2fsprogs/ext2fs/fileio.c +++ b/e2fsprogs/ext2fs/fileio.c | |||
@@ -1,6 +1,6 @@ | |||
1 | /* | 1 | /* |
2 | * fileio.c --- Simple file I/O routines | 2 | * fileio.c --- Simple file I/O routines |
3 | * | 3 | * |
4 | * Copyright (C) 1997 Theodore Ts'o. | 4 | * Copyright (C) 1997 Theodore Ts'o. |
5 | * | 5 | * |
6 | * %Begin-Header% | 6 | * %Begin-Header% |
@@ -20,14 +20,14 @@ | |||
20 | 20 | ||
21 | struct ext2_file { | 21 | struct ext2_file { |
22 | errcode_t magic; | 22 | errcode_t magic; |
23 | ext2_filsys fs; | 23 | ext2_filsys fs; |
24 | ext2_ino_t ino; | 24 | ext2_ino_t ino; |
25 | struct ext2_inode inode; | 25 | struct ext2_inode inode; |
26 | int flags; | 26 | int flags; |
27 | __u64 pos; | 27 | __u64 pos; |
28 | blk_t blockno; | 28 | blk_t blockno; |
29 | blk_t physblock; | 29 | blk_t physblock; |
30 | char *buf; | 30 | char *buf; |
31 | }; | 31 | }; |
32 | 32 | ||
33 | #define BMAP_BUFFER (file->buf + fs->blocksize) | 33 | #define BMAP_BUFFER (file->buf + fs->blocksize) |
@@ -36,7 +36,7 @@ errcode_t ext2fs_file_open2(ext2_filsys fs, ext2_ino_t ino, | |||
36 | struct ext2_inode *inode, | 36 | struct ext2_inode *inode, |
37 | int flags, ext2_file_t *ret) | 37 | int flags, ext2_file_t *ret) |
38 | { | 38 | { |
39 | ext2_file_t file; | 39 | ext2_file_t file; |
40 | errcode_t retval; | 40 | errcode_t retval; |
41 | 41 | ||
42 | /* | 42 | /* |
@@ -50,7 +50,7 @@ errcode_t ext2fs_file_open2(ext2_filsys fs, ext2_ino_t ino, | |||
50 | retval = ext2fs_get_mem(sizeof(struct ext2_file), &file); | 50 | retval = ext2fs_get_mem(sizeof(struct ext2_file), &file); |
51 | if (retval) | 51 | if (retval) |
52 | return retval; | 52 | return retval; |
53 | 53 | ||
54 | memset(file, 0, sizeof(struct ext2_file)); | 54 | memset(file, 0, sizeof(struct ext2_file)); |
55 | file->magic = EXT2_ET_MAGIC_EXT2_FILE; | 55 | file->magic = EXT2_ET_MAGIC_EXT2_FILE; |
56 | file->fs = fs; | 56 | file->fs = fs; |
@@ -64,14 +64,14 @@ errcode_t ext2fs_file_open2(ext2_filsys fs, ext2_ino_t ino, | |||
64 | if (retval) | 64 | if (retval) |
65 | goto fail; | 65 | goto fail; |
66 | } | 66 | } |
67 | 67 | ||
68 | retval = ext2fs_get_mem(fs->blocksize * 3, &file->buf); | 68 | retval = ext2fs_get_mem(fs->blocksize * 3, &file->buf); |
69 | if (retval) | 69 | if (retval) |
70 | goto fail; | 70 | goto fail; |
71 | 71 | ||
72 | *ret = file; | 72 | *ret = file; |
73 | return 0; | 73 | return 0; |
74 | 74 | ||
75 | fail: | 75 | fail: |
76 | if (file->buf) | 76 | if (file->buf) |
77 | ext2fs_free_mem(&file->buf); | 77 | ext2fs_free_mem(&file->buf); |
@@ -103,7 +103,7 @@ errcode_t ext2fs_file_flush(ext2_file_t file) | |||
103 | { | 103 | { |
104 | errcode_t retval; | 104 | errcode_t retval; |
105 | ext2_filsys fs; | 105 | ext2_filsys fs; |
106 | 106 | ||
107 | EXT2_CHECK_MAGIC(file, EXT2_ET_MAGIC_EXT2_FILE); | 107 | EXT2_CHECK_MAGIC(file, EXT2_ET_MAGIC_EXT2_FILE); |
108 | fs = file->fs; | 108 | fs = file->fs; |
109 | 109 | ||
@@ -176,7 +176,7 @@ static errcode_t load_buffer(ext2_file_t file, int dontfill) | |||
176 | if (!dontfill) { | 176 | if (!dontfill) { |
177 | if (file->physblock) { | 177 | if (file->physblock) { |
178 | retval = io_channel_read_blk(fs->io, | 178 | retval = io_channel_read_blk(fs->io, |
179 | file->physblock, | 179 | file->physblock, |
180 | 1, file->buf); | 180 | 1, file->buf); |
181 | if (retval) | 181 | if (retval) |
182 | return retval; | 182 | return retval; |
@@ -187,16 +187,16 @@ static errcode_t load_buffer(ext2_file_t file, int dontfill) | |||
187 | } | 187 | } |
188 | return 0; | 188 | return 0; |
189 | } | 189 | } |
190 | 190 | ||
191 | 191 | ||
192 | errcode_t ext2fs_file_close(ext2_file_t file) | 192 | errcode_t ext2fs_file_close(ext2_file_t file) |
193 | { | 193 | { |
194 | errcode_t retval; | 194 | errcode_t retval; |
195 | 195 | ||
196 | EXT2_CHECK_MAGIC(file, EXT2_ET_MAGIC_EXT2_FILE); | 196 | EXT2_CHECK_MAGIC(file, EXT2_ET_MAGIC_EXT2_FILE); |
197 | 197 | ||
198 | retval = ext2fs_file_flush(file); | 198 | retval = ext2fs_file_flush(file); |
199 | 199 | ||
200 | if (file->buf) | 200 | if (file->buf) |
201 | ext2fs_free_mem(&file->buf); | 201 | ext2fs_free_mem(&file->buf); |
202 | ext2fs_free_mem(&file); | 202 | ext2fs_free_mem(&file); |
@@ -232,14 +232,14 @@ errcode_t ext2fs_file_read(ext2_file_t file, void *buf, | |||
232 | left = EXT2_I_SIZE(&file->inode) - file->pos ; | 232 | left = EXT2_I_SIZE(&file->inode) - file->pos ; |
233 | if (c > left) | 233 | if (c > left) |
234 | c = left; | 234 | c = left; |
235 | 235 | ||
236 | memcpy(ptr, file->buf+start, c); | 236 | memcpy(ptr, file->buf+start, c); |
237 | file->pos += c; | 237 | file->pos += c; |
238 | ptr += c; | 238 | ptr += c; |
239 | count += c; | 239 | count += c; |
240 | wanted -= c; | 240 | wanted -= c; |
241 | } | 241 | } |
242 | 242 | ||
243 | fail: | 243 | fail: |
244 | if (got) | 244 | if (got) |
245 | *got = count; | 245 | *got = count; |
@@ -265,7 +265,7 @@ errcode_t ext2fs_file_write(ext2_file_t file, const void *buf, | |||
265 | retval = sync_buffer_position(file); | 265 | retval = sync_buffer_position(file); |
266 | if (retval) | 266 | if (retval) |
267 | goto fail; | 267 | goto fail; |
268 | 268 | ||
269 | start = file->pos % fs->blocksize; | 269 | start = file->pos % fs->blocksize; |
270 | c = fs->blocksize - start; | 270 | c = fs->blocksize - start; |
271 | if (c > nbytes) | 271 | if (c > nbytes) |
@@ -286,7 +286,7 @@ errcode_t ext2fs_file_write(ext2_file_t file, const void *buf, | |||
286 | count += c; | 286 | count += c; |
287 | nbytes -= c; | 287 | nbytes -= c; |
288 | } | 288 | } |
289 | 289 | ||
290 | fail: | 290 | fail: |
291 | if (written) | 291 | if (written) |
292 | *written = count; | 292 | *written = count; |
@@ -318,7 +318,7 @@ errcode_t ext2fs_file_lseek(ext2_file_t file, ext2_off_t offset, | |||
318 | { | 318 | { |
319 | __u64 loffset, ret_loffset; | 319 | __u64 loffset, ret_loffset; |
320 | errcode_t retval; | 320 | errcode_t retval; |
321 | 321 | ||
322 | loffset = offset; | 322 | loffset = offset; |
323 | retval = ext2fs_file_llseek(file, loffset, whence, &ret_loffset); | 323 | retval = ext2fs_file_llseek(file, loffset, whence, &ret_loffset); |
324 | if (ret_pos) | 324 | if (ret_pos) |
@@ -354,14 +354,14 @@ ext2_off_t ext2fs_file_get_size(ext2_file_t file) | |||
354 | 354 | ||
355 | /* | 355 | /* |
356 | * This function sets the size of the file, truncating it if necessary | 356 | * This function sets the size of the file, truncating it if necessary |
357 | * | 357 | * |
358 | * XXX still need to call truncate | 358 | * XXX still need to call truncate |
359 | */ | 359 | */ |
360 | errcode_t ext2fs_file_set_size(ext2_file_t file, ext2_off_t size) | 360 | errcode_t ext2fs_file_set_size(ext2_file_t file, ext2_off_t size) |
361 | { | 361 | { |
362 | errcode_t retval; | 362 | errcode_t retval; |
363 | EXT2_CHECK_MAGIC(file, EXT2_ET_MAGIC_EXT2_FILE); | 363 | EXT2_CHECK_MAGIC(file, EXT2_ET_MAGIC_EXT2_FILE); |
364 | 364 | ||
365 | file->inode.i_size = size; | 365 | file->inode.i_size = size; |
366 | file->inode.i_size_high = 0; | 366 | file->inode.i_size_high = 0; |
367 | if (file->ino) { | 367 | if (file->ino) { |
@@ -370,7 +370,7 @@ errcode_t ext2fs_file_set_size(ext2_file_t file, ext2_off_t size) | |||
370 | return retval; | 370 | return retval; |
371 | } | 371 | } |
372 | 372 | ||
373 | /* | 373 | /* |
374 | * XXX truncate inode if necessary | 374 | * XXX truncate inode if necessary |
375 | */ | 375 | */ |
376 | 376 | ||