Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 103096 Details for
Bug 156697
Patch e2fsprogs for ext4
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
e2fsprogs-1.39-ext4-use_64bit_io.patch
e2fsprogs-1.39-ext4-use_64bit_io.patch (text/plain), 17.82 KB, created by
Conrad Kostecki
on 2006-12-01 00:50:10 UTC
(
hide
)
Description:
e2fsprogs-1.39-ext4-use_64bit_io.patch
Filename:
MIME Type:
Creator:
Conrad Kostecki
Created:
2006-12-01 00:50:10 UTC
Size:
17.82 KB
patch
obsolete
>use 64bit offsets and block numbers (unsigned long long) in >*_read_blk, *_write_blk, and friends. > >Signed-off-by: Alexandre Ratchov <alexandre.ratchov@bull.net> > > >Index: e2fsprogs-1.39/debugfs/debugfs.c >=================================================================== >--- e2fsprogs-1.39.orig/debugfs/debugfs.c 2006-09-19 17:29:59.000000000 +0200 >+++ e2fsprogs-1.39/debugfs/debugfs.c 2006-09-19 17:30:00.000000000 +0200 >@@ -149,13 +149,13 @@ void do_open_filesys(int argc, char **ar > data_filename = optarg; > break; > case 'b': >- blocksize = parse_ulong(optarg, argv[0], >+ blocksize = parse_ullong(optarg, argv[0], > "block size", &err); > if (err) > return; > break; > case 's': >- superblock = parse_ulong(optarg, argv[0], >+ superblock = parse_ullong(optarg, argv[0], > "superblock number", &err); > if (err) > return; >@@ -232,7 +232,7 @@ void do_init_filesys(int argc, char **ar > return; > > memset(¶m, 0, sizeof(struct ext2_super_block)); >- param.s_blocks_count = parse_ulong(argv[2], argv[0], >+ param.s_blocks_count = parse_ullong(argv[2], argv[0], > "blocks count", &err); > if (err) > return; >@@ -1685,7 +1685,7 @@ void do_bmap(int argc, char *argv[]) > ino = string_to_inode(argv[1]); > if (!ino) > return; >- blk = parse_ulong(argv[2], argv[0], "logical_block", &err); >+ blk = parse_ullong(argv[2], argv[0], "logical_block", &err); > > errcode = ext2fs_bmap(current_fs, ino, 0, 0, 0, blk, &pblk); > if (errcode) { >@@ -1823,11 +1823,11 @@ int main(int argc, char **argv) > open_flags |= EXT2_FLAG_RW; > break; > case 'b': >- blocksize = parse_ulong(optarg, argv[0], >+ blocksize = parse_ullong(optarg, argv[0], > "block size", 0); > break; > case 's': >- superblock = parse_ulong(optarg, argv[0], >+ superblock = parse_ullong(optarg, argv[0], > "superblock number", 0); > break; > case 'c': >Index: e2fsprogs-1.39/debugfs/debugfs.h >=================================================================== >--- e2fsprogs-1.39.orig/debugfs/debugfs.h 2006-09-19 17:29:54.000000000 +0200 >+++ e2fsprogs-1.39/debugfs/debugfs.h 2006-09-19 17:30:00.000000000 +0200 >@@ -32,7 +32,7 @@ extern int check_fs_bitmaps(char *name); > extern ext2_ino_t string_to_inode(char *str); > extern char *time_to_string(__u32); > extern time_t string_to_time(const char *); >-extern unsigned long parse_ulong(const char *str, const char *cmd, >+extern unsigned long long parse_ullong(const char *str, const char *cmd, > const char *descr, int *err); > extern int strtoblk(const char *cmd, const char *str, blk_t *ret); > extern int common_args_process(int argc, char *argv[], int min_argc, >Index: e2fsprogs-1.39/debugfs/util.c >=================================================================== >--- e2fsprogs-1.39.orig/debugfs/util.c 2006-09-19 17:29:54.000000000 +0200 >+++ e2fsprogs-1.39/debugfs/util.c 2006-09-19 17:30:00.000000000 +0200 >@@ -238,16 +238,16 @@ extern time_t string_to_time(const char > } > > /* >- * This function will convert a string to an unsigned long, printing >+ * This function will convert a string to an unsigned long long, printing > * an error message if it fails, and returning success or failure in err. > */ >-unsigned long parse_ulong(const char *str, const char *cmd, >+unsigned long long parse_ullong(const char *str, const char *cmd, > const char *descr, int *err) > { > char *tmp; >- unsigned long ret; >+ unsigned long long ret; > >- ret = strtoul(str, &tmp, 0); >+ ret = strtoull(str, &tmp, 0); > if (*tmp == 0) { > if (err) > *err = 0; >@@ -270,7 +270,7 @@ int strtoblk(const char *cmd, const char > blk_t blk; > int err; > >- blk = parse_ulong(str, cmd, "block number", &err); >+ blk = parse_ullong(str, cmd, "block number", &err); > *ret = blk; > if (err == 0 && blk == 0) { > com_err(cmd, 0, "Invalid block number 0"); >@@ -336,7 +336,7 @@ int common_block_args_process(int argc, > if (strtoblk(argv[0], argv[1], block)) > return 1; > if (argc > 2) { >- *count = parse_ulong(argv[2], argv[0], "count", &err); >+ *count = parse_ullong(argv[2], argv[0], "count", &err); > if (err) > return 1; > } >Index: e2fsprogs-1.39/e2fsck/ehandler.c >=================================================================== >--- e2fsprogs-1.39.orig/e2fsck/ehandler.c 2006-09-19 17:29:54.000000000 +0200 >+++ e2fsprogs-1.39/e2fsck/ehandler.c 2006-09-19 17:30:00.000000000 +0200 >@@ -20,7 +20,7 @@ > static const char *operation; > > static errcode_t e2fsck_handle_read_error(io_channel channel, >- unsigned long block, >+ unsigned long long block, > int count, > void *data, > size_t size EXT2FS_ATTR((unused)), >@@ -66,7 +66,7 @@ static errcode_t e2fsck_handle_read_erro > } > > static errcode_t e2fsck_handle_write_error(io_channel channel, >- unsigned long block, >+ unsigned long long block, > int count, > const void *data, > size_t size EXT2FS_ATTR((unused)), >Index: e2fsprogs-1.39/lib/e2p/e2p.h >=================================================================== >--- e2fsprogs-1.39.orig/lib/e2p/e2p.h 2006-09-19 17:29:54.000000000 +0200 >+++ e2fsprogs-1.39/lib/e2p/e2p.h 2006-09-19 17:30:00.000000000 +0200 >@@ -46,7 +46,7 @@ const char *e2p_mntopt2string(unsigned i > int e2p_string2mntopt(char *string, unsigned int *mask); > int e2p_edit_mntopts(const char *str, __u32 *mntopts, __u32 ok); > >-unsigned long parse_num_blocks(const char *arg, int log_block_size); >+unsigned long long parse_num_blocks(const char *arg, int log_block_size); > > char *e2p_os2string(int os_type); > int e2p_string2os(char *str); >Index: e2fsprogs-1.39/lib/e2p/parse_num.c >=================================================================== >--- e2fsprogs-1.39.orig/lib/e2p/parse_num.c 2006-09-19 17:29:54.000000000 +0200 >+++ e2fsprogs-1.39/lib/e2p/parse_num.c 2006-09-19 17:30:00.000000000 +0200 >@@ -11,7 +11,7 @@ > > #include <stdlib.h> > >-unsigned long parse_num_blocks(const char *arg, int log_block_size) >+unsigned long long parse_num_blocks(const char *arg, int log_block_size) > { > char *p; > unsigned long long num; >Index: e2fsprogs-1.39/lib/ext2fs/ext2_io.h >=================================================================== >--- e2fsprogs-1.39.orig/lib/ext2fs/ext2_io.h 2006-09-19 17:29:54.000000000 +0200 >+++ e2fsprogs-1.39/lib/ext2fs/ext2_io.h 2006-09-19 17:30:00.000000000 +0200 >@@ -35,14 +35,14 @@ struct struct_io_channel { > char *name; > int block_size; > errcode_t (*read_error)(io_channel channel, >- unsigned long block, >+ unsigned long long block, > int count, > void *data, > size_t size, > int actual_bytes_read, > errcode_t error); > errcode_t (*write_error)(io_channel channel, >- unsigned long block, >+ unsigned long long block, > int count, > const void *data, > size_t size, >@@ -61,12 +61,12 @@ struct struct_io_manager { > errcode_t (*open)(const char *name, int flags, io_channel *channel); > errcode_t (*close)(io_channel channel); > errcode_t (*set_blksize)(io_channel channel, int blksize); >- errcode_t (*read_blk)(io_channel channel, unsigned long block, >+ errcode_t (*read_blk)(io_channel channel, unsigned long long block, > int count, void *data); >- errcode_t (*write_blk)(io_channel channel, unsigned long block, >+ errcode_t (*write_blk)(io_channel channel, unsigned long long block, > int count, const void *data); > errcode_t (*flush)(io_channel channel); >- errcode_t (*write_byte)(io_channel channel, unsigned long offset, >+ errcode_t (*write_byte)(io_channel channel, unsigned long long offset, > int count, const void *data); > errcode_t (*set_option)(io_channel channel, const char *option, > const char *arg); >@@ -99,9 +99,9 @@ extern io_manager unix_io_manager; > /* test_io.c */ > extern io_manager test_io_manager, test_io_backing_manager; > extern void (*test_io_cb_read_blk) >- (unsigned long block, int count, errcode_t err); >+ (unsigned long long block, int count, errcode_t err); > extern void (*test_io_cb_write_blk) >- (unsigned long block, int count, errcode_t err); >+ (unsigned long long block, int count, errcode_t err); > extern void (*test_io_cb_set_blksize) > (int blksize, errcode_t err); > >Index: e2fsprogs-1.39/lib/ext2fs/inode_io.c >=================================================================== >--- e2fsprogs-1.39.orig/lib/ext2fs/inode_io.c 2006-09-19 17:29:54.000000000 +0200 >+++ e2fsprogs-1.39/lib/ext2fs/inode_io.c 2006-09-19 17:30:00.000000000 +0200 >@@ -49,12 +49,12 @@ static int ino_unique = 0; > static errcode_t inode_open(const char *name, int flags, io_channel *channel); > static errcode_t inode_close(io_channel channel); > static errcode_t inode_set_blksize(io_channel channel, int blksize); >-static errcode_t inode_read_blk(io_channel channel, unsigned long block, >+static errcode_t inode_read_blk(io_channel channel, unsigned long long block, > int count, void *data); >-static errcode_t inode_write_blk(io_channel channel, unsigned long block, >+static errcode_t inode_write_blk(io_channel channel, unsigned long long block, > int count, const void *data); > static errcode_t inode_flush(io_channel channel); >-static errcode_t inode_write_byte(io_channel channel, unsigned long offset, >+static errcode_t inode_write_byte(io_channel channel, unsigned long long offset, > int size, const void *data); > > static struct struct_io_manager struct_inode_manager = { >@@ -197,7 +197,7 @@ static errcode_t inode_set_blksize(io_ch > } > > >-static errcode_t inode_read_blk(io_channel channel, unsigned long block, >+static errcode_t inode_read_blk(io_channel channel, unsigned long long block, > int count, void *buf) > { > struct inode_private_data *data; >@@ -217,7 +217,7 @@ static errcode_t inode_read_blk(io_chann > return ext2fs_file_read(data->file, buf, count, 0); > } > >-static errcode_t inode_write_blk(io_channel channel, unsigned long block, >+static errcode_t inode_write_blk(io_channel channel, unsigned long long block, > int count, const void *buf) > { > struct inode_private_data *data; >@@ -237,7 +237,7 @@ static errcode_t inode_write_blk(io_chan > return ext2fs_file_write(data->file, buf, count, 0); > } > >-static errcode_t inode_write_byte(io_channel channel, unsigned long offset, >+static errcode_t inode_write_byte(io_channel channel, unsigned long long offset, > int size, const void *buf) > { > struct inode_private_data *data; >Index: e2fsprogs-1.39/lib/ext2fs/test_io.c >=================================================================== >--- e2fsprogs-1.39.orig/lib/ext2fs/test_io.c 2006-09-19 17:29:54.000000000 +0200 >+++ e2fsprogs-1.39/lib/ext2fs/test_io.c 2006-09-19 17:30:00.000000000 +0200 >@@ -48,21 +48,21 @@ struct test_private_data { > FILE *outfile; > unsigned long block; > int read_abort_count, write_abort_count; >- void (*read_blk)(unsigned long block, int count, errcode_t err); >- void (*write_blk)(unsigned long block, int count, errcode_t err); >+ void (*read_blk)(unsigned long long block, int count, errcode_t err); >+ void (*write_blk)(unsigned long long block, int count, errcode_t err); > void (*set_blksize)(int blksize, errcode_t err); >- void (*write_byte)(unsigned long block, int count, errcode_t err); >+ void (*write_byte)(unsigned long long block, int count, errcode_t err); > }; > > static errcode_t test_open(const char *name, int flags, io_channel *channel); > static errcode_t test_close(io_channel channel); > static errcode_t test_set_blksize(io_channel channel, int blksize); >-static errcode_t test_read_blk(io_channel channel, unsigned long block, >+static errcode_t test_read_blk(io_channel channel, unsigned long long block, > int count, void *data); >-static errcode_t test_write_blk(io_channel channel, unsigned long block, >+static errcode_t test_write_blk(io_channel channel, unsigned long long block, > int count, const void *data); > static errcode_t test_flush(io_channel channel); >-static errcode_t test_write_byte(io_channel channel, unsigned long offset, >+static errcode_t test_write_byte(io_channel channel, unsigned long long offset, > int count, const void *buf); > static errcode_t test_set_option(io_channel channel, const char *option, > const char *arg); >@@ -88,13 +88,13 @@ io_manager test_io_manager = &struct_tes > */ > io_manager test_io_backing_manager = 0; > void (*test_io_cb_read_blk) >- (unsigned long block, int count, errcode_t err) = 0; >+ (unsigned long long block, int count, errcode_t err) = 0; > void (*test_io_cb_write_blk) >- (unsigned long block, int count, errcode_t err) = 0; >+ (unsigned long long block, int count, errcode_t err) = 0; > void (*test_io_cb_set_blksize) > (int blksize, errcode_t err) = 0; > void (*test_io_cb_write_byte) >- (unsigned long block, int count, errcode_t err) = 0; >+ (unsigned long long block, int count, errcode_t err) = 0; > > /* > * Test flags >@@ -108,7 +108,7 @@ void (*test_io_cb_write_byte) > > static void test_dump_block(io_channel channel, > struct test_private_data *data, >- unsigned long block, const void *buf) >+ unsigned long long block, const void *buf) > { > const unsigned char *cp; > FILE *f = data->outfile; >@@ -118,7 +118,7 @@ static void test_dump_block(io_channel c > for (i=0, cp = buf; i < channel->block_size; i++, cp++) { > cksum += *cp; > } >- fprintf(f, "Contents of block %lu, checksum %08lu: \n", block, cksum); >+ fprintf(f, "Contents of block %llu, checksum %08lu: \n", block, cksum); > for (i=0, cp = buf; i < channel->block_size; i++, cp++) { > if ((i % 16) == 0) > fprintf(f, "%04x: ", i); >@@ -126,7 +126,7 @@ static void test_dump_block(io_channel c > } > } > >-static void test_abort(io_channel channel, unsigned long block) >+static void test_abort(io_channel channel, unsigned long long block) > { > struct test_private_data *data; > FILE *f; >@@ -135,7 +135,7 @@ static void test_abort(io_channel channe > f = data->outfile; > test_flush(channel); > >- fprintf(f, "Aborting due to I/O to block %lu\n", block); >+ fprintf(f, "Aborting due to I/O to block %llu\n", block); > fflush(f); > abort(); > } >@@ -286,7 +286,7 @@ static errcode_t test_set_blksize(io_cha > } > > >-static errcode_t test_read_blk(io_channel channel, unsigned long block, >+static errcode_t test_read_blk(io_channel channel, unsigned long long block, > int count, void *buf) > { > struct test_private_data *data; >@@ -302,7 +302,7 @@ static errcode_t test_read_blk(io_channe > data->read_blk(block, count, retval); > if (data->flags & TEST_FLAG_READ) > fprintf(data->outfile, >- "Test_io: read_blk(%lu, %d) returned %s\n", >+ "Test_io: read_blk(%llu, %d) returned %s\n", > block, count, retval ? error_message(retval) : "OK"); > if (data->block && data->block == block) { > if (data->flags & TEST_FLAG_DUMP) >@@ -313,7 +313,7 @@ static errcode_t test_read_blk(io_channe > return retval; > } > >-static errcode_t test_write_blk(io_channel channel, unsigned long block, >+static errcode_t test_write_blk(io_channel channel, unsigned long long block, > int count, const void *buf) > { > struct test_private_data *data; >@@ -329,7 +329,7 @@ static errcode_t test_write_blk(io_chann > data->write_blk(block, count, retval); > if (data->flags & TEST_FLAG_WRITE) > fprintf(data->outfile, >- "Test_io: write_blk(%lu, %d) returned %s\n", >+ "Test_io: write_blk(%llu, %d) returned %s\n", > block, count, retval ? error_message(retval) : "OK"); > if (data->block && data->block == block) { > if (data->flags & TEST_FLAG_DUMP) >@@ -340,7 +340,7 @@ static errcode_t test_write_blk(io_chann > return retval; > } > >-static errcode_t test_write_byte(io_channel channel, unsigned long offset, >+static errcode_t test_write_byte(io_channel channel, unsigned long long offset, > int count, const void *buf) > { > struct test_private_data *data; >@@ -356,7 +356,7 @@ static errcode_t test_write_byte(io_chan > data->write_byte(offset, count, retval); > if (data->flags & TEST_FLAG_WRITE) > fprintf(data->outfile, >- "Test_io: write_byte(%lu, %d) returned %s\n", >+ "Test_io: write_byte(%llu, %d) returned %s\n", > offset, count, retval ? error_message(retval) : "OK"); > return retval; > } >Index: e2fsprogs-1.39/lib/ext2fs/unix_io.c >=================================================================== >--- e2fsprogs-1.39.orig/lib/ext2fs/unix_io.c 2006-09-19 17:29:54.000000000 +0200 >+++ e2fsprogs-1.39/lib/ext2fs/unix_io.c 2006-09-19 17:30:42.000000000 +0200 >@@ -75,12 +75,12 @@ struct unix_private_data { > static errcode_t unix_open(const char *name, int flags, io_channel *channel); > static errcode_t unix_close(io_channel channel); > static errcode_t unix_set_blksize(io_channel channel, int blksize); >-static errcode_t unix_read_blk(io_channel channel, unsigned long block, >+static errcode_t unix_read_blk(io_channel channel, unsigned long long block, > int count, void *data); >-static errcode_t unix_write_blk(io_channel channel, unsigned long block, >+static errcode_t unix_write_blk(io_channel channel, unsigned long long block, > int count, const void *data); > static errcode_t unix_flush(io_channel channel); >-static errcode_t unix_write_byte(io_channel channel, unsigned long offset, >+static errcode_t unix_write_byte(io_channel channel, unsigned long long offset, > int size, const void *data); > static errcode_t unix_set_option(io_channel channel, const char *option, > const char *arg); >@@ -522,7 +522,7 @@ static errcode_t unix_set_blksize(io_cha > } > > >-static errcode_t unix_read_blk(io_channel channel, unsigned long block, >+static errcode_t unix_read_blk(io_channel channel, unsigned long long block, > int count, void *buf) > { > struct unix_private_data *data; >@@ -587,7 +587,7 @@ static errcode_t unix_read_blk(io_channe > #endif /* NO_IO_CACHE */ > } > >-static errcode_t unix_write_blk(io_channel channel, unsigned long block, >+static errcode_t unix_write_blk(io_channel channel, unsigned long long block, > int count, const void *buf) > { > struct unix_private_data *data; >@@ -639,7 +639,7 @@ static errcode_t unix_write_blk(io_chann > #endif /* NO_IO_CACHE */ > } > >-static errcode_t unix_write_byte(io_channel channel, unsigned long offset, >+static errcode_t unix_write_byte(io_channel channel, unsigned long long offset, > int size, const void *buf) > { > struct unix_private_data *data;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 156697
:
103083
|
103084
|
103085
|
103087
|
103088
|
103089
|
103090
|
103091
|
103092
|
103093
|
103094
|
103095
|
103096
|
103859