mirror of https://github.com/vitalif/e2fsprogs
debugfs: fix logdump to work on files > 2GB
Signed-off-by: Theodore Ts'o <tytso@mit.edu>next
parent
7bd03cf6a1
commit
5eca88c1dc
|
@ -277,7 +277,7 @@ print_usage:
|
||||||
|
|
||||||
|
|
||||||
static int read_journal_block(const char *cmd, struct journal_source *source,
|
static int read_journal_block(const char *cmd, struct journal_source *source,
|
||||||
off_t offset, char *buf, unsigned int size)
|
ext2_loff_t offset, char *buf, unsigned int size)
|
||||||
{
|
{
|
||||||
int retval;
|
int retval;
|
||||||
unsigned int got;
|
unsigned int got;
|
||||||
|
@ -295,8 +295,8 @@ static int read_journal_block(const char *cmd, struct journal_source *source,
|
||||||
got = retval;
|
got = retval;
|
||||||
retval = 0;
|
retval = 0;
|
||||||
} else {
|
} else {
|
||||||
retval = ext2fs_file_lseek(source->file, offset,
|
retval = ext2fs_file_llseek(source->file, offset,
|
||||||
EXT2_SEEK_SET, NULL);
|
EXT2_SEEK_SET, NULL);
|
||||||
if (retval) {
|
if (retval) {
|
||||||
seek_err:
|
seek_err:
|
||||||
com_err(cmd, retval, "while seeking in reading journal");
|
com_err(cmd, retval, "while seeking in reading journal");
|
||||||
|
@ -346,7 +346,6 @@ static void dump_journal(char *cmdname, FILE *out_file,
|
||||||
int retval;
|
int retval;
|
||||||
__u32 magic, sequence, blocktype;
|
__u32 magic, sequence, blocktype;
|
||||||
journal_header_t *header;
|
journal_header_t *header;
|
||||||
|
|
||||||
tid_t transaction;
|
tid_t transaction;
|
||||||
unsigned int blocknr = 0;
|
unsigned int blocknr = 0;
|
||||||
|
|
||||||
|
@ -378,8 +377,8 @@ static void dump_journal(char *cmdname, FILE *out_file,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Next, read the journal superblock */
|
/* Next, read the journal superblock */
|
||||||
|
retval = read_journal_block(cmdname, source,
|
||||||
retval = read_journal_block(cmdname, source, blocknr*blocksize,
|
((ext2_loff_t) blocknr) * blocksize,
|
||||||
jsb_buffer, 1024);
|
jsb_buffer, 1024);
|
||||||
if (retval)
|
if (retval)
|
||||||
return;
|
return;
|
||||||
|
@ -407,8 +406,8 @@ static void dump_journal(char *cmdname, FILE *out_file,
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
retval = read_journal_block(cmdname, source,
|
retval = read_journal_block(cmdname, source,
|
||||||
blocknr*blocksize, buf,
|
((ext2_loff_t) blocknr) * blocksize,
|
||||||
blocksize);
|
buf, blocksize);
|
||||||
if (retval)
|
if (retval)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -646,7 +645,7 @@ static void dump_metadata_block(FILE *out_file, struct journal_source *source,
|
||||||
return;
|
return;
|
||||||
|
|
||||||
retval = read_journal_block("logdump", source,
|
retval = read_journal_block("logdump", source,
|
||||||
blocksize * log_blocknr,
|
((ext2_loff_t) log_blocknr) * blocksize,
|
||||||
buf, blocksize);
|
buf, blocksize);
|
||||||
if (retval)
|
if (retval)
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Reference in New Issue