Merge tag 'v1.46.2' into debian/master
v1.46.2
diff --git a/.release-checklist b/.release-checklist
index c8a6fc2..276dd8a 100644
--- a/.release-checklist
+++ b/.release-checklist
@@ -2,19 +2,18 @@
2) "make check"!!!
-3) Use "git log" to assemble release notes.
+3) Use "git log" to assemble release notes and update RELEASE-NOTES symlink.
-4) Run "(cd po; make e2fsprogs.pot-update)" to update the translation template.
-
-5) Update files which contain version information
+4) Update files which contain version information
version.h
README
- RELEASE-NOTES
e2fsprogs.lsm
e2fsprogs.spec
doc/libext2fs.texinfo (three places)
-6) Make source distribution
+5) Run "(cd po; make e2fsprogs.pot-update)" to update the translation template.
-7) Adjust sizes in e2fsprogs-VER.lsm; rebuild source files; rebuild RPM files
+6) Make source tarfile
+
+7) Adjust sizes in e2fsprogs-VER.lsm; rebuild source files; regenerate source tarfile
diff --git a/README b/README
index 4f516e0..fa4d997 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
- This is the new version (1.46.1) of the second extended file
+ This is the new version (1.46.2) of the second extended file
system management programs.
From time to time, I release new versions of e2fsprogs, to fix
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index c894cce..a0e8f57 120000
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -1 +1 @@
-doc/RelNotes/v1.46.1.txt
\ No newline at end of file
+doc/RelNotes/v1.46.2.txt
\ No newline at end of file
diff --git a/contrib/fallocate.c b/contrib/fallocate.c
index d4273d8..16c08ab 100644
--- a/contrib/fallocate.c
+++ b/contrib/fallocate.c
@@ -95,8 +95,8 @@
int fd;
char *fname;
int opt;
- loff_t length = -2LL;
- loff_t offset = 0;
+ ext2_loff_t length = -2LL;
+ ext2_loff_t offset = 0;
int falloc_mode = 0;
int error;
int tflag = 0;
diff --git a/debian/changelog b/debian/changelog
index 42d4b77..f462967 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,29 @@
+e2fsprogs (1.46.2-1) unstable; urgency=medium
+
+ * New upstream release
+ * Add support for the FS_NOCOMP_FL flag to chattr and lsattr.
+ * Fix Direct I/O support on block devices where the logical block size is
+ greater 1k.
+ * Fix debugfs's logdump so it works on file systems whose block size is
+ greater than 8k.
+ * Fix the debugfs rdump and ls commands so they will work correctly for
+ uid's and gid's => 65536.
+ * Teach the tune2fs program to support "random" as an argument to the -c
+ option, which sets the maximum mount count. (Closes: #926293)
+ * Fix a where e2fsck could a crash when there is error while e2fsck is
+ trying to open the file system, and e2fsck calls ext2fs_mmp_stop()
+ before MMP has been initialized. (Closes: #696609)
+ * Fix the debugfs write and symlink commands so they support targets which
+ contain a pathname (instead of only working when writing a file or
+ creating a symlink in the current directory).
+ * When resizing a small file systems to a super-large file system size,
+ avoid issuing some scary bitmap operation warnings.
+ * Improved error checking in the fast commit replay code in e2fsck.
+ * Updated and clarified the chattr man page.
+ * Update the Spanish translation from the translation project.
+
+ -- Theodore Y. Ts'o <tytso@mit.edu> Sun, 28 Feb 2021 21:24:34 -0500
+
e2fsprogs (1.46.1-1) unstable; urgency=medium
* Drop transitional packages libcomerr2, e2fslibs, and e2fslibs-dev
diff --git a/debugfs/debugfs.c b/debugfs/debugfs.c
index 132c5f9..b67a88b 100644
--- a/debugfs/debugfs.c
+++ b/debugfs/debugfs.c
@@ -493,11 +493,12 @@
"inode table at %llu\n"
" %u free %s%s, "
"%u free %s, "
- "%u used %s%s",
- i, ext2fs_block_bitmap_loc(current_fs, i),
- ext2fs_inode_bitmap_loc(current_fs, i),
- ext2fs_inode_table_loc(current_fs, i),
- ext2fs_bg_free_blocks_count(current_fs, i), units,
+ "%u used %s%s", i,
+ (unsigned long long) ext2fs_block_bitmap_loc(current_fs, i),
+ (unsigned long long) ext2fs_inode_bitmap_loc(current_fs, i),
+ (unsigned long long) ext2fs_inode_table_loc(current_fs, i),
+ ext2fs_bg_free_blocks_count(current_fs, i),
+ units,
ext2fs_bg_free_blocks_count(current_fs, i) != 1 ?
"s" : "",
ext2fs_bg_free_inodes_count(current_fs, i),
@@ -567,11 +568,13 @@
fprintf(lb->f, ", ");
if (lb->first_block == lb->last_block)
fprintf(lb->f, "(%lld):%llu",
- (long long)lb->first_bcnt, lb->first_block);
+ (long long)lb->first_bcnt,
+ (unsigned long long) lb->first_block);
else
fprintf(lb->f, "(%lld-%lld):%llu-%llu",
(long long)lb->first_bcnt, (long long)lb->last_bcnt,
- lb->first_block, lb->last_block);
+ (unsigned long long) lb->first_block,
+ (unsigned long long) lb->last_block);
lb->first_block = 0;
}
@@ -721,18 +724,18 @@
info.curr_level, info.max_depth,
info.curr_entry, info.num_entries,
logical_width,
- extent.e_lblk,
+ (unsigned long long) extent.e_lblk,
logical_width,
- extent.e_lblk + (extent.e_len - 1),
+ (unsigned long long) extent.e_lblk + (extent.e_len - 1),
physical_width,
- extent.e_pblk,
+ (unsigned long long) extent.e_pblk,
physical_width+3, "", extent.e_len);
continue;
}
fprintf(f, "%s(ETB%d):%llu",
printed ? ", " : "", info.curr_level,
- extent.e_pblk);
+ (unsigned long long) extent.e_pblk);
printed = 1;
continue;
}
@@ -743,13 +746,13 @@
info.curr_level, info.max_depth,
info.curr_entry, info.num_entries,
logical_width,
- extent.e_lblk,
+ (unsigned long long) extent.e_lblk,
logical_width,
- extent.e_lblk + (extent.e_len - 1),
+ (unsigned long long) extent.e_lblk + (extent.e_len - 1),
physical_width,
- extent.e_pblk,
+ (unsigned long long) extent.e_pblk,
physical_width,
- extent.e_pblk + (extent.e_len - 1),
+ (unsigned long long) extent.e_pblk + (extent.e_len - 1),
extent.e_len,
extent.e_flags & EXT2_EXTENT_FLAGS_UNINIT ?
"Uninit" : "");
@@ -762,20 +765,20 @@
fprintf(f,
"%s(%lld%s):%lld",
printed ? ", " : "",
- extent.e_lblk,
+ (unsigned long long) extent.e_lblk,
extent.e_flags & EXT2_EXTENT_FLAGS_UNINIT ?
"[u]" : "",
- extent.e_pblk);
+ (unsigned long long) extent.e_pblk);
else
fprintf(f,
"%s(%lld-%lld%s):%lld-%lld",
printed ? ", " : "",
- extent.e_lblk,
- extent.e_lblk + (extent.e_len - 1),
+ (unsigned long long) extent.e_lblk,
+ (unsigned long long) extent.e_lblk + (extent.e_len - 1),
extent.e_flags & EXT2_EXTENT_FLAGS_UNINIT ?
"[u]" : "",
- extent.e_pblk,
- extent.e_pblk + (extent.e_len - 1));
+ (unsigned long long) extent.e_pblk,
+ (unsigned long long) extent.e_pblk + (extent.e_len - 1));
printed = 1;
}
if (printed)
@@ -861,7 +864,7 @@
fprintf(out, " Project: %5d", large_inode->i_projid);
fputs(" Size: ", out);
if (LINUX_S_ISREG(inode->i_mode) || LINUX_S_ISDIR(inode->i_mode))
- fprintf(out, "%llu\n", EXT2_I_SIZE(inode));
+ fprintf(out, "%llu\n", (unsigned long long) EXT2_I_SIZE(inode));
else
fprintf(out, "%u\n", inode->i_size);
if (os == EXT2_OS_HURD)
@@ -1085,7 +1088,7 @@
int ref_offset EXT2FS_ATTR((unused)),
void *private EXT2FS_ATTR((unused)))
{
- printf("%llu ", *blocknr);
+ printf("%llu ", (unsigned long long) *blocknr);
return 0;
}
@@ -1232,7 +1235,7 @@
while (count-- > 0) {
if (!ext2fs_test_block_bitmap2(current_fs->block_map,block))
com_err(argv[0], 0, "Warning: block %llu already clear",
- block);
+ (unsigned long long) block);
ext2fs_unmark_block_bitmap2(current_fs->block_map,block);
block++;
}
@@ -1252,7 +1255,7 @@
while (count-- > 0) {
if (ext2fs_test_block_bitmap2(current_fs->block_map,block))
com_err(argv[0], 0, "Warning: block %llu already set",
- block);
+ (unsigned long long) block);
ext2fs_mark_block_bitmap2(current_fs->block_map,block);
block++;
}
@@ -1270,9 +1273,11 @@
return;
while (count-- > 0) {
if (ext2fs_test_block_bitmap2(current_fs->block_map,block))
- printf("Block %llu marked in use\n", block);
+ printf("Block %llu marked in use\n",
+ (unsigned long long) block);
else
- printf("Block %llu not in use\n", block);
+ printf("Block %llu not in use\n",
+ (unsigned long long) block);
block++;
}
}
@@ -1708,7 +1713,7 @@
com_err("ext2fs_new_block", retval, 0);
return;
} else
- printf("%llu ", free_blk);
+ printf("%llu ", (unsigned long long) free_blk);
}
printf("\n");
}
@@ -2110,10 +2115,11 @@
&ret_flags, &pblk);
if (errcode) {
com_err(argv[0], errcode,
- "while mapping logical block %llu\n", blk);
+ "while mapping logical block %llu\n",
+ (unsigned long long) blk);
return;
}
- printf("%llu", pblk);
+ printf("%llu", (unsigned long long) pblk);
if (ret_flags & BMAP_RET_UNINIT)
fputs(" (uninit)", stdout);
fputc('\n', stdout);
@@ -2447,17 +2453,19 @@
retval = ext2fs_mmp_read(current_fs, mmp_block, current_fs->mmp_buf);
if (retval) {
com_err(argv[0], retval, "reading MMP block %llu.\n",
- mmp_block);
+ (unsigned long long) mmp_block);
return;
}
t = mmp_s->mmp_time;
- fprintf(stdout, "block_number: %llu\n", current_fs->super->s_mmp_block);
+ fprintf(stdout, "block_number: %llu\n",
+ (unsigned long long) current_fs->super->s_mmp_block);
fprintf(stdout, "update_interval: %d\n",
current_fs->super->s_mmp_update_interval);
fprintf(stdout, "check_interval: %d\n", mmp_s->mmp_check_interval);
fprintf(stdout, "sequence: %08x\n", mmp_s->mmp_seq);
- fprintf(stdout, "time: %lld -- %s", mmp_s->mmp_time, ctime(&t));
+ fprintf(stdout, "time: %llu -- %s",
+ (unsigned long long) mmp_s->mmp_time, ctime(&t));
fprintf(stdout, "node_name: %.*s\n",
EXT2_LEN_STR(mmp_s->mmp_nodename));
fprintf(stdout, "device_name: %.*s\n",
diff --git a/debugfs/do_journal.c b/debugfs/do_journal.c
index c25e894..38439c6 100644
--- a/debugfs/do_journal.c
+++ b/debugfs/do_journal.c
@@ -530,8 +530,6 @@
}
err = journal_close_trans(&trans);
- if (err)
- goto error;
error:
return err;
}
@@ -556,15 +554,19 @@
switch (opt) {
case 'b':
err = read_list(optarg, &blist, &bn);
- if (err)
+ if (err) {
com_err(argv[0], err,
"while reading block list");
+ goto out;
+ }
break;
case 'r':
err = read_list(optarg, &rlist, &rn);
- if (err)
+ if (err) {
com_err(argv[0], err,
"while reading revoke list");
+ goto out;
+ }
break;
case 'c':
flags |= JOURNAL_WRITE_NO_COMMIT;
diff --git a/debugfs/dump.c b/debugfs/dump.c
index fdd6619..42f5204 100644
--- a/debugfs/dump.c
+++ b/debugfs/dump.c
@@ -81,12 +81,12 @@
com_err(cmd, errno, "while setting permissions of %s", name);
#ifndef HAVE_FCHOWN
- i = chown(name, inode->i_uid, inode->i_gid);
+ i = chown(name, inode_uid(*inode), inode_gid(*inode));
#else
if (fd != -1)
- i = fchown(fd, inode->i_uid, inode->i_gid);
+ i = fchown(fd, inode_uid(*inode), inode_gid(*inode));
else
- i = chown(name, inode->i_uid, inode->i_gid);
+ i = chown(name, inode_uid(*inode), inode_gid(*inode));
#endif
if (i == -1)
com_err(cmd, errno, "while changing ownership of %s", name);
diff --git a/debugfs/extent_inode.c b/debugfs/extent_inode.c
index 6706629..e4e815e 100644
--- a/debugfs/extent_inode.c
+++ b/debugfs/extent_inode.c
@@ -33,8 +33,9 @@
if (desc)
printf("%s: ", desc);
printf("extent: lblk %llu--%llu, len %u, pblk %llu, flags: ",
- extent->e_lblk, extent->e_lblk + extent->e_len - 1,
- extent->e_len, extent->e_pblk);
+ (unsigned long long) extent->e_lblk,
+ (unsigned long long) extent->e_lblk + extent->e_len - 1,
+ extent->e_len, (unsigned long long) extent->e_pblk);
if (extent->e_flags & EXT2_EXTENT_FLAGS_LEAF)
fputs("LEAF ", stdout);
if (extent->e_flags & EXT2_EXTENT_FLAGS_UNINIT)
@@ -527,8 +528,9 @@
printf("Current handle location: %d/%d (max: %d, bytes %d), level %d/%d\n",
info.curr_entry, info.num_entries, info.max_entries,
info.bytes_avail, info.curr_level, info.max_depth);
- printf("\tmax lblk: %llu, max pblk: %llu\n", info.max_lblk,
- info.max_pblk);
+ printf("\tmax lblk: %llu, max pblk: %llu\n",
+ (unsigned long long) info.max_lblk,
+ (unsigned long long) info.max_pblk);
printf("\tmax_len: %u, max_uninit_len: %u\n", info.max_len,
info.max_uninit_len);
}
diff --git a/debugfs/filefrag.c b/debugfs/filefrag.c
index 961b696..31c1440 100644
--- a/debugfs/filefrag.c
+++ b/debugfs/filefrag.c
@@ -85,14 +85,17 @@
fprintf(fs->f, "%4d %*lu %*llu %*llu %*lu\n", fs->ext,
fs->logical_width,
(unsigned long) fs->logical_start,
- fs->physical_width, fs->physical_start,
- fs->physical_width, fs->expected,
+ fs->physical_width,
+ (unsigned long long) fs->physical_start,
+ fs->physical_width,
+ (unsigned long long) fs->expected,
fs->logical_width, (unsigned long) fs->num);
else
fprintf(fs->f, "%4d %*lu %*llu %*s %*lu\n", fs->ext,
fs->logical_width,
(unsigned long) fs->logical_start,
- fs->physical_width, fs->physical_start,
+ fs->physical_width,
+ (unsigned long long) fs->physical_start,
fs->physical_width, "",
fs->logical_width, (unsigned long) fs->num);
}
@@ -150,7 +153,8 @@
num_blocks /= current_fs->blocksize / 512;
fprintf(fs->f, "\n%s has %llu block(s), i_size is %llu\n",
- fs->name, num_blocks, EXT2_I_SIZE(inode));
+ fs->name, (unsigned long long) num_blocks,
+ (unsigned long long) EXT2_I_SIZE(inode));
}
print_header(fs);
if (ext2fs_inode_has_valid_blocks2(current_fs, inode)) {
diff --git a/debugfs/htree.c b/debugfs/htree.c
index 23a9467..a9f9211 100644
--- a/debugfs/htree.c
+++ b/debugfs/htree.c
@@ -53,16 +53,18 @@
errcode = ext2fs_bmap2(fs, ino, inode, buf, 0, blk, 0, &pblk);
if (errcode) {
com_err("htree_dump_leaf_node", errcode,
- "while mapping logical block %llu\n", blk);
+ "while mapping logical block %llu\n",
+ (unsigned long long) blk);
return;
}
- fprintf(pager, "Reading directory block %llu, phys %llu\n", blk, pblk);
+ fprintf(pager, "Reading directory block %llu, phys %llu\n",
+ (unsigned long long) blk, (unsigned long long) pblk);
errcode = ext2fs_read_dir_block4(current_fs, pblk, buf, 0, ino);
if (errcode) {
com_err("htree_dump_leaf_node", errcode,
"while reading block %llu (%llu)\n",
- blk, pblk);
+ (unsigned long long) blk, (unsigned long long) pblk);
return;
}
hash_alg = rootnode->hash_version;
@@ -85,7 +87,7 @@
((rec_len % 4) != 0) ||
((unsigned) thislen + 8 > rec_len)) {
fprintf(pager, "Corrupted directory block (%llu)!\n",
- blk);
+ (unsigned long long) blk);
break;
}
strncpy(name, dirent->name, thislen);
@@ -213,14 +215,16 @@
errcode = ext2fs_bmap2(fs, ino, inode, buf, 0, blk, 0, &pblk);
if (errcode) {
com_err("htree_dump_int_block", errcode,
- "while mapping logical block %llu\n", blk);
+ "while mapping logical block %llu\n",
+ (unsigned long long) blk);
goto errout;
}
errcode = io_channel_read_blk64(current_fs->io, pblk, 1, buf);
if (errcode) {
com_err("htree_dump_int_block", errcode,
- "while reading block %llu\n", blk);
+ "while reading block %llu\n",
+ (unsigned long long) blk);
goto errout;
}
@@ -473,7 +477,7 @@
p->len) == 0) {
printf("Entry found at logical block %lld, "
"phys %llu, offset %u\n", (long long)blockcnt,
- *blocknr, offset);
+ (unsigned long long) *blocknr, offset);
printf("offset %u\n", offset);
return BLOCK_ABORT;
}
diff --git a/debugfs/icheck.c b/debugfs/icheck.c
index 71164cf..ed6e950 100644
--- a/debugfs/icheck.c
+++ b/debugfs/icheck.c
@@ -159,10 +159,12 @@
printf("Block\tInode number\n");
for (i=0, binfo = bw.barray; i < bw.num_blocks; i++, binfo++) {
if (binfo->ino == 0) {
- printf("%llu\t<block not found>\n", binfo->blk);
+ printf("%llu\t<block not found>\n",
+ (unsigned long long) binfo->blk);
continue;
}
- printf("%llu\t%u\n", binfo->blk, binfo->ino);
+ printf("%llu\t%u\n", (unsigned long long) binfo->blk,
+ binfo->ino);
}
error_out:
diff --git a/debugfs/logdump.c b/debugfs/logdump.c
index 354bc96..27e2e72 100644
--- a/debugfs/logdump.c
+++ b/debugfs/logdump.c
@@ -56,7 +56,7 @@
static void dump_descriptor_block(FILE *, struct journal_source *,
char *, journal_superblock_t *,
- unsigned int *, int, tid_t);
+ unsigned int *, int, __u32, tid_t);
static void dump_revoke_block(FILE *, char *, journal_superblock_t *,
unsigned int, int, tid_t);
@@ -71,10 +71,9 @@
static void do_hexdump (FILE *, char *, int);
-#define WRAP(jsb, blocknr) \
- if (blocknr >= be32_to_cpu((jsb)->s_maxlen)) \
- blocknr -= (be32_to_cpu((jsb)->s_maxlen) - \
- be32_to_cpu((jsb)->s_first));
+#define WRAP(jsb, blocknr, maxlen) \
+ if (blocknr >= (maxlen)) \
+ blocknr -= (maxlen - be32_to_cpu((jsb)->s_first));
void do_logdump(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)),
void *infop EXT2FS_ATTR((unused)))
@@ -86,11 +85,11 @@
char *inode_spec = NULL;
char *journal_fn = NULL;
- int journal_fd = 0;
+ int journal_fd = -1;
int use_sb = 0;
ext2_ino_t journal_inum;
struct ext2_inode journal_inode;
- ext2_file_t journal_file;
+ ext2_file_t journal_file = NULL;
char *tmp;
struct journal_source journal_source;
struct ext2_super_block *es = NULL;
@@ -150,9 +149,6 @@
goto print_usage;
}
- if (current_fs)
- es = current_fs->super;
-
if (inode_spec) {
int inode_group, group_offset, inodes_per_block;
@@ -163,6 +159,7 @@
if (!inode_to_dump)
return;
+ es = current_fs->super;
inode_group = ((inode_to_dump - 1)
/ es->s_inodes_per_group);
group_offset = ((inode_to_dump - 1)
@@ -177,7 +174,8 @@
* sizeof(struct ext2_inode));
printf("Inode %u is at group %u, block %llu, offset %u\n",
inode_to_dump, inode_group,
- inode_block_to_dump, inode_offset_to_dump);
+ (unsigned long long) inode_block_to_dump,
+ inode_offset_to_dump);
}
if (optind == argc) {
@@ -188,37 +186,44 @@
if (!out_file) {
com_err(argv[0], errno, "while opening %s for logdump",
out_fn);
- goto errout;
+ goto cleanup;
}
}
- if (block_to_dump != ANY_BLOCK && current_fs != NULL) {
+ if (block_to_dump != ANY_BLOCK) {
+ if (check_fs_open(argv[0]))
+ goto cleanup;
+ es = current_fs->super;
group_to_dump = ((block_to_dump -
es->s_first_data_block)
/ es->s_blocks_per_group);
bitmap_to_dump = ext2fs_block_bitmap_loc(current_fs, group_to_dump);
}
- if (!journal_fn && check_fs_open(argv[0]))
- goto errout;
-
if (journal_fn) {
/* Set up to read journal from a regular file somewhere */
journal_fd = open(journal_fn, O_RDONLY, 0);
if (journal_fd < 0) {
com_err(argv[0], errno, "while opening %s for logdump",
journal_fn);
- goto errout;
+ goto cleanup;
}
-
journal_source.where = JOURNAL_IS_EXTERNAL;
journal_source.fd = journal_fd;
- } else if ((journal_inum = es->s_journal_inum)) {
+ dump_journal(argv[0], out_file, &journal_source);
+ goto cleanup;
+
+ }
+ if (check_fs_open(argv[0]))
+ goto cleanup;
+ es = current_fs->super;
+
+ if ((journal_inum = es->s_journal_inum)) {
if (use_sb) {
if (es->s_jnl_backup_type != EXT3_JNL_BACKUP_BLOCKS) {
com_err(argv[0], 0,
"no journal backup in super block\n");
- goto errout;
+ goto cleanup;
}
memset(&journal_inode, 0, sizeof(struct ext2_inode));
memcpy(&journal_inode.i_block[0], es->s_jnl_blocks,
@@ -230,14 +235,14 @@
} else {
if (debugfs_read_inode(journal_inum, &journal_inode,
argv[0]))
- goto errout;
+ goto cleanup;
}
retval = ext2fs_file_open2(current_fs, journal_inum,
&journal_inode, 0, &journal_file);
if (retval) {
com_err(argv[0], retval, "while opening ext2 file");
- goto errout;
+ goto cleanup;
}
journal_source.where = JOURNAL_IS_INTERNAL;
journal_source.file = journal_file;
@@ -250,14 +255,14 @@
journal_fn = blkid_devno_to_devname(es->s_journal_dev);
if (!journal_fn) {
com_err(argv[0], 0, "filesystem has no journal");
- goto errout;
+ goto cleanup;
}
journal_fd = open(journal_fn, O_RDONLY, 0);
if (journal_fd < 0) {
com_err(argv[0], errno, "while opening %s for logdump",
journal_fn);
free(journal_fn);
- goto errout;
+ goto cleanup;
}
fprintf(out_file, "Using external journal found at %s\n",
journal_fn);
@@ -265,15 +270,12 @@
journal_source.where = JOURNAL_IS_EXTERNAL;
journal_source.fd = journal_fd;
}
-
dump_journal(argv[0], out_file, &journal_source);
-
- if (journal_source.where == JOURNAL_IS_INTERNAL)
- ext2fs_file_close(journal_file);
- else
+cleanup:
+ if (journal_fd >= 0)
close(journal_fd);
-
-errout:
+ if (journal_file)
+ ext2fs_file_close(journal_file);
if (out_file && (out_file != stdout))
fclose(out_file);
@@ -349,7 +351,7 @@
{
struct ext2_super_block *sb;
char jsb_buffer[1024];
- char buf[8192];
+ char buf[EXT2_MAX_BLOCK_SIZE];
journal_superblock_t *jsb;
unsigned int blocksize = 1024;
int retval;
@@ -358,6 +360,8 @@
tid_t transaction;
unsigned int blocknr = 0;
int fc_done;
+ __u64 total_len;
+ __u32 maxlen;
/* First, check to see if there's an ext2 superblock header */
retval = read_journal_block(cmdname, source, 0, buf, 2048);
@@ -406,8 +410,35 @@
return;
}
blocksize = be32_to_cpu(jsb->s_blocksize);
+ if ((current_fs && (blocksize != current_fs->blocksize)) ||
+ (!current_fs && (!blocksize || (blocksize & (blocksize - 1)) ||
+ (blocksize > EXT2_MAX_BLOCK_SIZE)))) {
+ fprintf(out_file,
+ "Journal block size invalid: %u (%u)\n",
+ be32_to_cpu(jsb->s_blocksize), blocksize);
+ return;
+ }
transaction = be32_to_cpu(jsb->s_sequence);
blocknr = be32_to_cpu(jsb->s_start);
+ if (source->where == JOURNAL_IS_INTERNAL) {
+ retval = ext2fs_file_get_lsize(source->file, &total_len);
+ if (retval) {
+ stat_err:
+ com_err("dump_journal", retval,
+ "while getting journal inode size");
+ return;
+ }
+ total_len /= blocksize;
+ } else {
+ struct stat st;
+
+ if (fstat(source->fd, &st) < 0)
+ goto stat_err;
+ total_len = st.st_size / blocksize;
+ }
+ maxlen = be32_to_cpu(jsb->s_maxlen);
+ if (maxlen > total_len)
+ maxlen = total_len;
fprintf(out_file, "Journal starts at block %u, transaction %u\n",
blocknr, transaction);
@@ -457,14 +488,14 @@
switch (blocktype) {
case JBD2_DESCRIPTOR_BLOCK:
dump_descriptor_block(out_file, source, buf, jsb,
- &blocknr, blocksize,
+ &blocknr, blocksize, maxlen,
transaction);
continue;
case JBD2_COMMIT_BLOCK:
transaction++;
blocknr++;
- WRAP(jsb, blocknr);
+ WRAP(jsb, blocknr, maxlen);
continue;
case JBD2_REVOKE_BLOCK:
@@ -472,7 +503,7 @@
blocknr, blocksize,
transaction);
blocknr++;
- WRAP(jsb, blocknr);
+ WRAP(jsb, blocknr, maxlen);
continue;
default:
@@ -483,8 +514,8 @@
}
fc:
- blocknr = be32_to_cpu(jsb->s_maxlen) - jbd2_journal_get_num_fc_blks(jsb) + 1;
- while (blocknr <= be32_to_cpu(jsb->s_maxlen)) {
+ blocknr = maxlen - jbd2_journal_get_num_fc_blks(jsb) + 1;
+ while (blocknr <= maxlen) {
retval = read_journal_block(cmdname, source,
((ext2_loff_t) blocknr) * blocksize,
buf, blocksize);
@@ -541,7 +572,7 @@
le32_to_cpu(add_range->fc_ino),
le32_to_cpu(ex->ee_block),
le32_to_cpu(ex->ee_start) +
- (((__u64) le16_to_cpu(ex->ee_start_hi)) << 32),
+ (((unsigned long long) le16_to_cpu(ex->ee_start_hi)) << 32),
le16_to_cpu(ex->ee_len) > EXT_INIT_MAX_LEN ?
le16_to_cpu(ex->ee_len) - EXT_INIT_MAX_LEN :
le16_to_cpu(ex->ee_len));
@@ -613,6 +644,7 @@
char *buf,
journal_superblock_t *jsb,
unsigned int *blockp, int blocksize,
+ __u32 maxlen,
tid_t transaction)
{
int offset, tag_size, csum_size = 0;
@@ -635,7 +667,7 @@
"block %u:\n", transaction, blocknr);
++blocknr;
- WRAP(jsb, blocknr);
+ WRAP(jsb, blocknr, maxlen);
do {
/* Work out the location of the current tag, and skip to
@@ -660,7 +692,7 @@
transaction);
++blocknr;
- WRAP(jsb, blocknr);
+ WRAP(jsb, blocknr, maxlen);
} while (!(tag_flags & JBD2_FLAG_LAST_TAG));
@@ -689,6 +721,11 @@
header = (jbd2_journal_revoke_header_t *) buf;
offset = sizeof(jbd2_journal_revoke_header_t);
max = be32_to_cpu(header->r_count);
+ if (max > jsb->s_blocksize) {
+ fprintf(out_file, "Revoke block's r_count invalid: %u\b",
+ max);
+ max = jsb->s_blocksize;
+ }
while (offset < max) {
if (tag_size == sizeof(__u32)) {
@@ -699,7 +736,8 @@
rblock = ext2fs_be64_to_cpu(*entry);
}
if (dump_all || rblock == block_to_dump) {
- fprintf(out_file, " Revoke FS block %llu", rblock);
+ fprintf(out_file, " Revoke FS block %llu",
+ (unsigned long long) rblock);
if (dump_all)
fprintf(out_file, "\n");
else
@@ -735,7 +773,7 @@
tid_t transaction)
{
int retval;
- char buf[8192];
+ char buf[EXT2_MAX_BLOCK_SIZE];
if (!(dump_all
|| (fs_blocknr == block_to_dump)
@@ -783,7 +821,7 @@
fprintf(out_file, " (block bitmap for block %llu: "
"block is %s)\n",
- block_to_dump,
+ (unsigned long long) block_to_dump,
ext2fs_test_bit(offset, buf) ? "SET" : "CLEAR");
}
diff --git a/debugfs/ls.c b/debugfs/ls.c
index ae8b2d3..525f084 100644
--- a/debugfs/ls.c
+++ b/debugfs/ls.c
@@ -114,11 +114,12 @@
} else
memset(&inode, 0, sizeof(struct ext2_inode));
fprintf(ls->f,"/%u/%06o/%d/%d/%.*s/", ino, inode.i_mode,
- inode.i_uid, inode.i_gid, thislen, dirent->name);
+ inode_uid(inode), inode_gid(inode), thislen, dirent->name);
if (LINUX_S_ISDIR(inode.i_mode))
fprintf(ls->f, "/");
else
- fprintf(ls->f, "%lld/", EXT2_I_SIZE(&inode));
+ fprintf(ls->f, "%llu/",
+ (unsigned long long) EXT2_I_SIZE(&inode));
fprintf(ls->f, "\n");
} else if (options & LONG_OPT) {
if (ino) {
@@ -143,7 +144,8 @@
fprintf(ls->f, "(%d) %5d %5d ",
ext2fs_dirent_file_type(dirent),
inode_uid(inode), inode_gid(inode));
- fprintf(ls->f, "%5llu", EXT2_I_SIZE(&inode));
+ fprintf(ls->f, "%5llu",
+ (unsigned long long) EXT2_I_SIZE(&inode));
fprintf(ls->f, " %s ", datestr);
print_filename(ls->f, dirent, options);
fputc('\n', ls->f);
diff --git a/debugfs/lsdel.c b/debugfs/lsdel.c
index c0d5890..52c7419 100644
--- a/debugfs/lsdel.c
+++ b/debugfs/lsdel.c
@@ -198,8 +198,10 @@
for (i = 0; i < num_delarray; i++) {
fprintf(out, "%6u %6d %6o %6llu %6lld/%6lld %s",
delarray[i].ino,
- delarray[i].uid, delarray[i].mode, delarray[i].size,
- delarray[i].free_blocks, delarray[i].num_blocks,
+ delarray[i].uid, delarray[i].mode,
+ (unsigned long long) delarray[i].size,
+ (long long) delarray[i].free_blocks,
+ (long long) delarray[i].num_blocks,
time_to_string(delarray[i].dtime));
}
fprintf(out, "%d deleted inodes found.\n", num_delarray);
diff --git a/debugfs/unused.c b/debugfs/unused.c
index a6b44b5..08191a0 100644
--- a/debugfs/unused.c
+++ b/debugfs/unused.c
@@ -53,7 +53,7 @@
if (i >= current_fs->blocksize)
continue;
printf("\nUnused block %llu contains non-zero data:\n\n",
- blk);
+ (unsigned long long) blk);
for (i=0; i < current_fs->blocksize; i++)
fputc(buf[i], stdout);
}
diff --git a/debugfs/util.c b/debugfs/util.c
index fb05e89..9e88054 100644
--- a/debugfs/util.c
+++ b/debugfs/util.c
@@ -521,7 +521,7 @@
blk64_t *lst = *list;
size_t ln = *len;
char *tok, *p = str;
- errcode_t retval;
+ errcode_t retval = 0;
while ((tok = strtok(p, ","))) {
blk64_t *l;
@@ -530,23 +530,29 @@
errno = 0;
y = x = strtoull(tok, &e, 0);
- if (errno)
- return errno;
+ if (errno) {
+ retval = errno;
+ break;
+ }
if (*e == '-') {
y = strtoull(e + 1, NULL, 0);
- if (errno)
- return errno;
+ if (errno) {
+ retval = errno;
+ break;
+ }
} else if (*e != 0) {
retval = EINVAL;
- goto err;
+ break;
}
if (y < x) {
retval = EINVAL;
- goto err;
+ break;
}
l = realloc(lst, sizeof(blk64_t) * (ln + y - x + 1));
- if (l == NULL)
- return ENOMEM;
+ if (l == NULL) {
+ retval = ENOMEM;
+ break;
+ }
lst = l;
for (; x <= y; x++)
lst[ln++] = x;
@@ -555,9 +561,6 @@
*list = lst;
*len = ln;
- return 0;
-err:
- free(lst);
return retval;
}
diff --git a/debugfs/zap.c b/debugfs/zap.c
index f120377..f862482 100644
--- a/debugfs/zap.c
+++ b/debugfs/zap.c
@@ -133,7 +133,8 @@
block, 0, &block);
if (errcode) {
com_err(argv[0], errcode,
- "while mapping logical block %llu\n", block);
+ "while mapping logical block %llu\n",
+ (unsigned long long) block);
return;
}
}
@@ -147,7 +148,8 @@
errcode = io_channel_read_blk64(current_fs->io, block, 1, buf);
if (errcode) {
com_err(argv[0], errcode,
- "while reading block %llu\n", block);
+ "while reading block %llu\n",
+ (unsigned long long) block);
goto errout;
}
@@ -159,7 +161,8 @@
errcode = io_channel_write_blk64(current_fs->io, block, 1, buf);
if (errcode) {
com_err(argv[0], errcode,
- "while write block %llu\n", block);
+ "while write block %llu\n",
+ (unsigned long long) block);
goto errout;
}
@@ -214,7 +217,8 @@
block, 0, &block);
if (errcode) {
com_err(argv[0], errcode,
- "while mapping logical block %llu\n", block);
+ "while mapping logical block %llu\n",
+ (unsigned long long) block);
return;
}
}
@@ -228,7 +232,8 @@
errcode = io_channel_read_blk64(current_fs->io, block, 1, buf);
if (errcode) {
com_err(argv[0], errcode,
- "while reading block %llu\n", block);
+ "while reading block %llu\n",
+ (unsigned long long) block);
goto errout;
}
diff --git a/doc/RelNotes/v1.46.2.txt b/doc/RelNotes/v1.46.2.txt
new file mode 100644
index 0000000..8f15738
--- /dev/null
+++ b/doc/RelNotes/v1.46.2.txt
@@ -0,0 +1,64 @@
+E2fsprogs 1.46.2 (February 28, 2021)
+===================================
+
+Updates/Fixes since v1.46.1:
+
+UI and Features
+---------------
+
+Teach the tune2fs program to support "random" as an argument to the -c
+option, which sets the maximum mount count. (Addresses Debian Bug:
+#926293)
+
+Add support for the FS_NOCOMP_FL flag to chattr and lsattr.
+
+
+Fixes
+-----
+
+When resizing a small file systems to a super-large file system size,
+avoid issuing some scary bitmap operation warnings. (Addresses Github
+issue https://github.com/tytso/e2fsprogs/issues/60)
+
+Fix the debugfs rdump and ls commands so they will work correctly for
+uid's and gid's => 65536. (Addresses Github issue issue
+https://github.com/tytso/e2fsprogs/issues/63)
+
+Fix the debugfs write and symlink commands so they support targets which
+contain a pathname (instead of only working when writing a file or
+creating a symlink in the current directory). (Addresses Github issue
+https://github.com/tytso/e2fsprogs/issues/61)
+
+Fix Direct I/O support on block devices where the logical block size is
+greater 1k. (This includes Advanced Format HDD's, where the sector size
+is 4k, and IBM Mainframe DASD's, where the sector size is 2k.)
+
+Fix debugfs's logdump so it works on file systems whose block size is
+greater than 8k.
+
+Fix a where e2fsck could a crash when there is error while e2fsck is
+trying to open the file system, and e2fsck calls ext2fs_mmp_stop()
+before MMP has been initialized. (Addresses Debian Bug: #696609)
+
+Improved error checking in the fast commit replay code in e2fsck.
+
+Updated and clarified the chattr man page.
+
+
+Performance, Internal Implementation, Development Support etc.
+--------------------------------------------------------------
+
+Fix various compiler and Coverity warnings.
+
+Update the Spanish translation from the translation project.
+
+Update the e2fsck/iscan.c test program so that it builds again.
+
+Fix an environmental dependency bug for the m_rootdir_acl regression
+test.
+
+Avoid the use of loff_t, which is not available for all compilers /
+system include files.
+
+Fix failure of the t_mmp_fail test when running on a device with a 4k
+logical sector size.
diff --git a/doc/libext2fs.texinfo b/doc/libext2fs.texinfo
index 7ebcfba..26cfb0a 100644
--- a/doc/libext2fs.texinfo
+++ b/doc/libext2fs.texinfo
@@ -1,7 +1,7 @@
\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename libext2fs.info
-@settitle The EXT2FS Library (version 1.46.1)
+@settitle The EXT2FS Library (version 1.46.2)
@synindex tp fn
@comment %**end of header
@@ -60,7 +60,7 @@
@title The EXT2FS Library
@subtitle The EXT2FS Library
-@subtitle Version 1.46.1
+@subtitle Version 1.46.2
@subtitle February 2021
@author by Theodore Ts'o
@@ -101,7 +101,7 @@
@top The EXT2FS Library
-This manual documents the EXT2FS Library, version 1.46.1.
+This manual documents the EXT2FS Library, version 1.46.2.
@menu
* Introduction to the EXT2FS Library::
diff --git a/e2fsck/Makefile.in b/e2fsck/Makefile.in
index a0867f8..71ac3cf 100644
--- a/e2fsck/Makefile.in
+++ b/e2fsck/Makefile.in
@@ -168,9 +168,13 @@
$(E) " LD $@"
$(Q) $(LD) $(ALL_LDFLAGS) -o flushb flushb.o $(CHECKLIB)
-iscan: iscan.o util.o ehandler.o $(DEPLIBS)
+iscan: iscan.o $(DEPLIBS)
$(E) " LD $@"
- $(Q) $(LD) $(ALL_LDFLAGS) -o iscan iscan.o util.o ehandler.o $(LIBS)
+ $(Q) $(LD) $(ALL_LDFLAGS) -o iscan iscan.o $(LIBS)
+
+iscan.static: iscan.o $(STATIC_DEPLIBS)
+ $(E) " LD $@"
+ $(Q) $(LD) $(LDFLAGS_STATIC) -o iscan.static iscan.o $(STATIC_LIBS)
test_profile: $(srcdir)/profile.c profile_helpers.o argv_parse.o \
prof_err.o profile.h $(DEPSTATIC_LIBCOM_ERR)
@@ -254,7 +258,7 @@
e2fsck.shared e2fsck.profiled flushb e2fsck.8 \
tst_problem tst_region tst_refcount tst_crc32 \
gen_crc32table e2fsck.conf.5 \
- prof_err.c prof_err.h test_profile
+ prof_err.c prof_err.h test_profile iscan iscan.static
$(RM) -rf profiled
mostlyclean: clean
diff --git a/e2fsck/badblocks.c b/e2fsck/badblocks.c
index 7f3641b..fec5f10 100644
--- a/e2fsck/badblocks.c
+++ b/e2fsck/badblocks.c
@@ -76,7 +76,8 @@
sprintf(buf, "badblocks -b %d -X %s%s%s %llu", fs->blocksize,
(ctx->options & E2F_OPT_PREEN) ? "" : "-s ",
(ctx->options & E2F_OPT_WRITECHECK) ? "-n " : "",
- fs->device_name, ext2fs_blocks_count(fs->super)-1);
+ fs->device_name,
+ (unsigned long long) ext2fs_blocks_count(fs->super)-1);
f = popen(buf, "r");
if (!f) {
com_err("read_bad_blocks_file", errno,
diff --git a/e2fsck/ea_refcount.c b/e2fsck/ea_refcount.c
index aa5d7d7..7154b47 100644
--- a/e2fsck/ea_refcount.c
+++ b/e2fsck/ea_refcount.c
@@ -313,8 +313,10 @@
if (refcount->list[i-1].ea_key >= refcount->list[i].ea_key) {
fprintf(out,
"%s: list[%d].ea_key=%llu, list[%d].ea_key=%llu\n",
- bad, i-1, refcount->list[i-1].ea_key, i,
- refcount->list[i].ea_key);
+ bad, i-1,
+ (unsigned long long) refcount->list[i-1].ea_key,
+ i,
+ (unsigned long long) refcount->list[i].ea_key);
ret = EXT2_ET_INVALID_ARGUMENT;
}
}
@@ -399,22 +401,26 @@
case BCODE_STORE:
ea_key = (size_t) bcode_program[i++];
arg = bcode_program[i++];
- printf("Storing ea_key %llu with value %llu\n", ea_key,
- arg);
+ printf("Storing ea_key %llu with value %llu\n",
+ (unsigned long long) ea_key,
+ (unsigned long long) arg);
retval = ea_refcount_store(refcount, ea_key, arg);
if (retval)
com_err("ea_refcount_store", retval,
- "while storing ea_key %llu", ea_key);
+ "while storing ea_key %llu",
+ (unsigned long long) ea_key);
break;
case BCODE_FETCH:
ea_key = (size_t) bcode_program[i++];
retval = ea_refcount_fetch(refcount, ea_key, &arg);
if (retval)
com_err("ea_refcount_fetch", retval,
- "while fetching ea_key %llu", ea_key);
+ "while fetching ea_key %llu",
+ (unsigned long long) ea_key);
else
printf("bcode_fetch(%llu) returns %llu\n",
- ea_key, arg);
+ (unsigned long long) ea_key,
+ (unsigned long long) arg);
break;
case BCODE_INCR:
ea_key = (size_t) bcode_program[i++];
@@ -422,10 +428,11 @@
if (retval)
com_err("ea_refcount_increment", retval,
"while incrementing ea_key %llu",
- ea_key);
+ (unsigned long long) ea_key);
else
printf("bcode_increment(%llu) returns %llu\n",
- ea_key, arg);
+ (unsigned long long) ea_key,
+ (unsigned long long) arg);
break;
case BCODE_DECR:
ea_key = (size_t) bcode_program[i++];
@@ -433,10 +440,11 @@
if (retval)
com_err("ea_refcount_decrement", retval,
"while decrementing ea_key %llu",
- ea_key);
+ (unsigned long long) ea_key);
else
printf("bcode_decrement(%llu) returns %llu\n",
- ea_key, arg);
+ (unsigned long long) ea_key,
+ (unsigned long long) arg);
break;
case BCODE_VALIDATE:
retval = ea_refcount_validate(refcount, stderr);
@@ -452,8 +460,9 @@
ea_key = ea_refcount_intr_next(refcount, &arg);
if (!ea_key)
break;
- printf("\tea_key=%llu, count=%llu\n", ea_key,
- arg);
+ printf("\tea_key=%llu, count=%llu\n",
+ (unsigned long long) ea_key,
+ (unsigned long long) arg);
}
break;
case BCODE_COLLAPSE:
diff --git a/e2fsck/extents.c b/e2fsck/extents.c
index 600dbc9..4e6e261 100644
--- a/e2fsck/extents.c
+++ b/e2fsck/extents.c
@@ -290,8 +290,10 @@
errcode_t err;
memset(&inode, 0, sizeof(inode));
- ext2fs_read_inode_full(ctx->fs, list->ino, EXT2_INODE(&inode),
- sizeof(inode));
+ err = ext2fs_read_inode_full(ctx->fs, list->ino, EXT2_INODE(&inode),
+ sizeof(inode));
+ if (err)
+ return err;
/* Skip deleted inodes and inline data files */
if (inode.i_flags & EXT4_INLINE_DATA_FL)
@@ -305,11 +307,11 @@
&blk_count);
if (err)
return err;
- ext2fs_iblk_set(ctx->fs, EXT2_INODE(&inode), blk_count);
- ext2fs_write_inode_full(ctx->fs, list->ino, EXT2_INODE(&inode),
- sizeof(inode));
-
- return 0;
+ err = ext2fs_iblk_set(ctx->fs, EXT2_INODE(&inode), blk_count);
+ if (err)
+ return err;
+ return ext2fs_write_inode_full(ctx->fs, list->ino, EXT2_INODE(&inode),
+ sizeof(inode));
}
errcode_t e2fsck_read_extents(e2fsck_t ctx, struct extent_list *extents)
@@ -325,7 +327,7 @@
retval = ext2fs_get_array(NUM_EXTENTS, sizeof(struct ext2fs_extent),
&extents->extents);
if (retval)
- return -ENOMEM;
+ return ENOMEM;
retval = ext2fs_read_inode(ctx->fs, extents->ino, EXT2_INODE(&inode));
if (retval)
diff --git a/e2fsck/iscan.c b/e2fsck/iscan.c
index 52cad11..607e475 100644
--- a/e2fsck/iscan.c
+++ b/e2fsck/iscan.c
@@ -20,11 +20,31 @@
#ifdef HAVE_MALLOC_H
#include <malloc.h>
#endif
+#include <sys/time.h>
+#include <sys/resource.h>
+
+#if EXT2_FLAT_INCLUDES
+#include "ext2_fs.h"
+#include "ext2fs.h"
+#include "blkid.h"
+#else
+#include "ext2fs/ext2_fs.h"
+#include "ext2fs/ext2fs.h"
+#include "blkid/blkid.h"
+#endif
#include "et/com_err.h"
-#include "e2fsck.h"
#include "../version.h"
+struct resource_track {
+ struct timeval time_start;
+ struct timeval user_start;
+ struct timeval system_start;
+ void *brk_start;
+ unsigned long long bytes_read;
+ unsigned long long bytes_written;
+};
+
extern int isatty(int);
const char * program_name = "iscan";
@@ -38,10 +58,109 @@
struct resource_track global_rtrack;
+void init_resource_track(struct resource_track *track, io_channel channel)
+{
+#ifdef HAVE_GETRUSAGE
+ struct rusage r;
+#endif
+ io_stats io_start = 0;
+
+ track->brk_start = sbrk(0);
+ gettimeofday(&track->time_start, 0);
+#ifdef HAVE_GETRUSAGE
+#ifdef sun
+ memset(&r, 0, sizeof(struct rusage));
+#endif
+ getrusage(RUSAGE_SELF, &r);
+ track->user_start = r.ru_utime;
+ track->system_start = r.ru_stime;
+#else
+ track->user_start.tv_sec = track->user_start.tv_usec = 0;
+ track->system_start.tv_sec = track->system_start.tv_usec = 0;
+#endif
+ track->bytes_read = 0;
+ track->bytes_written = 0;
+ if (channel && channel->manager && channel->manager->get_stats)
+ channel->manager->get_stats(channel, &io_start);
+ if (io_start) {
+ track->bytes_read = io_start->bytes_read;
+ track->bytes_written = io_start->bytes_written;
+ }
+}
+
+static float timeval_subtract(struct timeval *tv1,
+ struct timeval *tv2)
+{
+ return ((tv1->tv_sec - tv2->tv_sec) +
+ ((float) (tv1->tv_usec - tv2->tv_usec)) / 1000000);
+}
+
+void print_resource_track(const char *desc,
+ struct resource_track *track, io_channel channel)
+{
+#ifdef HAVE_GETRUSAGE
+ struct rusage r;
+#endif
+ struct timeval time_end;
+
+ gettimeofday(&time_end, 0);
+
+ if (desc)
+ printf("%s: ", desc);
+
+#define kbytes(x) (((unsigned long long)(x) + 1023) / 1024)
+#ifdef HAVE_MALLINFO
+ /* don't use mallinfo() if over 2GB used, since it returns "int" */
+ if ((char *)sbrk(0) - (char *)track->brk_start < 2LL << 30) {
+ struct mallinfo malloc_info = mallinfo();
+
+ printf("Memory used: %lluk/%lluk (%lluk/%lluk), ",
+ kbytes(malloc_info.arena), kbytes(malloc_info.hblkhd),
+ kbytes(malloc_info.uordblks),
+ kbytes(malloc_info.fordblks));
+ } else
+#endif
+ printf("Memory used: %lluk, ",
+ kbytes(((char *)sbrk(0)) - ((char *)track->brk_start)));
+
+#ifdef HAVE_GETRUSAGE
+ getrusage(RUSAGE_SELF, &r);
+
+ printf("time: %5.2f/%5.2f/%5.2f\n",
+ timeval_subtract(&time_end, &track->time_start),
+ timeval_subtract(&r.ru_utime, &track->user_start),
+ timeval_subtract(&r.ru_stime, &track->system_start));
+#else
+ printf("elapsed time: %6.3f\n",
+ timeval_subtract(&time_end, &track->time_start));
+#endif
+#define mbytes(x) (((x) + 1048575) / 1048576)
+ if (channel && channel->manager && channel->manager->get_stats) {
+ io_stats delta = 0;
+ unsigned long long bytes_read = 0;
+ unsigned long long bytes_written = 0;
+
+ if (desc)
+ printf("%s: ", desc);
+
+ channel->manager->get_stats(channel, &delta);
+ if (delta) {
+ bytes_read = delta->bytes_read - track->bytes_read;
+ bytes_written = delta->bytes_written -
+ track->bytes_written;
+ }
+ printf("I/O read: %lluMB, write: %lluMB, "
+ "rate: %.2fMB/s\n",
+ mbytes(bytes_read), mbytes(bytes_written),
+ (double)mbytes(bytes_read + bytes_written) /
+ timeval_subtract(&time_end, &track->time_start));
+ }
+}
+
static void usage(void)
{
fprintf(stderr,
- _("Usage: %s [-F] [-I inode_buffer_blocks] device\n"),
+ "Usage: %s [-F] [-I inode_buffer_blocks] device\n",
program_name);
exit(1);
}
@@ -78,13 +197,13 @@
if (fd < 0) {
com_err("open", errno,
- _("while opening %s for flushing"), device_name);
- exit(FSCK_ERROR);
+ "while opening %s for flushing", device_name);
+ exit(1);
}
if ((retval = ext2fs_sync_device(fd, 1))) {
com_err("ext2fs_sync_device", retval,
- _("while trying to flush %s"), device_name);
- exit(FSCK_ERROR);
+ "while trying to flush %s", device_name);
+ exit(1);
}
close(fd);
}
@@ -93,30 +212,28 @@
int main (int argc, char *argv[])
{
errcode_t retval = 0;
- int exit_value = FSCK_OK;
+ int exit_value = 0;
ext2_filsys fs;
ext2_ino_t ino;
__u32 num_inodes = 0;
struct ext2_inode inode;
ext2_inode_scan scan;
- init_resource_track(&global_rtrack);
-
PRS(argc, argv);
retval = ext2fs_open(device_name, 0,
0, 0, unix_io_manager, &fs);
if (retval) {
- com_err(program_name, retval, _("while trying to open '%s'"),
+ com_err(program_name, retval, "while trying to open '%s'",
device_name);
exit(1);
}
- ehandler_init(fs->io);
+ init_resource_track(&global_rtrack, fs->io);
retval = ext2fs_open_inode_scan(fs, inode_buffer_blocks, &scan);
if (retval) {
- com_err(program_name, retval, _("while opening inode scan"));
+ com_err(program_name, retval, "while opening inode scan");
exit(1);
}
@@ -124,7 +241,7 @@
retval = ext2fs_get_next_inode(scan, &ino, &inode);
if (retval) {
com_err(program_name, retval,
- _("while getting next inode"));
+ "while getting next inode");
exit(1);
}
if (ino == 0)
@@ -132,8 +249,8 @@
num_inodes++;
}
- print_resource_track(NULL, &global_rtrack);
- printf(_("%u inodes scanned.\n"), num_inodes);
+ print_resource_track(NULL, &global_rtrack, fs->io);
+ printf("%u inodes scanned.\n", num_inodes);
exit(0);
}
diff --git a/e2fsck/journal.c b/e2fsck/journal.c
index 2708942..a425bbd 100644
--- a/e2fsck/journal.c
+++ b/e2fsck/journal.c
@@ -289,7 +289,7 @@
struct ext4_fc_tail *tail;
__u8 *start, *end;
struct ext4_fc_head *head;
- struct ext2fs_extent ext2fs_ex;
+ struct ext2fs_extent ext2fs_ex = {0};
state = &ctx->fc_replay_state;
@@ -325,6 +325,7 @@
ret = JBD2_FC_REPLAY_STOP;
else
ret = JBD2_FC_REPLAY_CONTINUE;
+ /* fallthrough */
case EXT4_FC_TAG_DEL_RANGE:
case EXT4_FC_TAG_LINK:
case EXT4_FC_TAG_UNLINK:
@@ -621,7 +622,7 @@
darg->parent_ino = le32_to_cpu(fcd->fc_parent_ino);
darg->ino = le32_to_cpu(fcd->fc_ino);
- darg->dname = fcd->fc_dname;
+ darg->dname = (char *) fcd->fc_dname;
darg->dname_len = ext4_fc_tag_len(tl) -
sizeof(struct ext4_fc_dentry_info);
darg->dname = malloc(darg->dname_len + 1);
diff --git a/e2fsck/message.c b/e2fsck/message.c
index 05d914d..ba38038 100644
--- a/e2fsck/message.c
+++ b/e2fsck/message.c
@@ -281,7 +281,7 @@
switch (ch) {
case 's':
- fprintf(f, "%llu", EXT2_I_SIZE(inode));
+ fprintf(f, "%llu", (unsigned long long) EXT2_I_SIZE(inode));
break;
case 'S':
fprintf(f, "%u", large_inode->i_extra_isize);
@@ -307,7 +307,8 @@
fprintf(f, "%u", inode->i_faddr);
break;
case 'f':
- fprintf(f, "%llu", ext2fs_file_acl_block(fs, inode));
+ fprintf(f, "%llu",
+ (unsigned long long) ext2fs_file_acl_block(fs, inode));
break;
case 'd':
fprintf(f, "%u", (LINUX_S_ISDIR(inode->i_mode) ?
@@ -462,7 +463,9 @@
fprintf(f, "%*lld", width, (long long) ctx->blkcount);
break;
case 'S':
- fprintf(f, "%llu", get_backup_sb(NULL, fs, NULL, NULL));
+ fprintf(f, "%llu",
+ (unsigned long long) get_backup_sb(NULL, fs,
+ NULL, NULL));
break;
case 's':
fprintf(f, "%*s", width, ctx->str ? ctx->str : "NULL");
diff --git a/e2fsck/pass1.c b/e2fsck/pass1.c
index 7d39097..9d43089 100644
--- a/e2fsck/pass1.c
+++ b/e2fsck/pass1.c
@@ -2898,9 +2898,10 @@
if (is_leaf && problem == 0 && extent.e_len > 0) {
#if 0
printf("extent_region(ino=%u, expect=%llu, "
- "lblk=%llu, len=%u)\n",
- pb->ino, pb->next_lblock,
- extent.e_lblk, extent.e_len);
+ "lblk=%llu, len=%u)\n", pb->ino,
+ (unsigned long long) pb->next_lblock,
+ (unsigned long long) extent.e_lblk,
+ extent.e_len);
#endif
if (extent.e_lblk < pb->next_lblock)
problem = PR_1_EXTENT_COLLISION;
@@ -3026,7 +3027,12 @@
if (extent.e_lblk != lblk) {
struct ext2_extent_info e_info;
- ext2fs_extent_get_info(ehandle, &e_info);
+ pctx->errcode = ext2fs_extent_get_info(ehandle,
+ &e_info);
+ if (pctx->errcode) {
+ pctx->str = "ext2fs_extent_get_info";
+ return;
+ }
pctx->blk = lblk;
pctx->blk2 = extent.e_lblk;
pctx->num = e_info.curr_level - 1;
@@ -3495,8 +3501,9 @@
pb.num_blocks *= EXT2FS_CLUSTER_RATIO(fs);
#if 0
printf("inode %u, i_size = %u, last_block = %llu, i_blocks=%llu, num_blocks = %llu\n",
- ino, inode->i_size, pb.last_block, ext2fs_inode_i_blocks(fs, inode),
- pb.num_blocks);
+ ino, inode->i_size, (unsigned long long) pb.last_block,
+ (unsigned long long) ext2fs_inode_i_blocks(fs, inode),
+ (unsigned long long) pb.num_blocks);
#endif
size = EXT2_I_SIZE(inode);
if (pb.is_dir) {
@@ -3721,7 +3728,7 @@
(unsigned long) pctx->ino, type,
(unsigned long) p->previous_block+1,
(unsigned long) blk,
- blockcnt);
+ (long long) blockcnt);
}
p->fragmented = 1;
}
diff --git a/e2fsck/pass1b.c b/e2fsck/pass1b.c
index 2f8c14c..656a275 100644
--- a/e2fsck/pass1b.c
+++ b/e2fsck/pass1b.c
@@ -670,7 +670,7 @@
} else
com_err("delete_file_block", 0,
_("internal error: can't find dup_blk for %llu\n"),
- *block_nr);
+ (unsigned long long) *block_nr);
} else {
if ((*block_nr % EXT2FS_CLUSTER_RATIO(ctx->fs)) == 0)
ext2fs_block_alloc_stats2(fs, *block_nr, -1);
@@ -828,7 +828,7 @@
if (!n) {
com_err("clone_file_block", 0,
_("internal error: can't find dup_blk for %llu\n"),
- *block_nr);
+ (unsigned long long) *block_nr);
return 0;
}
@@ -878,7 +878,8 @@
}
#if 0
printf("Cloning block #%lld from %llu to %llu\n",
- blockcnt, *block_nr, new_block);
+ blockcnt, (unsigned long long) *block_nr,
+ (unsigned long long) new_block);
#endif
retval = io_channel_read_blk64(fs->io, *block_nr, 1, cs->buf);
if (retval) {
@@ -978,7 +979,8 @@
if (!n) {
com_err("clone_file", 0,
_("internal error: couldn't lookup EA "
- "block record for %llu"), blk);
+ "block record for %llu"),
+ (unsigned long long) blk);
retval = 0; /* OK to stumble on... */
goto errout;
}
diff --git a/e2fsck/pass2.c b/e2fsck/pass2.c
index 9d682a9..e504b30 100644
--- a/e2fsck/pass2.c
+++ b/e2fsck/pass2.c
@@ -359,7 +359,8 @@
de_b = (const struct ext2_dir_entry *) b;
b_len = ext2fs_dirent_name_len(de_b);
- return ext2fs_casefold_cmp(tbl, de_a->name, a_len, de_b->name, b_len);
+ return ext2fs_casefold_cmp(tbl, (unsigned char *) de_a->name, a_len,
+ (unsigned char *) de_b->name, b_len);
}
/*
diff --git a/e2fsck/problem.c b/e2fsck/problem.c
index 8d90739..eb2824f 100644
--- a/e2fsck/problem.c
+++ b/e2fsck/problem.c
@@ -2386,11 +2386,11 @@
if (pctx->dir)
fprintf(f, " dir=\"%u\"", pctx->dir);
if (pctx->blk)
- fprintf(f, " blk=\"%llu\"", pctx->blk);
+ fprintf(f, " blk=\"%llu\"", (unsigned long long) pctx->blk);
if (pctx->blk2)
- fprintf(f, " blk2=\"%llu\"", pctx->blk2);
+ fprintf(f, " blk2=\"%llu\"", (unsigned long long) pctx->blk2);
if (pctx->blkcount != (e2_blkcnt_t) -1)
- fprintf(f, " blkcount=\"%lld\"", pctx->blkcount);
+ fprintf(f, " blkcount=\"%lld\"", (unsigned long long) pctx->blkcount);
if (pctx->group != (dgrp_t) -1)
fprintf(f, " group=\"%u\"", pctx->group);
if (pctx->csum1)
@@ -2398,9 +2398,9 @@
if (pctx->csum2)
fprintf(f, " csum2=\"%u\"", pctx->csum2);
if (pctx->num)
- fprintf(f, " num=\"%llu\"", pctx->num);
+ fprintf(f, " num=\"%llu\"", (unsigned long long) pctx->num);
if (pctx->num2)
- fprintf(f, " num2=\"%llu\"", pctx->num2);
+ fprintf(f, " num2=\"%llu\"", (unsigned long long) pctx->num2);
if (pctx->str)
fprintf(f, " str=\"%s\"", pctx->str);
fputs("/>\n", f);
diff --git a/e2fsck/region.c b/e2fsck/region.c
index 788e0d0..698f7bd 100644
--- a/e2fsck/region.c
+++ b/e2fsck/region.c
@@ -180,10 +180,13 @@
struct region_el *r;
int i = 0;
- fprintf(f, "Printing region (min=%llu. max=%llu)\n\t", region->min,
- region->max);
+ fprintf(f, "Printing region (min=%llu. max=%llu)\n\t",
+ (unsigned long long) region->min,
+ (unsigned long long) region->max);
for (r = region->allocated; r; r = r->next) {
- fprintf(f, "(%llu, %llu) ", r->start, r->end);
+ fprintf(f, "(%llu, %llu) ",
+ (unsigned long long) r->start,
+ (unsigned long long) r->end);
if (++i >= 8)
fprintf(f, "\n\t");
}
@@ -205,7 +208,8 @@
start = bcode_program[pc++];
end = bcode_program[pc++];
printf("Creating region with args(%llu, %llu)\n",
- start, end);
+ (unsigned long long) start,
+ (unsigned long long) end);
r = region_create(start, end);
if (!r) {
fprintf(stderr, "Couldn't create region.\n");
@@ -217,7 +221,8 @@
end = bcode_program[pc++];
ret = region_allocate(r, start, end);
printf("Region_allocate(%llu, %llu) returns %d\n",
- start, end, ret);
+ (unsigned long long) start,
+ (unsigned long long) end, ret);
break;
case BCODE_PRINT:
region_print(r, stdout);
diff --git a/e2fsck/unix.c b/e2fsck/unix.c
index 08f1863..c5f9e44 100644
--- a/e2fsck/unix.c
+++ b/e2fsck/unix.c
@@ -138,7 +138,8 @@
"%llu/%llu blocks\n"),
ctx->device_name, inodes_used, inodes,
frag_percent_total / 10, frag_percent_total % 10,
- blocks_used, blocks);
+ (unsigned long long) blocks_used,
+ (unsigned long long) blocks);
return;
}
profile_get_boolean(ctx->profile, "options", "report_features", 0, 0,
@@ -194,7 +195,8 @@
log_out(ctx, P_("%12llu block used (%2.2f%%, out of %llu)\n",
"%12llu blocks used (%2.2f%%, out of %llu)\n",
blocks_used),
- blocks_used, 100.0 * blocks_used / blocks, blocks);
+ (unsigned long long) blocks_used, 100.0 * blocks_used / blocks,
+ (unsigned long long) blocks);
log_out(ctx, P_("%12u bad block\n", "%12u bad blocks\n",
ctx->fs_badblocks_count), ctx->fs_badblocks_count);
log_out(ctx, P_("%12u large file\n", "%12u large files\n",
@@ -444,9 +446,9 @@
ctx->device_name,
fs->super->s_inodes_count - fs->super->s_free_inodes_count,
fs->super->s_inodes_count,
- ext2fs_blocks_count(fs->super) -
+ (unsigned long long) ext2fs_blocks_count(fs->super) -
ext2fs_free_blocks_count(fs->super),
- ext2fs_blocks_count(fs->super));
+ (unsigned long long) ext2fs_blocks_count(fs->super));
next_check = 100000;
if (fs->super->s_max_mnt_count > 0) {
next_check = fs->super->s_max_mnt_count - fs->super->s_mnt_count;
@@ -821,7 +823,7 @@
#ifdef CONFIG_JBD_DEBUG
char *jbd_debug;
#endif
- unsigned long long phys_mem_kb;
+ unsigned long long phys_mem_kb, blk;
retval = e2fsck_allocate_context(&ctx);
if (retval)
@@ -922,7 +924,8 @@
/* What we do by default, anyway! */
break;
case 'b':
- res = sscanf(optarg, "%llu", &ctx->use_superblock);
+ res = sscanf(optarg, "%llu", &blk);
+ ctx->use_superblock = blk;
if (res != 1)
goto sscanf_err;
ctx->flags |= E2F_FLAG_SB_SPECIFIED;
diff --git a/e2fsck/util.c b/e2fsck/util.c
index 0a7cafe..3fe3c98 100644
--- a/e2fsck/util.c
+++ b/e2fsck/util.c
@@ -771,7 +771,8 @@
mmp->mmp_check_interval);
printf(" mmp_sequence: %08x\n", mmp->mmp_seq);
printf(" mmp_update_date: %s", ctime(&t));
- printf(" mmp_update_time: %lld\n", mmp->mmp_time);
+ printf(" mmp_update_time: %lld\n",
+ (long long) mmp->mmp_time);
printf(" mmp_node_name: %.*s\n",
EXT2_LEN_STR(mmp->mmp_nodename));
printf(" mmp_device_name: %.*s\n",
diff --git a/e2fsprogs.lsm b/e2fsprogs.lsm
index 00bf9ce..9f99921 100644
--- a/e2fsprogs.lsm
+++ b/e2fsprogs.lsm
@@ -1,15 +1,15 @@
Begin3
Title: EXT2 Filesystem utilities
-Version: 1.46.1
-Entered-date: 2021-02-9
+Version: 1.46.2
+Entered-date: 2021-02-28
Description: The filesystem utilities for the EXT2, EXT3, and EXT4
filesystems, including e2fsck, mke2fs, dumpe2fs, and others.
Keywords: utilities, filesystem, Ext2fs, ext3, ext4
Author: tytso@mit.edu (Theodore Tso)
Maintained-by: tytso@mit.edu (Theodore Tso)
Primary-site: ftp.kernel.org /pub/linux/kernel/people/tytso/e2fsprogs
- 9272kB e2fsprogs-1.46.1.tar.gz
- 1kB e2fsprogs-1.46.1.lsm
+ 9276kB e2fsprogs-1.46.2.tar.gz
+ 1kB e2fsprogs-1.46.2.lsm
Alternate-site: download.sourceforge.net /pub/sourceforge/e2fsprogs
Platforms: linux 1.2.x/1.3.x/2.0.x/2.1.x/2.2.x/2.3.x/2.4.x/2.5.x/2.6.x/3.x/4.x/5.x
Copying-policy: GPL-2/LGPL-2
diff --git a/lib/e2p/fgetflags.c b/lib/e2p/fgetflags.c
index 7b93cba..0f1a059 100644
--- a/lib/e2p/fgetflags.c
+++ b/lib/e2p/fgetflags.c
@@ -39,11 +39,14 @@
#include "e2p.h"
-#ifdef O_LARGEFILE
-#define OPEN_FLAGS (O_RDONLY|O_NONBLOCK|O_LARGEFILE)
-#else
-#define OPEN_FLAGS (O_RDONLY|O_NONBLOCK)
+#ifndef O_LARGEFILE
+#define O_LARGEFILE 0
#endif
+#ifndef O_NOFOLLOW
+#define O_NOFOLLOW 0
+#endif
+
+#define OPEN_FLAGS (O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_NOFOLLOW)
int fgetflags (const char * name, unsigned long * flags)
{
@@ -68,35 +71,35 @@
#endif
return 0;
-#else /* !HAVE_STAT_FLAGS || (APPLE_DARWIN && HAVE_EXT2_IOCTLS) */
-#if HAVE_EXT2_IOCTLS
+#elif APPLE_DARWIN && HAVE_EXT2_IOCTLS
+ int f, save_errno = 0;
+
+ f = -1;
+ save_errno = syscall(SYS_fsctl, name, EXT2_IOC_GETFLAGS, &f, 0);
+ *flags = f;
+ return (save_errno);
+#elif HAVE_EXT2_IOCTLS
int fd, r, f, save_errno = 0;
- if (!lstat(name, &buf) &&
- !S_ISREG(buf.st_mode) && !S_ISDIR(buf.st_mode)) {
- goto notsupp;
- }
-#if !APPLE_DARWIN
- fd = open (name, OPEN_FLAGS);
- if (fd == -1)
+ fd = open(name, OPEN_FLAGS);
+ if (fd == -1) {
+ if (errno == ELOOP || errno == ENXIO)
+ errno = EOPNOTSUPP;
return -1;
- r = ioctl (fd, EXT2_IOC_GETFLAGS, &f);
- if (r == -1)
+ }
+ r = ioctl(fd, EXT2_IOC_GETFLAGS, &f);
+ if (r == -1) {
+ if (errno == ENOTTY)
+ errno = EOPNOTSUPP;
save_errno = errno;
+ }
*flags = f;
- close (fd);
+ close(fd);
if (save_errno)
errno = save_errno;
return r;
-#else /* APPLE_DARWIN */
- f = -1;
- save_errno = syscall(SYS_fsctl, name, EXT2_IOC_GETFLAGS, &f, 0);
- *flags = f;
- return (save_errno);
-#endif /* !APPLE_DARWIN */
-notsupp:
-#endif /* HAVE_EXT2_IOCTLS */
-#endif
+#else
errno = EOPNOTSUPP;
return -1;
+#endif
}
diff --git a/lib/e2p/fsetflags.c b/lib/e2p/fsetflags.c
index 027834b..2851554 100644
--- a/lib/e2p/fsetflags.c
+++ b/lib/e2p/fsetflags.c
@@ -48,11 +48,14 @@
#undef HAVE_CHFLAGS
#endif
-#ifdef O_LARGEFILE
-#define OPEN_FLAGS (O_RDONLY|O_NONBLOCK|O_LARGEFILE)
-#else
-#define OPEN_FLAGS (O_RDONLY|O_NONBLOCK)
+#ifndef O_LARGEFILE
+#define O_LARGEFILE 0
#endif
+#ifndef O_NOFOLLOW
+#define O_NOFOLLOW 0
+#endif
+
+#define OPEN_FLAGS (O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_NOFOLLOW)
int fsetflags (const char * name, unsigned long flags)
{
@@ -73,35 +76,32 @@
#endif
return chflags (name, bsd_flags);
-#else /* !HAVE_CHFLAGS || (APPLE_DARWIN && HAVE_EXT2_IOCTLS) */
-#if HAVE_EXT2_IOCTLS
+#elif APPLE_DARWIN && HAVE_EXT2_IOCTLS
+ int f = (int) flags;
+ return syscall(SYS_fsctl, name, EXT2_IOC_SETFLAGS, &f, 0);
+#elif HAVE_EXT2_IOCTLS
int fd, r, f, save_errno = 0;
struct stat buf;
- if (!lstat(name, &buf) &&
- !S_ISREG(buf.st_mode) && !S_ISDIR(buf.st_mode)) {
- goto notsupp;
- }
-#if !APPLE_DARWIN
- fd = open (name, OPEN_FLAGS);
- if (fd == -1)
+ fd = open(name, OPEN_FLAGS);
+ if (fd == -1) {
+ if (errno == ELOOP || errno == ENXIO)
+ errno = EOPNOTSUPP;
return -1;
+ }
f = (int) flags;
- r = ioctl (fd, EXT2_IOC_SETFLAGS, &f);
- if (r == -1)
+ r = ioctl(fd, EXT2_IOC_SETFLAGS, &f);
+ if (r == -1) {
+ if (errno == ENOTTY)
+ errno = EOPNOTSUPP;
save_errno = errno;
- close (fd);
+ }
+ close(fd);
if (save_errno)
errno = save_errno;
-#else /* APPLE_DARWIN */
- f = (int) flags;
- return syscall(SYS_fsctl, name, EXT2_IOC_SETFLAGS, &f, 0);
-#endif /* !APPLE_DARWIN */
return r;
-
-notsupp:
-#endif /* HAVE_EXT2_IOCTLS */
-#endif
+#else
errno = EOPNOTSUPP;
return -1;
+#endif
}
diff --git a/lib/e2p/ls.c b/lib/e2p/ls.c
index 5aad15d..176bee0 100644
--- a/lib/e2p/ls.c
+++ b/lib/e2p/ls.c
@@ -269,12 +269,15 @@
fprintf(f, "Filesystem OS type: %s\n", str);
free(str);
fprintf(f, "Inode count: %u\n", sb->s_inodes_count);
- fprintf(f, "Block count: %llu\n", e2p_blocks_count(sb));
- fprintf(f, "Reserved block count: %llu\n", e2p_r_blocks_count(sb));
+ fprintf(f, "Block count: %llu\n",
+ (unsigned long long) e2p_blocks_count(sb));
+ fprintf(f, "Reserved block count: %llu\n",
+ (unsigned long long) e2p_r_blocks_count(sb));
if (sb->s_overhead_clusters)
fprintf(f, "Overhead clusters: %u\n",
sb->s_overhead_clusters);
- fprintf(f, "Free blocks: %llu\n", e2p_free_blocks_count(sb));
+ fprintf(f, "Free blocks: %llu\n",
+ (unsigned long long) e2p_free_blocks_count(sb));
fprintf(f, "Free inodes: %u\n", sb->s_free_inodes_count);
fprintf(f, "First block: %u\n", sb->s_first_data_block);
fprintf(f, "Block size: %u\n", EXT2_BLOCK_SIZE(sb));
@@ -336,18 +339,19 @@
if (sb->s_kbytes_written) {
fprintf(f, "Lifetime writes: ");
if (sb->s_kbytes_written < POW2(13))
- fprintf(f, "%llu kB\n", sb->s_kbytes_written);
+ fprintf(f, "%llu kB\n",
+ (unsigned long long) sb->s_kbytes_written);
else if (sb->s_kbytes_written < POW2(23))
- fprintf(f, "%llu MB\n",
- (sb->s_kbytes_written + POW2(9)) >> 10);
+ fprintf(f, "%llu MB\n", (unsigned long long)
+ (sb->s_kbytes_written + POW2(9)) >> 10);
else if (sb->s_kbytes_written < POW2(33))
- fprintf(f, "%llu GB\n",
+ fprintf(f, "%llu GB\n", (unsigned long long)
(sb->s_kbytes_written + POW2(19)) >> 20);
else if (sb->s_kbytes_written < POW2(43))
- fprintf(f, "%llu TB\n",
+ fprintf(f, "%llu TB\n", (unsigned long long)
(sb->s_kbytes_written + POW2(29)) >> 30);
else
- fprintf(f, "%llu PB\n",
+ fprintf(f, "%llu PB\n", (unsigned long long)
(sb->s_kbytes_written + POW2(39)) >> 40);
}
fprintf(f, "Reserved blocks uid: ");
@@ -407,7 +411,7 @@
fprintf(f, "Snapshot ID: %u\n",
sb->s_snapshot_id);
fprintf(f, "Snapshot reserved blocks: %llu\n",
- sb->s_snapshot_r_blocks_count);
+ (unsigned long long) sb->s_snapshot_r_blocks_count);
}
if (sb->s_snapshot_list)
fprintf(f, "Snapshot list head: %u\n",
@@ -427,7 +431,7 @@
sb->s_first_error_ino);
if (sb->s_first_error_block)
fprintf(f, "First error block #: %llu\n",
- sb->s_first_error_block);
+ (unsigned long long) sb->s_first_error_block);
if (sb->s_first_error_errcode)
fprintf(f, "First error err: %s\n",
e2p_errcode2str(sb->s_first_error_errcode));
@@ -444,14 +448,14 @@
sb->s_last_error_ino);
if (sb->s_last_error_block)
fprintf(f, "Last error block #: %llu\n",
- sb->s_last_error_block);
+ (unsigned long long) sb->s_last_error_block);
if (sb->s_last_error_errcode)
fprintf(f, "Last error err: %s\n",
e2p_errcode2str(sb->s_last_error_errcode));
}
if (ext2fs_has_feature_mmp(sb)) {
fprintf(f, "MMP block number: %llu\n",
- (long long)sb->s_mmp_block);
+ (unsigned long long) sb->s_mmp_block);
fprintf(f, "MMP update interval: %u\n",
sb->s_mmp_update_interval);
}
diff --git a/lib/e2p/pf.c b/lib/e2p/pf.c
index 61fd4ab..81e3bb2 100644
--- a/lib/e2p/pf.c
+++ b/lib/e2p/pf.c
@@ -49,6 +49,7 @@
{ EXT4_INLINE_DATA_FL, "N", "Inline_Data" },
{ EXT4_PROJINHERIT_FL, "P", "Project_Hierarchy" },
{ EXT4_VERITY_FL, "V", "Verity" },
+ { EXT2_NOCOMPR_FL, "m", "Dont_Compress" },
{ 0, NULL, NULL }
};
@@ -76,4 +77,3 @@
if (long_opt && first)
fputs("---", f);
}
-
diff --git a/lib/ext2fs/blkmap64_ba.c b/lib/ext2fs/blkmap64_ba.c
index 85cb38d..5d8f154 100644
--- a/lib/ext2fs/blkmap64_ba.c
+++ b/lib/ext2fs/blkmap64_ba.c
@@ -313,7 +313,7 @@
#ifdef ENABLE_BMAP_STATS
static void ba_print_stats(ext2fs_generic_bitmap_64 bitmap)
{
- fprintf(stderr, "%16llu Bytes used by bitarray\n",
+ fprintf(stderr, "%16llu Bytes used by bitarray\n", (unsigned long long)
((bitmap->real_end - bitmap->start) >> 3) + 1 +
sizeof(struct ext2fs_ba_private_struct));
}
diff --git a/lib/ext2fs/blkmap64_rb.c b/lib/ext2fs/blkmap64_rb.c
index 1fd5527..0df58dc 100644
--- a/lib/ext2fs/blkmap64_rb.c
+++ b/lib/ext2fs/blkmap64_rb.c
@@ -80,7 +80,8 @@
node = ext2fs_rb_next(node)) {
ext = node_to_extent(node);
fprintf(stderr, "\t\t\t--> (%llu -> %llu)\n",
- ext->start, ext->start + ext->count);
+ (unsigned long long) ext->start,
+ (unsigned long long) ext->start + ext->count);
}
fprintf(stderr, "\t\t\t=================================\n");
}
@@ -96,16 +97,18 @@
if (ext->count == 0) {
fprintf(stderr, "Tree Error: count is zero\n");
fprintf(stderr, "extent: %llu -> %llu (%llu)\n",
- ext->start, ext->start + ext->count,
- ext->count);
+ (unsigned long long) ext->start,
+ (unsigned long long) ext->start + ext->count,
+ (unsigned long long) ext->count);
goto err_out;
}
if (ext->start + ext->count < ext->start) {
fprintf(stderr,
"Tree Error: start or count is crazy\n");
fprintf(stderr, "extent: %llu -> %llu (%llu)\n",
- ext->start, ext->start + ext->count,
- ext->count);
+ (unsigned long long) ext->start,
+ (unsigned long long) ext->start + ext->count,
+ (unsigned long long) ext->count);
goto err_out;
}
@@ -113,24 +116,28 @@
if (old->start > ext->start) {
fprintf(stderr, "Tree Error: start is crazy\n");
fprintf(stderr, "extent: %llu -> %llu (%llu)\n",
- old->start, old->start + old->count,
- old->count);
+ (unsigned long long) old->start,
+ (unsigned long long) old->start + old->count,
+ (unsigned long long) old->count);
fprintf(stderr,
"extent next: %llu -> %llu (%llu)\n",
- ext->start, ext->start + ext->count,
- ext->count);
+ (unsigned long long) ext->start,
+ (unsigned long long) ext->start + ext->count,
+ (unsigned long long) ext->count);
goto err_out;
}
if ((old->start + old->count) >= ext->start) {
fprintf(stderr,
"Tree Error: extent is crazy\n");
fprintf(stderr, "extent: %llu -> %llu (%llu)\n",
- old->start, old->start + old->count,
- old->count);
+ (unsigned long long) old->start,
+ (unsigned long long) old->start + old->count,
+ (unsigned long long) old->count);
fprintf(stderr,
"extent next: %llu -> %llu (%llu)\n",
- ext->start, ext->start + ext->count,
- ext->count);
+ (unsigned long long) ext->start,
+ (unsigned long long) ext->start + ext->count,
+ (unsigned long long) ext->count);
goto err_out;
}
}
@@ -949,15 +956,17 @@
bp->test_hit, t_hit, bp->mark_hit, m_hit);
#endif
fprintf(stderr, "%16llu extents (%llu bytes)\n",
- count, ((count * sizeof(struct bmap_rb_extent)) +
- sizeof(struct ext2fs_rb_private)));
+ (unsigned long long) count, (unsigned long long)
+ ((count * sizeof(struct bmap_rb_extent)) +
+ sizeof(struct ext2fs_rb_private)));
fprintf(stderr, "%16llu bits minimum size\n",
- min_size);
+ (unsigned long long) min_size);
fprintf(stderr, "%16llu bits maximum size\n"
"%16llu bits average size\n",
- max_size, avg_size);
- fprintf(stderr, "%16llu bits set in bitmap (out of %llu)\n", size,
- bitmap->real_end - bitmap->start);
+ (unsigned long long) max_size, (unsigned long long) avg_size);
+ fprintf(stderr, "%16llu bits set in bitmap (out of %llu)\n",
+ (unsigned long long) size,
+ (unsigned long long) bitmap->real_end - bitmap->start);
fprintf(stderr,
"%16.4lf memory / bitmap bit memory ratio (bitarray = 1)\n",
eff);
diff --git a/lib/ext2fs/csum.c b/lib/ext2fs/csum.c
index 86184b6..da32d94 100644
--- a/lib/ext2fs/csum.c
+++ b/lib/ext2fs/csum.c
@@ -263,6 +263,9 @@
errcode_t retval = 0;
__u16 (*translate)(__u16) = (need_swab ? disk_to_host16 : do_nothing16);
+ if (fs->blocksize < 1024)
+ return EXT2_FILSYS_CORRUPTED; /* Should never happen */
+
d = dirent;
top = EXT2_DIRENT_TAIL(dirent, fs->blocksize);
diff --git a/lib/ext2fs/ext2_err.et.in b/lib/ext2fs/ext2_err.et.in
index 0c76fee..cf0e00e 100644
--- a/lib/ext2fs/ext2_err.et.in
+++ b/lib/ext2fs/ext2_err.et.in
@@ -548,4 +548,7 @@
ec EXT2_ET_NO_GDESC,
"Group descriptors not loaded"
+ec EXT2_FILSYS_CORRUPTED,
+ "The internal ext2_filsys data structure appears to be corrupted"
+
end
diff --git a/lib/ext2fs/ext2_fs.h b/lib/ext2fs/ext2_fs.h
index 770a5ad..e92a045 100644
--- a/lib/ext2fs/ext2_fs.h
+++ b/lib/ext2fs/ext2_fs.h
@@ -269,8 +269,7 @@
#define EXT2_MIN_DESC_SIZE_64BIT 64
#define EXT2_MAX_DESC_SIZE EXT2_MIN_BLOCK_SIZE
#define EXT2_DESC_SIZE(s) \
- ((EXT2_SB(s)->s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT) ? \
- (s)->s_desc_size : EXT2_MIN_DESC_SIZE)
+ (ext2fs_has_feature_64bit(s) ? (s)->s_desc_size : EXT2_MIN_DESC_SIZE)
#define EXT2_BLOCKS_PER_GROUP(s) (EXT2_SB(s)->s_blocks_per_group)
#define EXT2_INODES_PER_GROUP(s) (EXT2_SB(s)->s_inodes_per_group)
diff --git a/lib/ext2fs/ext_attr.c b/lib/ext2fs/ext_attr.c
index 77e9d35..148fae5 100644
--- a/lib/ext2fs/ext_attr.c
+++ b/lib/ext2fs/ext_attr.c
@@ -629,7 +629,6 @@
default:
ext2fs_free_mem(&out);
return EINVAL;
- break;
}
entry++;
}
diff --git a/lib/ext2fs/extent.c b/lib/ext2fs/extent.c
index 1a87e68..b324c7b 100644
--- a/lib/ext2fs/extent.c
+++ b/lib/ext2fs/extent.c
@@ -1797,7 +1797,7 @@
<< 32);
to->e_lblk = ext2fs_le32_to_cpu(from->ee_block);
to->e_len = ext2fs_le16_to_cpu(from->ee_len);
- to->e_flags |= EXT2_EXTENT_FLAGS_LEAF;
+ to->e_flags = EXT2_EXTENT_FLAGS_LEAF;
if (to->e_len > EXT_INIT_MAX_LEN) {
to->e_len -= EXT_INIT_MAX_LEN;
to->e_flags |= EXT2_EXTENT_FLAGS_UNINIT;
@@ -1824,8 +1824,11 @@
if (errcode)
goto out;
- ext2fs_get_array(handle->max_depth, sizeof(blk64_t),
- &intermediate_nodes);
+ errcode = ext2fs_get_array(handle->max_depth, sizeof(blk64_t),
+ &intermediate_nodes);
+ if (errcode)
+ goto out;
+
blkcount = handle->level;
while (!errcode) {
if (extent.e_flags & EXT2_EXTENT_FLAGS_LEAF) {
diff --git a/lib/ext2fs/gen_bitmap64.c b/lib/ext2fs/gen_bitmap64.c
index b237066..a2b8989 100644
--- a/lib/ext2fs/gen_bitmap64.c
+++ b/lib/ext2fs/gen_bitmap64.c
@@ -74,9 +74,11 @@
#ifndef OMIT_COM_ERR
if (bitmap->description)
com_err(0, bitmap->base_error_code+code,
- "#%llu for %s", arg, bitmap->description);
+ "#%llu for %s", (unsigned long long) arg,
+ bitmap->description);
else
- com_err(0, bitmap->base_error_code + code, "#%llu", arg);
+ com_err(0, bitmap->base_error_code + code, "#%llu",
+ (unsigned long long) arg);
#endif
}
diff --git a/lib/ext2fs/inode.c b/lib/ext2fs/inode.c
index c4377ee..6f42882 100644
--- a/lib/ext2fs/inode.c
+++ b/lib/ext2fs/inode.c
@@ -144,6 +144,8 @@
errcode_t (*save_get_blocks)(ext2_filsys f, ext2_ino_t ino, blk_t *blocks);
EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS);
+ if (fs->blocksize < 1024)
+ return EXT2_FILSYS_CORRUPTED; /* Should never happen */
/*
* If fs->badblocks isn't set, then set it --- since the inode
@@ -764,6 +766,8 @@
int cache_slot, fail_csum;
EXT2_CHECK_MAGIC(fs, EXT2_ET_MAGIC_EXT2FS_FILSYS);
+ if (fs->blocksize < 1024)
+ return EXT2_FILSYS_CORRUPTED; /* Should never happen */
/* Check to see if user has an override function */
if (fs->read_inode &&
diff --git a/lib/ext2fs/io_manager.c b/lib/ext2fs/io_manager.c
index c395d61..996c31a 100644
--- a/lib/ext2fs/io_manager.c
+++ b/lib/ext2fs/io_manager.c
@@ -134,9 +134,11 @@
else
size = -count;
- if (io->align)
+ if (io->align) {
+ if (io->align > size)
+ size = io->align;
return ext2fs_get_memalign(size, io->align, ptr);
- else
+ } else
return ext2fs_get_mem(size, ptr);
}
diff --git a/lib/ext2fs/mkjournal.c b/lib/ext2fs/mkjournal.c
index 732ba7d..bc8c57b 100644
--- a/lib/ext2fs/mkjournal.c
+++ b/lib/ext2fs/mkjournal.c
@@ -524,7 +524,7 @@
retval = ioctl(fd, EXT2_IOC_SETFLAGS, &f);
close(fd);
if (retval)
- return retval;
+ return errno;
}
#endif
#endif
diff --git a/lib/ext2fs/mmp.c b/lib/ext2fs/mmp.c
index c21ae27..9ef4580 100644
--- a/lib/ext2fs/mmp.c
+++ b/lib/ext2fs/mmp.c
@@ -57,21 +57,21 @@
* regardless of how the io_manager is doing reads, to avoid caching of
* the MMP block by the io_manager or the VM. It needs to be fresh. */
if (fs->mmp_fd <= 0) {
+ struct stat st;
int flags = O_RDWR | O_DIRECT;
-retry:
+ /*
+ * There is no reason for using O_DIRECT if we're working with
+ * regular file. Disabling it also avoids problems with
+ * alignment when the device of the host file system has sector
+ * size larger than blocksize of the fs we're working with.
+ */
+ if (stat(fs->device_name, &st) == 0 &&
+ S_ISREG(st.st_mode))
+ flags &= ~O_DIRECT;
+
fs->mmp_fd = open(fs->device_name, flags);
if (fs->mmp_fd < 0) {
- struct stat st;
-
- /* Avoid O_DIRECT for filesystem image files if open
- * fails, since it breaks when running on tmpfs. */
- if (errno == EINVAL && (flags & O_DIRECT) &&
- stat(fs->device_name, &st) == 0 &&
- S_ISREG(st.st_mode)) {
- flags &= ~O_DIRECT;
- goto retry;
- }
retval = EXT2_ET_MMP_OPEN_DIRECT;
goto out;
}
@@ -403,7 +403,8 @@
errcode_t retval = 0;
if (!ext2fs_has_feature_mmp(fs->super) ||
- !(fs->flags & EXT2_FLAG_RW) || (fs->flags & EXT2_FLAG_SKIP_MMP))
+ !(fs->flags & EXT2_FLAG_RW) || (fs->flags & EXT2_FLAG_SKIP_MMP) ||
+ (fs->mmp_buf == NULL) || (fs->mmp_cmp == NULL))
goto mmp_error;
retval = ext2fs_mmp_read(fs, fs->super->s_mmp_block, fs->mmp_buf);
diff --git a/lib/ext2fs/progress.c b/lib/ext2fs/progress.c
index 83556b1..fe4292f 100644
--- a/lib/ext2fs/progress.c
+++ b/lib/ext2fs/progress.c
@@ -85,8 +85,8 @@
return;
last_update = now;
- printf("%*llu/%*llu", progress->log_max, val,
- progress->log_max, progress->max);
+ printf("%*llu/%*llu", progress->log_max, (unsigned long long) val,
+ progress->log_max, (unsigned long long) progress->max);
fprintf(stdout, "%.*s", (2*progress->log_max)+1, backspaces);
}
diff --git a/lib/ext2fs/read_bb_file.c b/lib/ext2fs/read_bb_file.c
index 8d1ad1a..a6d3beb 100644
--- a/lib/ext2fs/read_bb_file.c
+++ b/lib/ext2fs/read_bb_file.c
@@ -39,7 +39,7 @@
void *priv_data))
{
errcode_t retval;
- blk64_t blockno;
+ unsigned long long blockno;
int count;
char buf[128];
@@ -65,10 +65,10 @@
((blockno < fs->super->s_first_data_block) ||
(blockno >= ext2fs_blocks_count(fs->super)))) {
if (invalid)
- (invalid)(fs, blockno, buf, priv_data);
+ (invalid)(fs, (blk64_t) blockno, buf, priv_data);
continue;
}
- retval = ext2fs_badblocks_list_add(*bb_list, blockno);
+ retval = ext2fs_badblocks_list_add(*bb_list, (blk64_t) blockno);
if (retval)
return retval;
}
diff --git a/lib/ext2fs/tst_bitmaps.c b/lib/ext2fs/tst_bitmaps.c
index f6196b3..cb3c70d 100644
--- a/lib/ext2fs/tst_bitmaps.c
+++ b/lib/ext2fs/tst_bitmaps.c
@@ -439,7 +439,7 @@
error_message(retval));
return;
}
- printf("First unmarked block is %llu\n", out);
+ printf("First unmarked block is %llu\n", (unsigned long long) out);
}
void do_ffsb(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)),
@@ -473,7 +473,7 @@
error_message(retval));
return;
}
- printf("First marked block is %llu\n", out);
+ printf("First marked block is %llu\n", (unsigned long long) out);
}
diff --git a/lib/ext2fs/tst_iscan.c b/lib/ext2fs/tst_iscan.c
index 70bfbec..76aaa9a 100644
--- a/lib/ext2fs/tst_iscan.c
+++ b/lib/ext2fs/tst_iscan.c
@@ -182,7 +182,8 @@
for (i=0; test_vec[i]; i++) {
if (ext2fs_test_block_bitmap2(touched_map, test_vec[i])) {
- printf("Bad block was touched --- %llu\n", test_vec[i]);
+ printf("Bad block was touched --- %llu\n",
+ (unsigned long long) test_vec[i]);
failed++;
first_no_comma = 1;
}
@@ -194,7 +195,8 @@
j++, blk++) {
if (!ext2fs_test_block_bitmap2(touched_map, blk) &&
!ext2fs_test_block_bitmap2(bad_block_map, blk)) {
- printf("Missing block --- %llu\n", blk);
+ printf("Missing block --- %llu\n",
+ (unsigned long long) blk);
failed++;
}
}
diff --git a/lib/ext2fs/tst_libext2fs.c b/lib/ext2fs/tst_libext2fs.c
index 3e7497c..4c86464 100644
--- a/lib/ext2fs/tst_libext2fs.c
+++ b/lib/ext2fs/tst_libext2fs.c
@@ -38,7 +38,8 @@
void *private EXT2FS_ATTR((unused)))
{
printf("%6lld %8llu (%d %llu)\n", (long long) blockcnt,
- (unsigned long long)*blocknr, ref_offset, ref_block);
+ (unsigned long long) *blocknr, ref_offset,
+ (unsigned long long) ref_block);
return 0;
}
diff --git a/lib/ext2fs/unix_io.c b/lib/ext2fs/unix_io.c
index 73f5667..64eee34 100644
--- a/lib/ext2fs/unix_io.c
+++ b/lib/ext2fs/unix_io.c
@@ -218,6 +218,8 @@
int actual = 0;
unsigned char *buf = bufv;
ssize_t really_read = 0;
+ unsigned long long aligned_blk;
+ int align_size, offset;
size = (count < 0) ? -count : (ext2_loff_t) count * channel->block_size;
mutex_lock(data, STATS_MTX);
@@ -225,18 +227,14 @@
mutex_unlock(data, STATS_MTX);
location = ((ext2_loff_t) block * channel->block_size) + data->offset;
- if (data->flags & IO_FLAG_FORCE_BOUNCE) {
- if (ext2fs_llseek(data->dev, location, SEEK_SET) != location) {
- retval = errno ? errno : EXT2_ET_LLSEEK_FAILED;
- goto error_out;
- }
+ if (data->flags & IO_FLAG_FORCE_BOUNCE)
goto bounce_read;
- }
#ifdef HAVE_PREAD64
/* Try an aligned pread */
if ((channel->align == 0) ||
(IS_ALIGNED(buf, channel->align) &&
+ IS_ALIGNED(location, channel->align) &&
IS_ALIGNED(size, channel->align))) {
actual = pread64(data->dev, buf, size, location);
if (actual == size)
@@ -248,6 +246,7 @@
if ((sizeof(off_t) >= sizeof(ext2_loff_t)) &&
((channel->align == 0) ||
(IS_ALIGNED(buf, channel->align) &&
+ IS_ALIGNED(location, channel->align) &&
IS_ALIGNED(size, channel->align)))) {
actual = pread(data->dev, buf, size, location);
if (actual == size)
@@ -256,13 +255,15 @@
}
#endif /* HAVE_PREAD */
- if (ext2fs_llseek(data->dev, location, SEEK_SET) != location) {
- retval = errno ? errno : EXT2_ET_LLSEEK_FAILED;
- goto error_out;
- }
if ((channel->align == 0) ||
(IS_ALIGNED(buf, channel->align) &&
+ IS_ALIGNED(location, channel->align) &&
IS_ALIGNED(size, channel->align))) {
+ mutex_lock(data, BOUNCE_MTX);
+ if (ext2fs_llseek(data->dev, location, SEEK_SET) < 0) {
+ retval = errno ? errno : EXT2_ET_LLSEEK_FAILED;
+ goto error_unlock;
+ }
actual = read(data->dev, buf, size);
if (actual != size) {
short_read:
@@ -271,9 +272,9 @@
actual = 0;
} else
retval = EXT2_ET_SHORT_READ;
- goto error_out;
+ goto error_unlock;
}
- return 0;
+ goto success_unlock;
}
#ifdef ALIGN_DEBUG
@@ -286,10 +287,24 @@
* to the O_DIRECT rules, so we need to do this the hard way...
*/
bounce_read:
+ if (channel->align == 0)
+ channel->align = 1;
+ if ((channel->block_size > channel->align) &&
+ (channel->block_size % channel->align) == 0)
+ align_size = channel->block_size;
+ else
+ align_size = channel->align;
+ aligned_blk = location / align_size;
+ offset = location % align_size;
+
+ mutex_lock(data, BOUNCE_MTX);
+ if (ext2fs_llseek(data->dev, aligned_blk * align_size, SEEK_SET) < 0) {
+ retval = errno ? errno : EXT2_ET_LLSEEK_FAILED;
+ goto error_unlock;
+ }
while (size > 0) {
- mutex_lock(data, BOUNCE_MTX);
- actual = read(data->dev, data->bounce, channel->block_size);
- if (actual != channel->block_size) {
+ actual = read(data->dev, data->bounce, align_size);
+ if (actual != align_size) {
mutex_unlock(data, BOUNCE_MTX);
actual = really_read;
buf -= really_read;
@@ -297,16 +312,23 @@
goto short_read;
}
actual = size;
- if (size > channel->block_size)
- actual = channel->block_size;
- memcpy(buf, data->bounce, actual);
+ if (actual > align_size)
+ actual = align_size;
+ actual -= offset;
+ memcpy(buf, data->bounce + offset, actual);
+
really_read += actual;
size -= actual;
buf += actual;
- mutex_unlock(data, BOUNCE_MTX);
+ offset = 0;
+ aligned_blk++;
}
+success_unlock:
+ mutex_unlock(data, BOUNCE_MTX);
return 0;
+error_unlock:
+ mutex_unlock(data, BOUNCE_MTX);
error_out:
if (actual >= 0 && actual < size)
memset((char *) buf+actual, 0, size-actual);
@@ -326,6 +348,8 @@
int actual = 0;
errcode_t retval;
const unsigned char *buf = bufv;
+ unsigned long long aligned_blk;
+ int align_size, offset;
if (count == 1)
size = channel->block_size;
@@ -341,18 +365,14 @@
location = ((ext2_loff_t) block * channel->block_size) + data->offset;
- if (data->flags & IO_FLAG_FORCE_BOUNCE) {
- if (ext2fs_llseek(data->dev, location, SEEK_SET) != location) {
- retval = errno ? errno : EXT2_ET_LLSEEK_FAILED;
- goto error_out;
- }
+ if (data->flags & IO_FLAG_FORCE_BOUNCE)
goto bounce_write;
- }
#ifdef HAVE_PWRITE64
/* Try an aligned pwrite */
if ((channel->align == 0) ||
(IS_ALIGNED(buf, channel->align) &&
+ IS_ALIGNED(location, channel->align) &&
IS_ALIGNED(size, channel->align))) {
actual = pwrite64(data->dev, buf, size, location);
if (actual == size)
@@ -363,6 +383,7 @@
if ((sizeof(off_t) >= sizeof(ext2_loff_t)) &&
((channel->align == 0) ||
(IS_ALIGNED(buf, channel->align) &&
+ IS_ALIGNED(location, channel->align) &&
IS_ALIGNED(size, channel->align)))) {
actual = pwrite(data->dev, buf, size, location);
if (actual == size)
@@ -370,15 +391,17 @@
}
#endif /* HAVE_PWRITE */
- if (ext2fs_llseek(data->dev, location, SEEK_SET) != location) {
- retval = errno ? errno : EXT2_ET_LLSEEK_FAILED;
- goto error_out;
- }
-
if ((channel->align == 0) ||
(IS_ALIGNED(buf, channel->align) &&
+ IS_ALIGNED(location, channel->align) &&
IS_ALIGNED(size, channel->align))) {
+ mutex_lock(data, BOUNCE_MTX);
+ if (ext2fs_llseek(data->dev, location, SEEK_SET) < 0) {
+ retval = errno ? errno : EXT2_ET_LLSEEK_FAILED;
+ goto error_out;
+ }
actual = write(data->dev, buf, size);
+ mutex_unlock(data, BOUNCE_MTX);
if (actual < 0) {
retval = errno;
goto error_out;
@@ -400,43 +423,64 @@
* to the O_DIRECT rules, so we need to do this the hard way...
*/
bounce_write:
+ if (channel->align == 0)
+ channel->align = 1;
+ if ((channel->block_size > channel->align) &&
+ (channel->block_size % channel->align) == 0)
+ align_size = channel->block_size;
+ else
+ align_size = channel->align;
+ aligned_blk = location / align_size;
+ offset = location % align_size;
+
while (size > 0) {
+ int actual_w;
+
mutex_lock(data, BOUNCE_MTX);
- if (size < channel->block_size) {
+ if (size < align_size || offset) {
+ if (ext2fs_llseek(data->dev, aligned_blk * align_size,
+ SEEK_SET) < 0) {
+ retval = errno ? errno : EXT2_ET_LLSEEK_FAILED;
+ goto error_unlock;
+ }
actual = read(data->dev, data->bounce,
- channel->block_size);
- if (actual != channel->block_size) {
+ align_size);
+ if (actual != align_size) {
if (actual < 0) {
- mutex_unlock(data, BOUNCE_MTX);
retval = errno;
- goto error_out;
+ goto error_unlock;
}
memset((char *) data->bounce + actual, 0,
- channel->block_size - actual);
+ align_size - actual);
}
}
actual = size;
- if (size > channel->block_size)
- actual = channel->block_size;
- memcpy(data->bounce, buf, actual);
- if (ext2fs_llseek(data->dev, location, SEEK_SET) != location) {
+ if (actual > align_size)
+ actual = align_size;
+ actual -= offset;
+ memcpy(((char *)data->bounce) + offset, buf, actual);
+ if (ext2fs_llseek(data->dev, aligned_blk * align_size, SEEK_SET) < 0) {
retval = errno ? errno : EXT2_ET_LLSEEK_FAILED;
- goto error_out;
+ goto error_unlock;
}
- actual = write(data->dev, data->bounce, channel->block_size);
+ actual_w = write(data->dev, data->bounce, align_size);
mutex_unlock(data, BOUNCE_MTX);
- if (actual < 0) {
+ if (actual_w < 0) {
retval = errno;
goto error_out;
}
- if (actual != channel->block_size)
+ if (actual_w != align_size)
goto short_write;
size -= actual;
buf += actual;
location += actual;
+ aligned_blk++;
+ offset = 0;
}
return 0;
+error_unlock:
+ mutex_unlock(data, BOUNCE_MTX);
error_out:
if (channel->write_error)
retval = (channel->write_error)(channel, block, count, buf,
diff --git a/lib/support/quotaio_v2.c b/lib/support/quotaio_v2.c
index 7390667..23717f0 100644
--- a/lib/support/quotaio_v2.c
+++ b/lib/support/quotaio_v2.c
@@ -197,7 +197,8 @@
(filesize + QT_BLKSIZE - 1) >> QT_BLKSIZE_BITS)) {
log_err("Quota inode %u corrupted: file size %llu; "
"dqi_blocks %u", h->qh_qf.ino,
- filesize, info->dqi_qtree.dqi_blocks);
+ (unsigned long long) filesize,
+ info->dqi_qtree.dqi_blocks);
return -1;
}
if (info->dqi_qtree.dqi_free_blk >= info->dqi_qtree.dqi_blocks) {
diff --git a/misc/Makefile.in b/misc/Makefile.in
index 3e82127..3b949d3 100644
--- a/misc/Makefile.in
+++ b/misc/Makefile.in
@@ -140,7 +140,7 @@
$(FMANPAGES) $(LPROGS) $(E4DEFRAG_PROG) $(E4CRYPT_PROGS) e2fuzz
all-static:: $(E2IMAGE_STATIC) $(UUIDD_STATIC) $(BLKID_STATIC) \
- dumpe2fs.static mke2fs.static tune2fs.static
+ dumpe2fs.static mke2fs.static tune2fs.static lsattr.static chattr.static
@PROFILE_CMT@all:: tune2fs.profiled blkid.profiled e2image.profiled \
e2undo.profiled mke2fs.profiled dumpe2fs.profiled fsck.profiled \
@@ -304,11 +304,21 @@
$(Q) $(CC) $(ALL_LDFLAGS) -o chattr $(CHATTR_OBJS) $(LIBS_E2P) \
$(LIBINTL) $(SYSLIBS)
+chattr.static: $(CHATTR_OBJS) $(STATIC_LIBE2P) $(STATIC_LIBCOM_ERR)
+ $(E) " LD $@"
+ $(Q) $(CC) $(ALL_LDFLAGS) -o chattr.static $(CHATTR_OBJS) $(STATIC_LIBE2P) \
+ $(STATIC_LIBCOM_ERR) $(LIBINTL) $(SYSLIBS)
+
lsattr: $(LSATTR_OBJS) $(DEPLIBS_E2P)
$(E) " LD $@"
$(Q) $(CC) $(ALL_LDFLAGS) -o lsattr $(LSATTR_OBJS) $(LIBS_E2P) \
$(LIBINTL) $(SYSLIBS)
+lsattr.static: $(LSATTR_OBJS) $(STATIC_LIBE2P) $(STATIC_LIBCOM_ERR)
+ $(E) " LD $@"
+ $(Q) $(CC) $(ALL_LDFLAGS) -o lsattr.static $(LSATTR_OBJS) $(STATIC_LIBE2P) \
+ $(STATIC_LIBCOM_ERR) $(LIBINTL) $(SYSLIBS)
+
uuidgen: $(UUIDGEN_OBJS) $(DEPLIBUUID)
$(E) " LD $@"
$(Q) $(CC) $(ALL_LDFLAGS) -o uuidgen $(UUIDGEN_OBJS) $(LIBUUID) \
diff --git a/misc/badblocks.c b/misc/badblocks.c
index abf315c..afeb3da 100644
--- a/misc/badblocks.c
+++ b/misc/badblocks.c
@@ -892,7 +892,6 @@
test_ptr += got * block_size;
currently_testing += got;
if (got != try) {
- try = 1;
if (recover_block == ~0U)
recover_block = currently_testing -
got + blocks_at_once;
@@ -1066,7 +1065,7 @@
unsigned int);
int open_flag;
long sysval;
- blk64_t inblk;
+ unsigned long long inblk;
setbuf(stdout, NULL);
setbuf(stderr, NULL);
@@ -1201,6 +1200,19 @@
exit(1);
}
}
+ if ((block_size <= 0) || (block_size > (1 << 24)) ||
+ (block_size & (block_size - 1))) {
+ com_err(program_name, 0, _("Invalid block size: %d\n"),
+ block_size);
+ exit(1);
+ }
+ if ((blocks_at_once <= 0) ||
+ (((unsigned long long) block_size * blocks_at_once) > 0xFFFFFFFF)) {
+ com_err(program_name, 0, _("Invalid blocks_at_once: %d\n"),
+ blocks_at_once);
+ exit(1);
+ }
+
if (optind > argc - 1)
usage();
device_name = argv[optind++];
@@ -1231,14 +1243,15 @@
} else first_block = 0;
if (first_block >= last_block) {
com_err (program_name, 0, _("invalid starting block (%llu): must be less than %llu"),
- first_block, last_block);
+ (unsigned long long) first_block,
+ (unsigned long long) last_block);
exit (1);
}
/* ext2 badblocks file can't handle large values */
if (last_block >> 32) {
com_err(program_name, EOVERFLOW,
_("invalid end block (%llu): must be 32-bit value"),
- last_block);
+ (unsigned long long) last_block);
exit(1);
}
if (w_flag)
diff --git a/misc/chattr.1.in b/misc/chattr.1.in
index 5a4928a..5e1eeb7 100644
--- a/misc/chattr.1.in
+++ b/misc/chattr.1.in
@@ -23,13 +23,13 @@
.B chattr
changes the file attributes on a Linux file system.
.PP
-The format of a symbolic mode is +-=[aAcCdDeFijPsStTux].
+The format of a symbolic mode is +-=[aAcCdDeFijmPsStTux].
.PP
The operator '+' causes the selected attributes to be added to the
existing attributes of the files; '-' causes them to be removed; and '='
causes them to be the only attributes that the files have.
.PP
-The letters 'aAcCdDeFijPsStTux' select the new attributes for the files:
+The letters 'aAcCdDeFijmPsStTux' select the new attributes for the files:
append only (a),
no atime updates (A),
compressed (c),
@@ -40,6 +40,7 @@
case-insensitive directory lookups (F),
immutable (i),
data journalling (j),
+don't compress (m),
project hierarchy (P),
secure deletion (s),
synchronous updates (S),
@@ -96,7 +97,8 @@
by the kernel. A read from this file returns uncompressed data. A write to
this file compresses data before storing them on the disk. Note: please
make sure to read the bugs and limitations section at the end of this
-document.
+document. (Note: For btrfs, If the 'c' flag is set, then the 'C' flag
+cannot be set. Also conflicts with btrfs mount option 'nodatasum')
.TP
.B C
A file with the 'C' attribute set will not be subject to copy-on-write
@@ -106,7 +108,8 @@
data blocks, it is undefined when the blocks assigned to the file will
be fully stable. If the 'C' flag is set on a directory, it will have no
effect on the directory, but new files created in that directory will
-have the No_COW attribute set.)
+have the No_COW attribute set. If the 'C' flag is set, then the 'c' flag
+cannot be set.)
.TP
.B d
A file with the 'd' attribute set is not a candidate for backup when the
@@ -159,6 +162,10 @@
attribute has no effect. Only the superuser or a process possessing the
CAP_SYS_RESOURCE capability can set or clear this attribute.
.TP
+.B m
+A file with the 'm' attribute is excluded from compression on file
+systems that support per-file compression.
+.TP
.B N
A file with the 'N' attribute set indicates that the file has data
stored inline, within the inode itself. It may not be set or cleared
diff --git a/misc/chattr.c b/misc/chattr.c
index c0337f8..644ef4e 100644
--- a/misc/chattr.c
+++ b/misc/chattr.c
@@ -102,6 +102,7 @@
{ EXT2_DIRSYNC_FL, 'D' },
{ EXT2_APPEND_FL, 'a' },
{ EXT2_COMPR_FL, 'c' },
+ { EXT2_NOCOMPR_FL, 'm' },
{ EXT2_NODUMP_FL, 'd' },
{ EXT4_EXTENTS_FL, 'e'},
{ EXT2_IMMUTABLE_FL, 'i' },
@@ -203,7 +204,6 @@
break;
default:
return EOF;
- break;
}
return 1;
}
diff --git a/misc/create_inode.c b/misc/create_inode.c
index 194b06a..54d8d34 100644
--- a/misc/create_inode.c
+++ b/misc/create_inode.c
@@ -170,7 +170,7 @@
if (retval) {
com_err(__func__, retval,
_("while reading xattrs for inode %u"), ino);
- return retval;
+ goto out;
}
retval = ext2fs_get_mem(size, &list);
@@ -626,9 +626,10 @@
{
int fd;
struct stat statbuf;
- ext2_ino_t newfile;
+ ext2_ino_t newfile, parent_ino;
errcode_t retval;
struct ext2_inode inode;
+ char *cp;
fd = ext2fs_open_file(src, O_RDONLY, 0);
if (fd < 0) {
@@ -642,25 +643,37 @@
goto out;
}
- retval = ext2fs_namei(fs, root, cwd, dest, &newfile);
+ cp = strrchr(dest, '/');
+ if (cp) {
+ *cp = 0;
+ retval = ext2fs_namei(fs, root, cwd, dest, &parent_ino);
+ if (retval) {
+ com_err(dest, retval, _("while looking up \"%s\""),
+ dest);
+ goto out;
+ }
+ dest = cp+1;
+ } else
+ parent_ino = cwd;
+
+ retval = ext2fs_namei(fs, root, parent_ino, dest, &newfile);
if (retval == 0) {
retval = EXT2_ET_FILE_EXISTS;
goto out;
}
- retval = ext2fs_new_inode(fs, cwd, 010755, 0, &newfile);
+ retval = ext2fs_new_inode(fs, parent_ino, 010755, 0, &newfile);
if (retval)
goto out;
#ifdef DEBUGFS
printf("Allocated inode: %u\n", newfile);
#endif
- retval = ext2fs_link(fs, cwd, dest, newfile,
- EXT2_FT_REG_FILE);
+ retval = ext2fs_link(fs, parent_ino, dest, newfile, EXT2_FT_REG_FILE);
if (retval == EXT2_ET_DIR_NO_SPACE) {
- retval = ext2fs_expand_dir(fs, cwd);
+ retval = ext2fs_expand_dir(fs, parent_ino);
if (retval)
goto out;
- retval = ext2fs_link(fs, cwd, dest, newfile,
+ retval = ext2fs_link(fs, parent_ino, dest, newfile,
EXT2_FT_REG_FILE);
}
if (retval)
diff --git a/misc/dumpe2fs.c b/misc/dumpe2fs.c
index 4ea1ac8..3f4fc4e 100644
--- a/misc/dumpe2fs.c
+++ b/misc/dumpe2fs.c
@@ -196,9 +196,9 @@
&old_desc_blk, &new_desc_blk, 0);
if (grp_only) {
- printf("%lu:%llu:", i, first_block);
+ printf("%lu:%llu:", i, (unsigned long long) first_block);
if (i == 0 || super_blk)
- printf("%llu:", super_blk);
+ printf("%llu:", (unsigned long long) super_blk);
else
printf("-1:");
if (old_desc_blk) {
@@ -206,13 +206,13 @@
old_desc_blk + old_desc_blocks - 1);
printf(":");
} else if (new_desc_blk)
- printf("%llu:", new_desc_blk);
+ printf("%llu:", (unsigned long long) new_desc_blk);
else
printf("-1:");
printf("%llu:%llu:%llu\n",
- ext2fs_block_bitmap_loc(fs, i),
- ext2fs_inode_bitmap_loc(fs, i),
- ext2fs_inode_table_loc(fs, i));
+ (unsigned long long) ext2fs_block_bitmap_loc(fs, i),
+ (unsigned long long) ext2fs_inode_bitmap_loc(fs, i),
+ (unsigned long long) ext2fs_inode_table_loc(fs, i));
continue;
}
@@ -485,7 +485,8 @@
if (retval) {
com_err(program_name, retval,
_("reading MMP block %llu from '%s'\n"),
- fs->super->s_mmp_block, fs->device_name);
+ (unsigned long long) fs->super->s_mmp_block,
+ fs->device_name);
return;
}
@@ -496,7 +497,8 @@
printf(" mmp_check_interval: %d\n", mmp->mmp_check_interval);
printf(" mmp_sequence: %#08x\n", mmp->mmp_seq);
printf(" mmp_update_date: %s", ctime(&mmp_time));
- printf(" mmp_update_time: %lld\n", mmp->mmp_time);
+ printf(" mmp_update_time: %llu\n",
+ (unsigned long long) mmp->mmp_time);
printf(" mmp_node_name: %.*s\n",
EXT2_LEN_STR(mmp->mmp_nodename));
printf(" mmp_device_name: %.*s\n",
diff --git a/misc/e2freefrag.c b/misc/e2freefrag.c
index a9d16fc..49b6346 100644
--- a/misc/e2freefrag.c
+++ b/misc/e2freefrag.c
@@ -265,8 +265,8 @@
int i, retval = 0;
fprintf(f, "Total blocks: %llu\nFree blocks: %llu (%0.1f%%)\n",
- ext2fs_blocks_count(fs->super),
- free_blks,
+ (unsigned long long) ext2fs_blocks_count(fs->super),
+ (unsigned long long) free_blks,
(double)free_blks * 100 /
ext2fs_blocks_count(fs->super));
diff --git a/misc/e2image.c b/misc/e2image.c
index e5e4756..347759b 100644
--- a/misc/e2image.c
+++ b/misc/e2image.c
@@ -192,7 +192,8 @@
if (block)
com_err(program_name, err,
- _("error writing block %llu"), block);
+ _("error writing block %llu"),
+ (unsigned long long) block);
else
com_err(program_name, err, "%s",
_("error in generic_write()"));
@@ -565,8 +566,10 @@
static int print_progress(blk64_t num, blk64_t total)
{
- return fprintf(stderr, _("%llu / %llu blocks (%d%%)"), num, total,
- calc_percent(num, total));
+ return fprintf(stderr, _("%llu / %llu blocks (%d%%)"),
+ (unsigned long long) num,
+ (unsigned long long) total,
+ calc_percent(num, total));
}
static void output_meta_data_blocks(ext2_filsys fs, int fd, int flags)
@@ -671,7 +674,8 @@
retval = io_channel_read_blk64(fs->io, blk, 1, buf);
if (retval) {
com_err(program_name, retval,
- _("error reading block %llu"), blk);
+ _("error reading block %llu"),
+ (unsigned long long) blk);
}
total_written++;
if (scramble_block_map &&
@@ -726,7 +730,8 @@
fputc('\r', stderr);
strftime(buff, 30, "%T", gmtime(&duration));
fprintf(stderr, _("Copied %llu / %llu blocks (%d%%) in %s "),
- total_written, meta_blocks_count,
+ (unsigned long long) total_written,
+ (unsigned long long) meta_blocks_count,
calc_percent(total_written, meta_blocks_count), buff);
if (duration)
fprintf(stderr, _("at %.2f MB/s"),
@@ -892,8 +897,9 @@
int cluster_bits = get_bits_from_size(fs->blocksize);
struct ext2_super_block *sb = fs->super;
- if (fs->blocksize < 1024)
- return EINVAL; /* Can never happen, but just in case... */
+ /* Sbould never happen, but just in case... */
+ if (cluster_bits < 0)
+ return EXT2_FILSYS_CORRUPTED;
/* Allocate header */
ret = ext2fs_get_memzero(sizeof(struct ext2_qcow2_hdr), &header);
@@ -1201,7 +1207,8 @@
retval = io_channel_read_blk64(fs->io, blk, 1, buf);
if (retval) {
com_err(program_name, retval,
- _("error reading block %llu"), blk);
+ _("error reading block %llu"),
+ (unsigned long long) blk);
continue;
}
if (scramble_block_map &&
@@ -1621,7 +1628,7 @@
goto skip_device;
}
}
- sprintf(offset_opt, "offset=%llu", source_offset);
+ sprintf(offset_opt, "offset=%llu", (unsigned long long) source_offset);
retval = ext2fs_open2(device_name, offset_opt, open_flag,
superblock, blocksize, unix_io_manager, &fs);
if (retval) {
diff --git a/misc/e2undo.c b/misc/e2undo.c
index 71991e0..bc78fb2 100644
--- a/misc/e2undo.c
+++ b/misc/e2undo.c
@@ -127,9 +127,12 @@
static void dump_header(struct undo_header *hdr)
{
- printf("nr keys:\t%llu\n", ext2fs_le64_to_cpu(hdr->num_keys));
- printf("super block:\t%llu\n", ext2fs_le64_to_cpu(hdr->super_offset));
- printf("key block:\t%llu\n", ext2fs_le64_to_cpu(hdr->key_offset));
+ printf("nr keys:\t%llu\n",
+ (unsigned long long) ext2fs_le64_to_cpu(hdr->num_keys));
+ printf("super block:\t%llu\n",
+ (unsigned long long) ext2fs_le64_to_cpu(hdr->super_offset));
+ printf("key block:\t%llu\n",
+ (unsigned long long) ext2fs_le64_to_cpu(hdr->key_offset));
printf("block size:\t%u\n", ext2fs_le32_to_cpu(hdr->block_size));
printf("fs block size:\t%u\n", ext2fs_le32_to_cpu(hdr->fs_block_size));
printf("super crc:\t0x%x\n", ext2fs_le32_to_cpu(hdr->sb_crc));
@@ -138,7 +141,8 @@
printf("incompat:\t0x%x\n", ext2fs_le32_to_cpu(hdr->f_incompat));
printf("rocompat:\t0x%x\n", ext2fs_le32_to_cpu(hdr->f_rocompat));
if (e2undo_has_feature_fs_offset(hdr))
- printf("fs offset:\t%llu\n", ext2fs_le64_to_cpu(hdr->fs_offset));
+ printf("fs offset:\t%llu\n",
+ (unsigned long long) ext2fs_le64_to_cpu(hdr->fs_offset));
printf("header crc:\t0x%x\n", ext2fs_le32_to_cpu(hdr->header_crc));
}
@@ -460,7 +464,7 @@
if (!*opt_offset_string)
offset = ext2fs_le64_to_cpu(undo_ctx.hdr.fs_offset);
retval = snprintf(opt_offset_string, sizeof(opt_offset_string),
- "offset=%llu", offset);
+ "offset=%llu", (unsigned long long) offset);
if ((size_t) retval >= sizeof(opt_offset_string)) {
/* should not happen... */
com_err(prg_name, 0, _("specified offset is too large"));
@@ -517,7 +521,7 @@
if (!force &&
ext2fs_le32_to_cpu(keyb->magic) != KEYBLOCK_MAGIC) {
fprintf(stderr, _("%s: wrong key magic at %llu\n"),
- tdb_file, lblk);
+ tdb_file, (unsigned long long) lblk);
exit(1);
}
crc = keyb->crc;
@@ -527,7 +531,7 @@
if (!force && ext2fs_le32_to_cpu(crc) != key_crc) {
fprintf(stderr,
_("%s: key block checksum error at %llu.\n"),
- tdb_file, lblk);
+ tdb_file, (unsigned long long) lblk);
exit(1);
}
@@ -550,7 +554,8 @@
ikey->size) {
com_err(prg_name, retval,
_("%s: block %llu is too long."),
- tdb_file, ikey->fsblk);
+ tdb_file,
+ (unsigned long long) ikey->fsblk);
exit(1);
}
@@ -562,7 +567,7 @@
if (retval) {
com_err(prg_name, retval,
_("while fetching block %llu."),
- ikey->fileblk);
+ (unsigned long long) ikey->fileblk);
if (!force)
exit(1);
io_error = 1;
@@ -575,7 +580,8 @@
fprintf(stderr,
_("checksum error in filesystem block "
"%llu (undo blk %llu)\n"),
- ikey->fsblk, ikey->fileblk);
+ (unsigned long long) ikey->fsblk,
+ (unsigned long long) ikey->fileblk);
if (!force)
exit(1);
csum_error = 1;
@@ -598,21 +604,23 @@
if (retval) {
com_err(prg_name, retval,
_("while fetching block %llu."),
- ikey->fileblk);
+ (unsigned long long) ikey->fileblk);
io_error = 1;
continue;
}
if (verbose)
printf("Replayed block of size %u from %llu to %llu\n",
- ikey->size, ikey->fileblk, ikey->fsblk);
+ ikey->size, (unsigned long long) ikey->fileblk,
+ (unsigned long long) ikey->fsblk);
if (dry_run)
continue;
retval = io_channel_write_blk64(channel, ikey->fsblk,
-(int)ikey->size, buf);
if (retval) {
com_err(prg_name, retval,
- _("while writing block %llu."), ikey->fsblk);
+ _("while writing block %llu."),
+ (unsigned long long) ikey->fsblk);
io_error = 1;
}
}
diff --git a/misc/e4defrag.c b/misc/e4defrag.c
index c6c6f13..86e97ee 100644
--- a/misc/e4defrag.c
+++ b/misc/e4defrag.c
@@ -362,7 +362,7 @@
{
long pagesize;
void *page = NULL;
- loff_t offset, end_offset, length;
+ ext2_loff_t offset, end_offset, length;
if (vec == NULL || *vec != NULL)
return -1;
@@ -371,8 +371,8 @@
if (pagesize < 0)
return -1;
/* In mmap, offset should be a multiple of the page size */
- offset = (loff_t)defrag_data.orig_start * block_size;
- length = (loff_t)defrag_data.len * block_size;
+ offset = (ext2_loff_t)defrag_data.orig_start * block_size;
+ length = (ext2_loff_t)defrag_data.len * block_size;
end_offset = offset + length;
/* Round the offset down to the nearest multiple of pagesize */
offset = (offset / pagesize) * pagesize;
@@ -418,18 +418,18 @@
SYNC_FILE_RANGE_WRITE |
SYNC_FILE_RANGE_WAIT_AFTER;
unsigned int i;
- loff_t offset;
+ ext2_loff_t offset;
if (pagesize < 1)
return -1;
- offset = (loff_t)defrag_data.orig_start * block_size;
+ offset = (ext2_loff_t)defrag_data.orig_start * block_size;
offset = (offset / pagesize) * pagesize;
#ifdef HAVE_SYNC_FILE_RANGE
/* Sync file for fadvise process */
if (sync_file_range(fd, offset,
- (loff_t)pagesize * page_num, sync_flag) < 0)
+ (ext2_loff_t)pagesize * page_num, sync_flag) < 0)
return -1;
#endif
@@ -1179,10 +1179,13 @@
do {
count++;
printf("[ext %d]:\tstart %llu:\tlogical "
- "%llu:\tlen %llu\n", count,
- ext_list_tmp->data.physical,
- ext_list_tmp->data.logical,
- ext_list_tmp->data.len);
+ "%llu:\tlen %llu\n", count,
+ (unsigned long long)
+ ext_list_tmp->data.physical,
+ (unsigned long long)
+ ext_list_tmp->data.logical,
+ (unsigned long long)
+ ext_list_tmp->data.len);
ext_list_tmp = ext_list_tmp->next;
} while (ext_list_tmp != logical_list_head);
@@ -1192,12 +1195,14 @@
if (current_uid == ROOT_UID) {
if (strlen(file) > 40)
printf("%s\n%50d/%-10d%6llu KB\n",
- file, now_ext_count,
- best_ext_count, size_per_ext);
+ file, now_ext_count,
+ best_ext_count,
+ (unsigned long long) size_per_ext);
else
printf("%-40s%10d/%-10d%6llu KB\n",
- file, now_ext_count,
- best_ext_count, size_per_ext);
+ file, now_ext_count,
+ best_ext_count,
+ (unsigned long long) size_per_ext);
} else {
if (strlen(file) > 40)
printf("%s\n%50d/%-10s%7s\n",
@@ -1220,14 +1225,16 @@
if (current_uid == ROOT_UID) {
if (strlen(msg_buffer) > 40)
printf("\033[79;0H\033[K%s\n"
- "%50d/%-10d%6llu KB\n",
- msg_buffer, now_ext_count,
- best_ext_count, size_per_ext);
+ "%50d/%-10d%6llu KB\n",
+ msg_buffer, now_ext_count,
+ best_ext_count,
+ (unsigned long long) size_per_ext);
else
printf("\033[79;0H\033[K%-40s"
- "%10d/%-10d%6llu KB\n",
- msg_buffer, now_ext_count,
- best_ext_count, size_per_ext);
+ "%10d/%-10d%6llu KB\n",
+ msg_buffer, now_ext_count,
+ best_ext_count,
+ (unsigned long long) size_per_ext);
} else {
if (strlen(msg_buffer) > 40)
printf("\033[79;0H\033[K%s\n%50d/%-10s%7s\n",
@@ -1286,7 +1293,8 @@
* @start: logical offset for defrag target file
* @file_size: defrag target filesize
*/
-static void print_progress(const char *file, loff_t start, loff_t file_size)
+static void print_progress(const char *file, ext2_loff_t start,
+ ext2_loff_t file_size)
{
int percent = (start * 100) / file_size;
printf("\033[79;0H\033[K[%u/%u]%s:\t%3d%%",
@@ -1308,7 +1316,7 @@
static int call_defrag(int fd, int donor_fd, const char *file,
const struct stat64 *buf, struct fiemap_extent_list *ext_list_head)
{
- loff_t start = 0;
+ ext2_loff_t start = 0;
unsigned int page_num;
unsigned char *vec = NULL;
int defraged_ret = 0;
@@ -1561,8 +1569,8 @@
orig_group_tmp = orig_group_head;
do {
ret = fallocate64(donor_fd, 0,
- (loff_t)orig_group_tmp->start->data.logical * block_size,
- (loff_t)orig_group_tmp->len * block_size);
+ (ext2_loff_t)orig_group_tmp->start->data.logical * block_size,
+ (ext2_loff_t)orig_group_tmp->len * block_size);
if (ret < 0) {
if (mode_flag & DETAIL) {
PRINT_FILE_NAME(file);
@@ -1897,6 +1905,7 @@
frag_rank[j].msg_buffer,
frag_rank[j].now_count,
frag_rank[j].best_count,
+ (unsigned long long)
frag_rank[j].
size_per_ext);
} else if (strlen(frag_rank[j].
@@ -1907,6 +1916,7 @@
frag_rank[j].msg_buffer,
frag_rank[j].now_count,
frag_rank[j].best_count,
+ (unsigned long long)
frag_rank[j].
size_per_ext);
} else
@@ -1999,12 +2009,12 @@
100 / files_block_count;
score = CALC_SCORE(files_ratio);
printf("\n Total/best extents\t\t\t\t%d/%d\n"
- " Average size per extent"
- "\t\t\t%llu KB\n"
- " Fragmentation score\t\t\t\t%.0f\n",
- extents_before_defrag,
- extents_after_defrag,
- size_per_ext, score);
+ " Average size per extent"
+ "\t\t\t%llu KB\n"
+ " Fragmentation score\t\t\t\t%.0f\n",
+ extents_before_defrag,
+ extents_after_defrag,
+ (unsigned long long) size_per_ext, score);
printf(" [0-30 no problem:"
" 31-55 a little bit fragmented:"
" 56- needs defrag]\n");
diff --git a/misc/filefrag.c b/misc/filefrag.c
index 62d583b..1e43131 100644
--- a/misc/filefrag.c
+++ b/misc/filefrag.c
@@ -374,9 +374,9 @@
if (verbose && expected != 0) {
printf("Discontinuity: Block %llu is at %llu "
"(was %llu)\n",
- fm_ext.fe_logical / st->st_blksize,
- fm_ext.fe_physical / st->st_blksize,
- expected / st->st_blksize);
+ (unsigned long long) (fm_ext.fe_logical / st->st_blksize),
+ (unsigned long long) (fm_ext.fe_physical / st->st_blksize),
+ (unsigned long long) (expected / st->st_blksize));
}
/* create the new extent */
fm_last = fm_ext;
@@ -492,8 +492,8 @@
__u32 state;
printf("File size of %s is %llu (%llu block%s of %d bytes)",
- filename, (unsigned long long)st.st_size,
- numblocks * blksize >> blk_shift,
+ filename, (unsigned long long) st.st_size,
+ (unsigned long long) (numblocks * blksize >> blk_shift),
numblocks == 1 ? "" : "s", 1 << blk_shift);
if (use_extent_cache &&
ioctl(fd, EXT4_IOC_GETSTATE, &state) == 0 &&
diff --git a/misc/findsuper.c b/misc/findsuper.c
index 765295c..7e78c1f 100644
--- a/misc/findsuper.c
+++ b/misc/findsuper.c
@@ -115,11 +115,11 @@
int main(int argc, char *argv[])
{
int skiprate=512; /* one sector */
- loff_t sk=0, skl=0;
+ ext2_loff_t sk=0, skl=0;
int fd;
char *s;
time_t tm, last = time(0);
- loff_t interval = 1024 * 1024;
+ ext2_loff_t interval = 1024 * 1024;
int c, print_jnl_copies = 0;
const char * device_name;
struct ext2_super_block ext2;
diff --git a/misc/mk_hugefiles.c b/misc/mk_hugefiles.c
index 24acca8..0280b41 100644
--- a/misc/mk_hugefiles.c
+++ b/misc/mk_hugefiles.c
@@ -337,7 +337,8 @@
if (retval)
com_err(program_name, retval,
_("while zeroing block %llu "
- "for hugefile"), ret_blk);
+ "for hugefile"),
+ (unsigned long long) ret_blk);
}
while (n) {
@@ -514,7 +515,7 @@
fprintf(stderr,
_("Partition offset of %llu (%uk) blocks "
"not compatible with cluster size %u.\n"),
- part_offset, fs->blocksize,
+ (unsigned long long) part_offset, fs->blocksize,
EXT2_CLUSTER_SIZE(fs->super));
exit(1);
}
@@ -583,7 +584,8 @@
printf("%s", _("Huge files will be zero'ed\n"));
printf(_("Creating %lu huge file(s) "), num_files);
if (num_blocks)
- printf(_("with %llu blocks each"), num_blocks);
+ printf(_("with %llu blocks each"),
+ (unsigned long long) num_blocks);
fputs(": ", stdout);
}
for (i=0; i < num_files; i++) {
diff --git a/misc/mke2fs.c b/misc/mke2fs.c
index add441c..afbcf48 100644
--- a/misc/mke2fs.c
+++ b/misc/mke2fs.c
@@ -257,7 +257,8 @@
sprintf(buf, "badblocks -b %d -X %s%s%s %llu", fs->blocksize,
quiet ? "" : "-s ", (cflag > 1) ? "-w " : "",
- fs->device_name, ext2fs_blocks_count(fs->super)-1);
+ fs->device_name,
+ (unsigned long long) ext2fs_blocks_count(fs->super)-1);
if (verbose)
printf(_("Running command: %s\n"), buf);
f = popen(buf, "r");
@@ -442,7 +443,8 @@
if (retval) {
fprintf(stderr, _("\nCould not write %d "
"blocks in inode table starting at %llu: %s\n"),
- num, blk, error_message(retval));
+ num, (unsigned long long) blk,
+ error_message(retval));
exit(1);
}
}
@@ -639,7 +641,7 @@
com_err("create_journal_dev", retval,
_("while zeroing journal device "
"(block %llu, count %d)"),
- err_blk, err_count);
+ (unsigned long long) err_blk, err_count);
exit(1);
}
blk += c;
@@ -671,14 +673,15 @@
if (!verbose) {
printf(_("Creating filesystem with %llu %dk blocks and "
"%u inodes\n"),
- ext2fs_blocks_count(s), fs->blocksize >> 10,
- s->s_inodes_count);
+ (unsigned long long) ext2fs_blocks_count(s),
+ fs->blocksize >> 10, s->s_inodes_count);
goto skip_details;
}
if (ext2fs_blocks_count(&fs_param) != ext2fs_blocks_count(s))
fprintf(stderr, _("warning: %llu blocks unused.\n\n"),
- ext2fs_blocks_count(&fs_param) - ext2fs_blocks_count(s));
+ (unsigned long long) (ext2fs_blocks_count(&fs_param) -
+ ext2fs_blocks_count(s)));
printf(_("Filesystem label=%.*s\n"), EXT2_LEN_STR(s->s_volume_name));
@@ -698,9 +701,9 @@
printf(_("Stride=%u blocks, Stripe width=%u blocks\n"),
s->s_raid_stride, s->s_raid_stripe_width);
printf(_("%u inodes, %llu blocks\n"), s->s_inodes_count,
- ext2fs_blocks_count(s));
+ (unsigned long long) ext2fs_blocks_count(s));
printf(_("%llu blocks (%2.2f%%) reserved for the super user\n"),
- ext2fs_r_blocks_count(s),
+ (unsigned long long) ext2fs_r_blocks_count(s),
100.0 * ext2fs_r_blocks_count(s) / ext2fs_blocks_count(s));
printf(_("First data block=%u\n"), s->s_first_data_block);
if (root_uid != 0 || root_gid != 0)
@@ -744,7 +747,7 @@
col_left = 72;
}
col_left -= need;
- printf("%llu", group_block);
+ printf("%llu", (unsigned long long) group_block);
}
printf("\n\n");
}
@@ -2192,8 +2195,8 @@
fprintf(stderr, _("%s: Size of device (0x%llx blocks) %s "
"too big to be expressed\n\t"
"in 32 bits using a blocksize of %d.\n"),
- program_name, fs_blocks_count, device_name,
- EXT2_BLOCK_SIZE(&fs_param));
+ program_name, (unsigned long long) fs_blocks_count,
+ device_name, EXT2_BLOCK_SIZE(&fs_param));
exit(1);
}
/*
@@ -2206,8 +2209,8 @@
fprintf(stderr, _("%s: Size of device (0x%llx blocks) %s "
"too big to create\n\t"
"a filesystem using a blocksize of %d.\n"),
- program_name, fs_blocks_count, device_name,
- EXT2_BLOCK_SIZE(&fs_param));
+ program_name, (unsigned long long) fs_blocks_count,
+ device_name, EXT2_BLOCK_SIZE(&fs_param));
exit(1);
}
@@ -2602,14 +2605,15 @@
else {
com_err(program_name, 0,
_("too many inodes (%llu), raise "
- "inode ratio?"), n);
+ "inode ratio?"),
+ (unsigned long long) n);
exit(1);
}
}
} else if (num_inodes > MAX_32_NUM) {
com_err(program_name, 0,
_("too many inodes (%llu), specify < 2^32 inodes"),
- num_inodes);
+ (unsigned long long) num_inodes);
exit(1);
}
/*
@@ -3054,7 +3058,7 @@
32768 : fs->blocksize * 8);
io_channel_set_options(fs->io, opt_string);
if (offset) {
- sprintf(opt_string, "offset=%llu", offset);
+ sprintf(opt_string, "offset=%llu", (unsigned long long) offset);
io_channel_set_options(fs->io, opt_string);
}
@@ -3330,7 +3334,7 @@
if (retval) {
com_err(program_name, retval,
_("while zeroing block %llu at end of filesystem"),
- ret_blk);
+ (unsigned long long) ret_blk);
}
write_inode_tables(fs, lazy_itable_init, itable_zeroed);
create_root_dir(fs);
diff --git a/misc/tune2fs.8.in b/misc/tune2fs.8.in
index 1a181a7..b963f30 100644
--- a/misc/tune2fs.8.in
+++ b/misc/tune2fs.8.in
@@ -117,6 +117,9 @@
.BR e2fsck (8).
If
.I max-mount-counts
+is the string "random", tune2fs will use a random value between 20 and 40.
+If
+.I max-mount-counts
is 0 or \-1, the number of times the filesystem is mounted will be disregarded
by
.BR e2fsck (8)
@@ -127,21 +130,13 @@
when using journaled filesystems.
.sp
Mount-count-dependent checking is disabled by default to avoid
-unanticipated long reboots while e2fsck does its work. However,
-you may wish to consider the consequences of disabling
-mount-count-dependent checking entirely. Bad disk drives, cables,
-memory, and kernel bugs could all corrupt a filesystem without
-marking the filesystem dirty or in error. If you are using
-journaling on your filesystem, your filesystem will
-.B never
-be marked dirty, so it will not normally be checked. A
-filesystem error detected by the kernel will still force
-an fsck on the next reboot, but it may already be too late
-to prevent data loss at that point.
-.sp
-See also the
-.B \-i
-option for time-dependent checking.
+unanticipated long reboots while e2fsck does its work. If you
+are concerned about file system corruptions caused by potential hardware
+problems of kernel bugs, a better solution than mount-count-dependent
+checking is to use the
+.BR e2scrub (8)
+program. This does require placing the file system on an LVM volume,
+however.
.TP
.BI \-C " mount-count"
Set the number of times the filesystem has been mounted.
diff --git a/misc/tune2fs.c b/misc/tune2fs.c
index 40f5173..f739f16 100644
--- a/misc/tune2fs.c
+++ b/misc/tune2fs.c
@@ -1826,8 +1826,15 @@
while ((c = getopt(argc, argv, optstring)) != EOF)
switch (c) {
case 'c':
+ open_flag = EXT2_FLAG_RW;
+ c_flag = 1;
+ if (strcmp(optarg, "random") == 0) {
+ max_mount_count = 65536;
+ break;
+ }
max_mount_count = strtol(optarg, &tmp, 0);
- if (*tmp || max_mount_count > 16000) {
+ if (*tmp || max_mount_count > 16000 ||
+ max_mount_count < -16000) {
com_err(program_name, 0,
_("bad mounts count - %s"),
optarg);
@@ -1835,8 +1842,6 @@
}
if (max_mount_count == 0)
max_mount_count = -1;
- c_flag = 1;
- open_flag = EXT2_FLAG_RW;
break;
case 'C':
mount_count = strtoul(optarg, &tmp, 0);
@@ -3104,6 +3109,9 @@
fs->flags |= EXT2_FLAG_SUPER_ONLY;
if (c_flag) {
+ if (max_mount_count == 65536)
+ max_mount_count = EXT2_DFL_MAX_MNT_COUNT +
+ (random() % EXT2_DFL_MAX_MNT_COUNT);
sb->s_max_mnt_count = max_mount_count;
ext2fs_mark_super_dirty(fs);
printf(_("Setting maximal mount count to %d\n"),
@@ -3142,20 +3150,21 @@
ext2fs_blocks_count(sb) / 100.0);
ext2fs_mark_super_dirty(fs);
printf (_("Setting reserved blocks percentage to %g%% (%llu blocks)\n"),
- reserved_ratio, ext2fs_r_blocks_count(sb));
+ reserved_ratio,
+ (unsigned long long) ext2fs_r_blocks_count(sb));
}
if (r_flag) {
if (reserved_blocks > ext2fs_blocks_count(sb)/2) {
com_err(program_name, 0,
_("reserved blocks count is too big (%llu)"),
- reserved_blocks);
+ (unsigned long long) reserved_blocks);
rc = 1;
goto closefs;
}
ext2fs_r_blocks_count_set(sb, reserved_blocks);
ext2fs_mark_super_dirty(fs);
printf(_("Setting reserved blocks count to %llu\n"),
- reserved_blocks);
+ (unsigned long long) reserved_blocks);
}
if (s_flag == 1) {
if (ext2fs_has_feature_sparse_super(sb)) {
diff --git a/po/e2fsprogs.pot b/po/e2fsprogs.pot
index b29cc4b..1ecd767 100644
--- a/po/e2fsprogs.pot
+++ b/po/e2fsprogs.pot
@@ -77,9 +77,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: e2fsprogs v1.46.1\n"
+"Project-Id-Version: e2fsprogs 1.46.2\n"
"Report-Msgid-Bugs-To: tytso@alum.mit.edu\n"
-"POT-Creation-Date: 2021-02-09 17:42-0500\n"
+"POT-Creation-Date: 2021-02-28 09:37-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -102,30 +102,30 @@
msgid "while reading the bad blocks inode"
msgstr ""
-#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1581
-#: e2fsck/unix.c:1695 misc/badblocks.c:1251 misc/badblocks.c:1259
-#: misc/badblocks.c:1273 misc/badblocks.c:1285 misc/dumpe2fs.c:437
-#: misc/dumpe2fs.c:700 misc/dumpe2fs.c:704 misc/e2image.c:1430
-#: misc/e2image.c:1628 misc/e2image.c:1649 misc/mke2fs.c:237
-#: misc/tune2fs.c:2875 misc/tune2fs.c:2975 resize/main.c:416
+#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1584
+#: e2fsck/unix.c:1698 misc/badblocks.c:1264 misc/badblocks.c:1272
+#: misc/badblocks.c:1286 misc/badblocks.c:1298 misc/dumpe2fs.c:437
+#: misc/dumpe2fs.c:702 misc/dumpe2fs.c:706 misc/e2image.c:1437
+#: misc/e2image.c:1635 misc/e2image.c:1656 misc/mke2fs.c:237
+#: misc/tune2fs.c:2880 misc/tune2fs.c:2980 resize/main.c:416
#, c-format
msgid "while trying to open %s"
msgstr ""
-#: e2fsck/badblocks.c:83
+#: e2fsck/badblocks.c:84
#, c-format
msgid "while trying popen '%s'"
msgstr ""
-#: e2fsck/badblocks.c:94 misc/mke2fs.c:244
+#: e2fsck/badblocks.c:95 misc/mke2fs.c:244
msgid "while reading in list of bad blocks from file"
msgstr ""
-#: e2fsck/badblocks.c:105
+#: e2fsck/badblocks.c:106
msgid "while updating bad block inode"
msgstr ""
-#: e2fsck/badblocks.c:133
+#: e2fsck/badblocks.c:134
#, c-format
msgid "Warning: illegal block %u found in bad block inode. Cleared.\n"
msgstr ""
@@ -204,69 +204,36 @@
msgid "BLKFLSBUF ioctl not supported! Can't flush buffers.\n"
msgstr ""
-#: e2fsck/iscan.c:44
-#, c-format
-msgid "Usage: %s [-F] [-I inode_buffer_blocks] device\n"
-msgstr ""
-
-#: e2fsck/iscan.c:81 e2fsck/unix.c:1091
-#, c-format
-msgid "while opening %s for flushing"
-msgstr ""
-
-#: e2fsck/iscan.c:86 e2fsck/unix.c:1097 resize/main.c:385
-#, c-format
-msgid "while trying to flush %s"
-msgstr ""
-
-#: e2fsck/iscan.c:110
-#, c-format
-msgid "while trying to open '%s'"
-msgstr ""
-
-#: e2fsck/iscan.c:119 e2fsck/scantest.c:114 misc/e2image.c:1323
-msgid "while opening inode scan"
-msgstr ""
-
-#: e2fsck/iscan.c:127 misc/e2image.c:1342
-msgid "while getting next inode"
-msgstr ""
-
-#: e2fsck/iscan.c:136
-#, c-format
-msgid "%u inodes scanned.\n"
-msgstr ""
-
-#: e2fsck/journal.c:1262
+#: e2fsck/journal.c:1263
msgid "reading journal superblock\n"
msgstr ""
-#: e2fsck/journal.c:1335
+#: e2fsck/journal.c:1336
#, c-format
msgid "%s: no valid journal superblock found\n"
msgstr ""
-#: e2fsck/journal.c:1344
+#: e2fsck/journal.c:1345
#, c-format
msgid "%s: journal too short\n"
msgstr ""
-#: e2fsck/journal.c:1357
+#: e2fsck/journal.c:1358
#, c-format
msgid "%s: incorrect fast commit blocks\n"
msgstr ""
-#: e2fsck/journal.c:1659 misc/fuse2fs.c:3797
+#: e2fsck/journal.c:1660 misc/fuse2fs.c:3797
#, c-format
msgid "%s: recovering journal\n"
msgstr ""
-#: e2fsck/journal.c:1661
+#: e2fsck/journal.c:1662
#, c-format
msgid "%s: won't do journal recovery while read-only\n"
msgstr ""
-#: e2fsck/journal.c:1688
+#: e2fsck/journal.c:1689
#, c-format
msgid "while trying to re-open %s"
msgstr ""
@@ -435,72 +402,72 @@
msgid "<Reserved inode 10>"
msgstr ""
-#: e2fsck/message.c:324
+#: e2fsck/message.c:325
msgid "regular file"
msgstr ""
-#: e2fsck/message.c:326
+#: e2fsck/message.c:327
msgid "directory"
msgstr ""
-#: e2fsck/message.c:328
+#: e2fsck/message.c:329
msgid "character device"
msgstr ""
-#: e2fsck/message.c:330
+#: e2fsck/message.c:331
msgid "block device"
msgstr ""
-#: e2fsck/message.c:332
+#: e2fsck/message.c:333
msgid "named pipe"
msgstr ""
-#: e2fsck/message.c:334
+#: e2fsck/message.c:335
msgid "symbolic link"
msgstr ""
-#: e2fsck/message.c:336 misc/uuidd.c:162
+#: e2fsck/message.c:337 misc/uuidd.c:162
msgid "socket"
msgstr ""
-#: e2fsck/message.c:338
+#: e2fsck/message.c:339
#, c-format
msgid "unknown file type with mode 0%o"
msgstr ""
-#: e2fsck/message.c:409
+#: e2fsck/message.c:410
msgid "indirect block"
msgstr ""
-#: e2fsck/message.c:411
+#: e2fsck/message.c:412
msgid "double indirect block"
msgstr ""
-#: e2fsck/message.c:413
+#: e2fsck/message.c:414
msgid "triple indirect block"
msgstr ""
-#: e2fsck/message.c:415
+#: e2fsck/message.c:416
msgid "translator block"
msgstr ""
-#: e2fsck/message.c:417
+#: e2fsck/message.c:418
msgid "block #"
msgstr ""
-#: e2fsck/message.c:479
+#: e2fsck/message.c:482
msgid "user"
msgstr ""
-#: e2fsck/message.c:482
+#: e2fsck/message.c:485
msgid "group"
msgstr ""
-#: e2fsck/message.c:485
+#: e2fsck/message.c:488
msgid "project"
msgstr ""
-#: e2fsck/message.c:488
+#: e2fsck/message.c:491
msgid "unknown quota type"
msgstr ""
@@ -513,16 +480,16 @@
msgid "internal error: can't find dup_blk for %llu\n"
msgstr ""
-#: e2fsck/pass1b.c:956
+#: e2fsck/pass1b.c:957
msgid "returned from clone_file_block"
msgstr ""
-#: e2fsck/pass1b.c:980
+#: e2fsck/pass1b.c:981
#, c-format
msgid "internal error: couldn't lookup EA block record for %llu"
msgstr ""
-#: e2fsck/pass1b.c:992
+#: e2fsck/pass1b.c:994
#, c-format
msgid "internal error: couldn't lookup EA inode record for %u"
msgstr ""
@@ -532,7 +499,7 @@
msgid "while hashing entry with e_value_inum = %u"
msgstr ""
-#: e2fsck/pass1.c:767 e2fsck/pass2.c:1132
+#: e2fsck/pass1.c:767 e2fsck/pass2.c:1133
msgid "reading directory block"
msgstr ""
@@ -552,7 +519,7 @@
msgid "regular file inode map"
msgstr ""
-#: e2fsck/pass1.c:1248 misc/e2image.c:1282
+#: e2fsck/pass1.c:1248 misc/e2image.c:1289
msgid "in-use block map"
msgstr ""
@@ -597,20 +564,20 @@
msgid "ext attr block map"
msgstr ""
-#: e2fsck/pass1.c:3719
+#: e2fsck/pass1.c:3726
#, c-format
msgid "%6lu(%c): expecting %6lu got phys %6lu (blkcnt %lld)\n"
msgstr ""
-#: e2fsck/pass1.c:4140
+#: e2fsck/pass1.c:4147
msgid "block bitmap"
msgstr ""
-#: e2fsck/pass1.c:4146
+#: e2fsck/pass1.c:4153
msgid "inode bitmap"
msgstr ""
-#: e2fsck/pass1.c:4152
+#: e2fsck/pass1.c:4159
msgid "inode table"
msgstr ""
@@ -618,11 +585,11 @@
msgid "Pass 2"
msgstr ""
-#: e2fsck/pass2.c:553
+#: e2fsck/pass2.c:554
msgid "NLS is broken."
msgstr ""
-#: e2fsck/pass2.c:1205 e2fsck/pass2.c:1389
+#: e2fsck/pass2.c:1206 e2fsck/pass2.c:1390
msgid "Can not continue."
msgstr ""
@@ -2982,6 +2949,10 @@
msgid "size of inode=%d\n"
msgstr ""
+#: e2fsck/scantest.c:114 misc/e2image.c:1330
+msgid "while opening inode scan"
+msgstr ""
+
#: e2fsck/scantest.c:119
msgid "while starting inode scan"
msgstr ""
@@ -3044,7 +3015,7 @@
msgid "%s: %u/%u files (%0d.%d%% non-contiguous), %llu/%llu blocks\n"
msgstr ""
-#: e2fsck/unix.c:163
+#: e2fsck/unix.c:164
#, c-format
msgid ""
"\n"
@@ -3055,51 +3026,51 @@
msgstr[0] ""
msgstr[1] ""
-#: e2fsck/unix.c:167
+#: e2fsck/unix.c:168
#, c-format
msgid "%12u non-contiguous file (%0d.%d%%)\n"
msgid_plural "%12u non-contiguous files (%0d.%d%%)\n"
msgstr[0] ""
msgstr[1] ""
-#: e2fsck/unix.c:172
+#: e2fsck/unix.c:173
#, c-format
msgid "%12u non-contiguous directory (%0d.%d%%)\n"
msgid_plural "%12u non-contiguous directories (%0d.%d%%)\n"
msgstr[0] ""
msgstr[1] ""
-#: e2fsck/unix.c:177
+#: e2fsck/unix.c:178
#, c-format
msgid " # of inodes with ind/dind/tind blocks: %u/%u/%u\n"
msgstr ""
-#: e2fsck/unix.c:185
+#: e2fsck/unix.c:186
msgid " Extent depth histogram: "
msgstr ""
-#: e2fsck/unix.c:194
+#: e2fsck/unix.c:195
#, c-format
msgid "%12llu block used (%2.2f%%, out of %llu)\n"
msgid_plural "%12llu blocks used (%2.2f%%, out of %llu)\n"
msgstr[0] ""
msgstr[1] ""
-#: e2fsck/unix.c:198
+#: e2fsck/unix.c:200
#, c-format
msgid "%12u bad block\n"
msgid_plural "%12u bad blocks\n"
msgstr[0] ""
msgstr[1] ""
-#: e2fsck/unix.c:200
+#: e2fsck/unix.c:202
#, c-format
msgid "%12u large file\n"
msgid_plural "%12u large files\n"
msgstr[0] ""
msgstr[1] ""
-#: e2fsck/unix.c:202
+#: e2fsck/unix.c:204
#, c-format
msgid ""
"\n"
@@ -3110,102 +3081,102 @@
msgstr[0] ""
msgstr[1] ""
-#: e2fsck/unix.c:204
+#: e2fsck/unix.c:206
#, c-format
msgid "%12u directory\n"
msgid_plural "%12u directories\n"
msgstr[0] ""
msgstr[1] ""
-#: e2fsck/unix.c:206
+#: e2fsck/unix.c:208
#, c-format
msgid "%12u character device file\n"
msgid_plural "%12u character device files\n"
msgstr[0] ""
msgstr[1] ""
-#: e2fsck/unix.c:209
+#: e2fsck/unix.c:211
#, c-format
msgid "%12u block device file\n"
msgid_plural "%12u block device files\n"
msgstr[0] ""
msgstr[1] ""
-#: e2fsck/unix.c:211
+#: e2fsck/unix.c:213
#, c-format
msgid "%12u fifo\n"
msgid_plural "%12u fifos\n"
msgstr[0] ""
msgstr[1] ""
-#: e2fsck/unix.c:213
+#: e2fsck/unix.c:215
#, c-format
msgid "%12u link\n"
msgid_plural "%12u links\n"
msgstr[0] ""
msgstr[1] ""
-#: e2fsck/unix.c:215
+#: e2fsck/unix.c:217
#, c-format
msgid "%12u symbolic link"
msgid_plural "%12u symbolic links"
msgstr[0] ""
msgstr[1] ""
-#: e2fsck/unix.c:217
+#: e2fsck/unix.c:219
#, c-format
msgid " (%u fast symbolic link)\n"
msgid_plural " (%u fast symbolic links)\n"
msgstr[0] ""
msgstr[1] ""
-#: e2fsck/unix.c:221
+#: e2fsck/unix.c:223
#, c-format
msgid "%12u socket\n"
msgid_plural "%12u sockets\n"
msgstr[0] ""
msgstr[1] ""
-#: e2fsck/unix.c:225
+#: e2fsck/unix.c:227
#, c-format
msgid "%12u file\n"
msgid_plural "%12u files\n"
msgstr[0] ""
msgstr[1] ""
-#: e2fsck/unix.c:238 misc/badblocks.c:1002 misc/tune2fs.c:3067 misc/util.c:129
+#: e2fsck/unix.c:240 misc/badblocks.c:1001 misc/tune2fs.c:3072 misc/util.c:129
#: resize/main.c:356
#, c-format
msgid "while determining whether %s is mounted."
msgstr ""
-#: e2fsck/unix.c:259
+#: e2fsck/unix.c:261
#, c-format
msgid "Warning! %s is mounted.\n"
msgstr ""
-#: e2fsck/unix.c:262
+#: e2fsck/unix.c:264
#, c-format
msgid "Warning! %s is in use.\n"
msgstr ""
-#: e2fsck/unix.c:268
+#: e2fsck/unix.c:270
#, c-format
msgid "%s is mounted.\n"
msgstr ""
-#: e2fsck/unix.c:270
+#: e2fsck/unix.c:272
#, c-format
msgid "%s is in use.\n"
msgstr ""
-#: e2fsck/unix.c:272
+#: e2fsck/unix.c:274
msgid ""
"Cannot continue, aborting.\n"
"\n"
msgstr ""
-#: e2fsck/unix.c:274
+#: e2fsck/unix.c:276
msgid ""
"\n"
"\n"
@@ -3214,85 +3185,85 @@
"\n"
msgstr ""
-#: e2fsck/unix.c:279
+#: e2fsck/unix.c:281
msgid "Do you really want to continue"
msgstr ""
-#: e2fsck/unix.c:281
+#: e2fsck/unix.c:283
msgid "check aborted.\n"
msgstr ""
-#: e2fsck/unix.c:375
+#: e2fsck/unix.c:377
msgid " contains a file system with errors"
msgstr ""
-#: e2fsck/unix.c:377
+#: e2fsck/unix.c:379
msgid " was not cleanly unmounted"
msgstr ""
-#: e2fsck/unix.c:379
+#: e2fsck/unix.c:381
msgid " primary superblock features different from backup"
msgstr ""
-#: e2fsck/unix.c:383
+#: e2fsck/unix.c:385
#, c-format
msgid " has been mounted %u times without being checked"
msgstr ""
-#: e2fsck/unix.c:390
+#: e2fsck/unix.c:392
msgid " has filesystem last checked time in the future"
msgstr ""
-#: e2fsck/unix.c:396
+#: e2fsck/unix.c:398
#, c-format
msgid " has gone %u days without being checked"
msgstr ""
-#: e2fsck/unix.c:404
+#: e2fsck/unix.c:406
msgid "ignoring check interval, broken_system_clock set\n"
msgstr ""
-#: e2fsck/unix.c:410
+#: e2fsck/unix.c:412
msgid ", check forced.\n"
msgstr ""
-#: e2fsck/unix.c:443
+#: e2fsck/unix.c:445
#, c-format
msgid "%s: clean, %u/%u files, %llu/%llu blocks"
msgstr ""
-#: e2fsck/unix.c:463
+#: e2fsck/unix.c:465
msgid " (check deferred; on battery)"
msgstr ""
-#: e2fsck/unix.c:466
+#: e2fsck/unix.c:468
msgid " (check after next mount)"
msgstr ""
-#: e2fsck/unix.c:468
+#: e2fsck/unix.c:470
#, c-format
msgid " (check in %ld mounts)"
msgstr ""
-#: e2fsck/unix.c:618
+#: e2fsck/unix.c:620
#, c-format
msgid "ERROR: Couldn't open /dev/null (%s)\n"
msgstr ""
-#: e2fsck/unix.c:689
+#: e2fsck/unix.c:691
msgid "Invalid EA version.\n"
msgstr ""
-#: e2fsck/unix.c:702
+#: e2fsck/unix.c:704
msgid "Invalid readahead buffer size.\n"
msgstr ""
-#: e2fsck/unix.c:765
+#: e2fsck/unix.c:767
#, c-format
msgid "Unknown extended option: %s\n"
msgstr ""
-#: e2fsck/unix.c:773
+#: e2fsck/unix.c:775
msgid ""
"\n"
"Extended options are separated by commas, and may take an argument which\n"
@@ -3300,77 +3271,87 @@
"\n"
msgstr ""
-#: e2fsck/unix.c:777
+#: e2fsck/unix.c:779
msgid "\tea_ver=<ea_version (1 or 2)>\n"
msgstr ""
-#: e2fsck/unix.c:786
+#: e2fsck/unix.c:788
msgid "\treadahead_kb=<buffer size>\n"
msgstr ""
-#: e2fsck/unix.c:799
+#: e2fsck/unix.c:801
#, c-format
msgid ""
"Syntax error in e2fsck config file (%s, line #%d)\n"
"\t%s\n"
msgstr ""
-#: e2fsck/unix.c:872
+#: e2fsck/unix.c:874
#, c-format
msgid "Error validating file descriptor %d: %s\n"
msgstr ""
-#: e2fsck/unix.c:876
+#: e2fsck/unix.c:878
msgid "Invalid completion information file descriptor"
msgstr ""
-#: e2fsck/unix.c:891
+#: e2fsck/unix.c:893
msgid "Only one of the options -p/-a, -n or -y may be specified."
msgstr ""
-#: e2fsck/unix.c:912
+#: e2fsck/unix.c:914
#, c-format
msgid "The -t option is not supported on this version of e2fsck.\n"
msgstr ""
-#: e2fsck/unix.c:943 e2fsck/unix.c:1021 misc/e2initrd_helper.c:330
-#: misc/tune2fs.c:1772 misc/tune2fs.c:2067 misc/tune2fs.c:2085
+#: e2fsck/unix.c:946 e2fsck/unix.c:1024 misc/e2initrd_helper.c:330
+#: misc/tune2fs.c:1772 misc/tune2fs.c:2072 misc/tune2fs.c:2090
#, c-format
msgid "Unable to resolve '%s'"
msgstr ""
-#: e2fsck/unix.c:1000
+#: e2fsck/unix.c:1003
msgid "The -n and -D options are incompatible."
msgstr ""
-#: e2fsck/unix.c:1005
+#: e2fsck/unix.c:1008
msgid "The -n and -c options are incompatible."
msgstr ""
-#: e2fsck/unix.c:1010
+#: e2fsck/unix.c:1013
msgid "The -n and -l/-L options are incompatible."
msgstr ""
-#: e2fsck/unix.c:1034
+#: e2fsck/unix.c:1037
msgid "The -D and -E fixes_only options are incompatible."
msgstr ""
-#: e2fsck/unix.c:1040
+#: e2fsck/unix.c:1043
msgid "The -E bmap2extent and fixes_only options are incompatible."
msgstr ""
-#: e2fsck/unix.c:1104
+#: e2fsck/unix.c:1094
+#, c-format
+msgid "while opening %s for flushing"
+msgstr ""
+
+#: e2fsck/unix.c:1100 resize/main.c:385
+#, c-format
+msgid "while trying to flush %s"
+msgstr ""
+
+#: e2fsck/unix.c:1107
msgid "The -c and the -l/-L options may not be both used at the same time.\n"
msgstr ""
-#: e2fsck/unix.c:1151
+#: e2fsck/unix.c:1154
#, c-format
msgid ""
"E2FSCK_JBD_DEBUG \"%s\" not an integer\n"
"\n"
msgstr ""
-#: e2fsck/unix.c:1160
+#: e2fsck/unix.c:1163
#, c-format
msgid ""
"\n"
@@ -3378,31 +3359,31 @@
"\n"
msgstr ""
-#: e2fsck/unix.c:1251
+#: e2fsck/unix.c:1254
#, c-format
msgid ""
"MMP interval is %u seconds and total wait time is %u seconds. Please "
"wait...\n"
msgstr ""
-#: e2fsck/unix.c:1268 e2fsck/unix.c:1273
+#: e2fsck/unix.c:1271 e2fsck/unix.c:1276
msgid "while checking MMP block"
msgstr ""
-#: e2fsck/unix.c:1275
+#: e2fsck/unix.c:1278
#, c-format
msgid ""
"If you are sure the filesystem is not in use on any node, run:\n"
"'tune2fs -f -E clear_mmp %s'\n"
msgstr ""
-#: e2fsck/unix.c:1291
+#: e2fsck/unix.c:1294
msgid "while reading MMP block"
msgstr ""
-#: e2fsck/unix.c:1311 e2fsck/unix.c:1363 misc/e2undo.c:236 misc/e2undo.c:281
-#: misc/mke2fs.c:2720 misc/mke2fs.c:2771 misc/tune2fs.c:2792
-#: misc/tune2fs.c:2837 resize/main.c:188 resize/main.c:233
+#: e2fsck/unix.c:1314 e2fsck/unix.c:1366 misc/e2undo.c:240 misc/e2undo.c:285
+#: misc/mke2fs.c:2724 misc/mke2fs.c:2775 misc/tune2fs.c:2797
+#: misc/tune2fs.c:2842 resize/main.c:188 resize/main.c:233
#, c-format
msgid ""
"Overwriting existing filesystem; this can be undone using the command:\n"
@@ -3410,210 +3391,210 @@
"\n"
msgstr ""
-#: e2fsck/unix.c:1352 misc/e2undo.c:270 misc/mke2fs.c:2760 misc/tune2fs.c:2826
+#: e2fsck/unix.c:1355 misc/e2undo.c:274 misc/mke2fs.c:2764 misc/tune2fs.c:2831
#: resize/main.c:222
#, c-format
msgid "while trying to delete %s"
msgstr ""
-#: e2fsck/unix.c:1378 misc/mke2fs.c:2786 resize/main.c:243
+#: e2fsck/unix.c:1381 misc/mke2fs.c:2790 resize/main.c:243
msgid "while trying to setup undo file\n"
msgstr ""
-#: e2fsck/unix.c:1422
+#: e2fsck/unix.c:1425
msgid "Error: ext2fs library version out of date!\n"
msgstr ""
-#: e2fsck/unix.c:1429
+#: e2fsck/unix.c:1432
msgid "while trying to initialize program"
msgstr ""
-#: e2fsck/unix.c:1466
+#: e2fsck/unix.c:1469
#, c-format
msgid "\tUsing %s, %s\n"
msgstr ""
-#: e2fsck/unix.c:1478
+#: e2fsck/unix.c:1481
msgid "need terminal for interactive repairs"
msgstr ""
-#: e2fsck/unix.c:1539
+#: e2fsck/unix.c:1542
#, c-format
msgid "%s: %s trying backup blocks...\n"
msgstr ""
-#: e2fsck/unix.c:1541
+#: e2fsck/unix.c:1544
msgid "Superblock invalid,"
msgstr ""
-#: e2fsck/unix.c:1542
+#: e2fsck/unix.c:1545
msgid "Group descriptors look bad..."
msgstr ""
-#: e2fsck/unix.c:1552
+#: e2fsck/unix.c:1555
#, c-format
msgid "%s: %s while using the backup blocks"
msgstr ""
-#: e2fsck/unix.c:1556
+#: e2fsck/unix.c:1559
#, c-format
msgid "%s: going back to original superblock\n"
msgstr ""
-#: e2fsck/unix.c:1585
+#: e2fsck/unix.c:1588
msgid ""
"The filesystem revision is apparently too high for this version of e2fsck.\n"
"(Or the filesystem superblock is corrupt)\n"
"\n"
msgstr ""
-#: e2fsck/unix.c:1592
+#: e2fsck/unix.c:1595
msgid "Could this be a zero-length partition?\n"
msgstr ""
-#: e2fsck/unix.c:1594
+#: e2fsck/unix.c:1597
#, c-format
msgid "You must have %s access to the filesystem or be root\n"
msgstr ""
-#: e2fsck/unix.c:1600
+#: e2fsck/unix.c:1603
msgid "Possibly non-existent or swap device?\n"
msgstr ""
-#: e2fsck/unix.c:1602
+#: e2fsck/unix.c:1605
msgid "Filesystem mounted or opened exclusively by another program?\n"
msgstr ""
-#: e2fsck/unix.c:1606
+#: e2fsck/unix.c:1609
msgid "Possibly non-existent device?\n"
msgstr ""
-#: e2fsck/unix.c:1609
+#: e2fsck/unix.c:1612
msgid ""
"Disk write-protected; use the -n option to do a read-only\n"
"check of the device.\n"
msgstr ""
-#: e2fsck/unix.c:1623
+#: e2fsck/unix.c:1626
#, c-format
msgid "%s: Trying to load superblock despite errors...\n"
msgstr ""
-#: e2fsck/unix.c:1698
+#: e2fsck/unix.c:1701
msgid "Get a newer version of e2fsck!"
msgstr ""
-#: e2fsck/unix.c:1758
+#: e2fsck/unix.c:1761
#, c-format
msgid "while checking journal for %s"
msgstr ""
-#: e2fsck/unix.c:1761
+#: e2fsck/unix.c:1764
msgid "Cannot proceed with file system check"
msgstr ""
-#: e2fsck/unix.c:1772
+#: e2fsck/unix.c:1775
msgid ""
"Warning: skipping journal recovery because doing a read-only filesystem "
"check.\n"
msgstr ""
-#: e2fsck/unix.c:1784
+#: e2fsck/unix.c:1787
#, c-format
msgid "unable to set superblock flags on %s\n"
msgstr ""
-#: e2fsck/unix.c:1790
+#: e2fsck/unix.c:1793
#, c-format
msgid "Journal checksum error found in %s\n"
msgstr ""
-#: e2fsck/unix.c:1794
+#: e2fsck/unix.c:1797
#, c-format
msgid "Journal corrupted in %s\n"
msgstr ""
-#: e2fsck/unix.c:1798
+#: e2fsck/unix.c:1801
#, c-format
msgid "while recovering journal of %s"
msgstr ""
-#: e2fsck/unix.c:1820
+#: e2fsck/unix.c:1823
#, c-format
msgid "%s has unsupported feature(s):"
msgstr ""
-#: e2fsck/unix.c:1835
+#: e2fsck/unix.c:1838
#, c-format
msgid "%s has unsupported encoding: %0x\n"
msgstr ""
-#: e2fsck/unix.c:1885
+#: e2fsck/unix.c:1888
#, c-format
msgid "%s: %s while reading bad blocks inode\n"
msgstr ""
-#: e2fsck/unix.c:1888
+#: e2fsck/unix.c:1891
msgid "This doesn't bode well, but we'll try to go on...\n"
msgstr ""
-#: e2fsck/unix.c:1931
+#: e2fsck/unix.c:1934
#, c-format
msgid "Creating journal (%d blocks): "
msgstr ""
-#: e2fsck/unix.c:1940
+#: e2fsck/unix.c:1943
msgid " Done.\n"
msgstr ""
-#: e2fsck/unix.c:1942
+#: e2fsck/unix.c:1945
msgid ""
"\n"
"*** journal has been regenerated ***\n"
msgstr ""
-#: e2fsck/unix.c:1948
+#: e2fsck/unix.c:1951
msgid "aborted"
msgstr ""
-#: e2fsck/unix.c:1950
+#: e2fsck/unix.c:1953
#, c-format
msgid "%s: e2fsck canceled.\n"
msgstr ""
-#: e2fsck/unix.c:1977
+#: e2fsck/unix.c:1980
msgid "Restarting e2fsck from the beginning...\n"
msgstr ""
-#: e2fsck/unix.c:1981
+#: e2fsck/unix.c:1984
msgid "while resetting context"
msgstr ""
-#: e2fsck/unix.c:2040
+#: e2fsck/unix.c:2043
#, c-format
msgid ""
"\n"
"%s: ***** FILE SYSTEM ERRORS CORRECTED *****\n"
msgstr ""
-#: e2fsck/unix.c:2042
+#: e2fsck/unix.c:2045
#, c-format
msgid "%s: File system was modified.\n"
msgstr ""
-#: e2fsck/unix.c:2046 e2fsck/util.c:67
+#: e2fsck/unix.c:2049 e2fsck/util.c:67
#, c-format
msgid ""
"\n"
"%s: ***** FILE SYSTEM WAS MODIFIED *****\n"
msgstr ""
-#: e2fsck/unix.c:2051
+#: e2fsck/unix.c:2054
#, c-format
msgid "%s: ***** REBOOT SYSTEM *****\n"
msgstr ""
-#: e2fsck/unix.c:2061 e2fsck/util.c:73
+#: e2fsck/unix.c:2064 e2fsck/util.c:73
#, c-format
msgid ""
"\n"
@@ -3749,7 +3730,7 @@
msgid "while writing inode %lu in %s"
msgstr ""
-#: e2fsck/util.c:789
+#: e2fsck/util.c:790
msgid ""
"UNEXPECTED INCONSISTENCY: the filesystem is being modified while fsck is "
"running.\n"
@@ -3860,92 +3841,102 @@
msgid "during test data write, block %lu"
msgstr ""
-#: misc/badblocks.c:1007 misc/util.c:134
+#: misc/badblocks.c:1006 misc/util.c:134
#, c-format
msgid "%s is mounted; "
msgstr ""
-#: misc/badblocks.c:1009
+#: misc/badblocks.c:1008
msgid "badblocks forced anyway. Hope /etc/mtab is incorrect.\n"
msgstr ""
-#: misc/badblocks.c:1014
+#: misc/badblocks.c:1013
msgid "it's not safe to run badblocks!\n"
msgstr ""
-#: misc/badblocks.c:1019 misc/util.c:145
+#: misc/badblocks.c:1018 misc/util.c:145
#, c-format
msgid "%s is apparently in use by the system; "
msgstr ""
-#: misc/badblocks.c:1022
+#: misc/badblocks.c:1021
msgid "badblocks forced anyway.\n"
msgstr ""
-#: misc/badblocks.c:1042
+#: misc/badblocks.c:1041
#, c-format
msgid "invalid %s - %s"
msgstr ""
-#: misc/badblocks.c:1136
+#: misc/badblocks.c:1135
#, c-format
msgid "Too big max bad blocks count %u - maximum is %u"
msgstr ""
-#: misc/badblocks.c:1163
+#: misc/badblocks.c:1162
#, c-format
msgid "can't allocate memory for test_pattern - %s"
msgstr ""
-#: misc/badblocks.c:1193
+#: misc/badblocks.c:1192
msgid "Maximum of one test_pattern may be specified in read-only mode"
msgstr ""
-#: misc/badblocks.c:1199
+#: misc/badblocks.c:1198
msgid "Random test_pattern is not allowed in read-only mode"
msgstr ""
-#: misc/badblocks.c:1213
+#: misc/badblocks.c:1205
+#, c-format
+msgid "Invalid block size: %d\n"
+msgstr ""
+
+#: misc/badblocks.c:1211
+#, c-format
+msgid "Invalid blocks_at_once: %d\n"
+msgstr ""
+
+#: misc/badblocks.c:1225
msgid ""
"Couldn't determine device size; you must specify\n"
"the size manually\n"
msgstr ""
-#: misc/badblocks.c:1219
+#: misc/badblocks.c:1231
msgid "while trying to determine device size"
msgstr ""
-#: misc/badblocks.c:1224
+#: misc/badblocks.c:1236
msgid "last block"
msgstr ""
-#: misc/badblocks.c:1230
+#: misc/badblocks.c:1242
msgid "first block"
msgstr ""
-#: misc/badblocks.c:1233
+#: misc/badblocks.c:1245
#, c-format
msgid "invalid starting block (%llu): must be less than %llu"
msgstr ""
-#: misc/badblocks.c:1240
+#: misc/badblocks.c:1253
#, c-format
msgid "invalid end block (%llu): must be 32-bit value"
msgstr ""
-#: misc/badblocks.c:1296
+#: misc/badblocks.c:1309
msgid "while creating in-memory bad blocks list"
msgstr ""
-#: misc/badblocks.c:1305
+#: misc/badblocks.c:1318
msgid "input file - bad format"
msgstr ""
-#: misc/badblocks.c:1313 misc/badblocks.c:1322
+#: misc/badblocks.c:1326 misc/badblocks.c:1335
msgid "while adding to in-memory bad block list"
msgstr ""
-#: misc/badblocks.c:1347
+#: misc/badblocks.c:1360
#, c-format
msgid "Pass completed, %u bad blocks found. (%d/%d/%d errors)\n"
msgstr ""
@@ -3955,12 +3946,12 @@
msgid "Usage: %s [-pRVf] [-+=aAcCdDeijPsStTuFx] [-v version] files...\n"
msgstr ""
-#: misc/chattr.c:161
+#: misc/chattr.c:162
#, c-format
msgid "bad project - %s\n"
msgstr ""
-#: misc/chattr.c:175
+#: misc/chattr.c:176
#, c-format
msgid "bad version - %s\n"
msgstr ""
@@ -4052,9 +4043,9 @@
msgid "while reading xattrs for inode %u"
msgstr ""
-#: misc/create_inode.c:178 misc/create_inode.c:205 misc/create_inode.c:1052
-#: misc/e2undo.c:182 misc/e2undo.c:479 misc/e2undo.c:485 misc/e2undo.c:491
-#: misc/mke2fs.c:360
+#: misc/create_inode.c:178 misc/create_inode.c:205 misc/create_inode.c:1065
+#: misc/e2undo.c:186 misc/e2undo.c:483 misc/e2undo.c:489 misc/e2undo.c:495
+#: misc/mke2fs.c:361
msgid "while allocating memory"
msgstr ""
@@ -4088,7 +4079,7 @@
msgid "while creating symlink \"%s\""
msgstr ""
-#: misc/create_inode.c:387 misc/create_inode.c:972
+#: misc/create_inode.c:387 misc/create_inode.c:651 misc/create_inode.c:985
#, c-format
msgid "while looking up \"%s\""
msgstr ""
@@ -4098,83 +4089,83 @@
msgid "while creating directory \"%s\""
msgstr ""
-#: misc/create_inode.c:636
+#: misc/create_inode.c:637
#, c-format
msgid "while opening \"%s\" to copy"
msgstr ""
-#: misc/create_inode.c:814
+#: misc/create_inode.c:827
#, c-format
msgid "while changing working directory to \"%s\""
msgstr ""
-#: misc/create_inode.c:824
+#: misc/create_inode.c:837
#, c-format
msgid "while scanning directory \"%s\""
msgstr ""
-#: misc/create_inode.c:834
+#: misc/create_inode.c:847
#, c-format
msgid "while lstat \"%s\""
msgstr ""
-#: misc/create_inode.c:884
+#: misc/create_inode.c:897
#, c-format
msgid "while creating special file \"%s\""
msgstr ""
-#: misc/create_inode.c:893
+#: misc/create_inode.c:906
msgid "malloc failed"
msgstr ""
-#: misc/create_inode.c:901
+#: misc/create_inode.c:914
#, c-format
msgid "while trying to read link \"%s\""
msgstr ""
-#: misc/create_inode.c:908
+#: misc/create_inode.c:921
msgid "symlink increased in size between lstat() and readlink()"
msgstr ""
-#: misc/create_inode.c:919
+#: misc/create_inode.c:932
#, c-format
msgid "while writing symlink\"%s\""
msgstr ""
-#: misc/create_inode.c:930
+#: misc/create_inode.c:943
#, c-format
msgid "while writing file \"%s\""
msgstr ""
-#: misc/create_inode.c:943
+#: misc/create_inode.c:956
#, c-format
msgid "while making dir \"%s\""
msgstr ""
-#: misc/create_inode.c:961
+#: misc/create_inode.c:974
msgid "while changing directory"
msgstr ""
-#: misc/create_inode.c:967
-#, c-format
-msgid "ignoring entry \"%s\""
-msgstr ""
-
#: misc/create_inode.c:980
#, c-format
+msgid "ignoring entry \"%s\""
+msgstr ""
+
+#: misc/create_inode.c:993
+#, c-format
msgid "while setting inode for \"%s\""
msgstr ""
-#: misc/create_inode.c:987
+#: misc/create_inode.c:1000
#, c-format
msgid "while setting xattrs for \"%s\""
msgstr ""
-#: misc/create_inode.c:1013
+#: misc/create_inode.c:1026
msgid "while saving inode data"
msgstr ""
-#: misc/create_inode.c:1063
+#: misc/create_inode.c:1076
msgid "while copying xattrs on root directory"
msgstr ""
@@ -4325,21 +4316,21 @@
msgid "reading MMP block %llu from '%s'\n"
msgstr ""
-#: misc/dumpe2fs.c:517 misc/mke2fs.c:806 misc/tune2fs.c:2107
+#: misc/dumpe2fs.c:519 misc/mke2fs.c:809 misc/tune2fs.c:2112
msgid "Couldn't allocate memory to parse options!\n"
msgstr ""
-#: misc/dumpe2fs.c:543
+#: misc/dumpe2fs.c:545
#, c-format
msgid "Invalid superblock parameter: %s\n"
msgstr ""
-#: misc/dumpe2fs.c:558
+#: misc/dumpe2fs.c:560
#, c-format
msgid "Invalid blocksize parameter: %s\n"
msgstr ""
-#: misc/dumpe2fs.c:569
+#: misc/dumpe2fs.c:571
#, c-format
msgid ""
"\n"
@@ -4353,27 +4344,27 @@
"\tblocksize=<blocksize>\n"
msgstr ""
-#: misc/dumpe2fs.c:659 misc/mke2fs.c:1904
+#: misc/dumpe2fs.c:661 misc/mke2fs.c:1907
#, c-format
msgid "\tUsing %s\n"
msgstr ""
-#: misc/dumpe2fs.c:706 misc/e2image.c:1630 misc/tune2fs.c:2993
+#: misc/dumpe2fs.c:708 misc/e2image.c:1637 misc/tune2fs.c:2998
#: resize/main.c:418
msgid "Couldn't find valid filesystem superblock.\n"
msgstr ""
-#: misc/dumpe2fs.c:728
+#: misc/dumpe2fs.c:730
#, c-format
msgid "%s: MMP feature not enabled.\n"
msgstr ""
-#: misc/dumpe2fs.c:759
+#: misc/dumpe2fs.c:761
#, c-format
msgid "while trying to read '%s' bitmaps\n"
msgstr ""
-#: misc/dumpe2fs.c:768
+#: misc/dumpe2fs.c:770
msgid ""
"*** Run e2fsck now!\n"
"\n"
@@ -4398,7 +4389,7 @@
"[ dest_fs ]\n"
msgstr ""
-#: misc/e2image.c:176 misc/e2image.c:589 misc/e2image.c:595 misc/e2image.c:1194
+#: misc/e2image.c:176 misc/e2image.c:592 misc/e2image.c:598 misc/e2image.c:1200
msgid "while allocating buffer"
msgstr ""
@@ -4412,166 +4403,170 @@
msgid "error writing block %llu"
msgstr ""
-#: misc/e2image.c:198
+#: misc/e2image.c:199
msgid "error in generic_write()"
msgstr ""
-#: misc/e2image.c:215
+#: misc/e2image.c:216
msgid "Error: header size is bigger than wrt_size\n"
msgstr ""
-#: misc/e2image.c:220
+#: misc/e2image.c:221
msgid "Couldn't allocate header buffer\n"
msgstr ""
-#: misc/e2image.c:248
+#: misc/e2image.c:249
msgid "while writing superblock"
msgstr ""
-#: misc/e2image.c:257
+#: misc/e2image.c:258
msgid "while writing inode table"
msgstr ""
-#: misc/e2image.c:265
+#: misc/e2image.c:266
msgid "while writing block bitmap"
msgstr ""
-#: misc/e2image.c:273
+#: misc/e2image.c:274
msgid "while writing inode bitmap"
msgstr ""
-#: misc/e2image.c:515
+#: misc/e2image.c:516
#, c-format
msgid "Corrupt directory block %llu: bad rec_len (%d)\n"
msgstr ""
-#: misc/e2image.c:527
+#: misc/e2image.c:528
#, c-format
msgid "Corrupt directory block %llu: bad name_len (%d)\n"
msgstr ""
-#: misc/e2image.c:568
+#: misc/e2image.c:569
#, c-format
msgid "%llu / %llu blocks (%d%%)"
msgstr ""
-#: misc/e2image.c:599 misc/e2image.c:639
+#: misc/e2image.c:602 misc/e2image.c:642
msgid "Copying "
msgstr ""
-#: misc/e2image.c:636
+#: misc/e2image.c:639
msgid ""
"Stopping now will destroy the filesystem, interrupt again if you are sure\n"
msgstr ""
-#: misc/e2image.c:662
+#: misc/e2image.c:665
#, c-format
msgid " %s remaining at %.2f MB/s"
msgstr ""
-#: misc/e2image.c:674 misc/e2image.c:1204
+#: misc/e2image.c:677 misc/e2image.c:1210
#, c-format
msgid "error reading block %llu"
msgstr ""
-#: misc/e2image.c:728
+#: misc/e2image.c:732
#, c-format
msgid "Copied %llu / %llu blocks (%d%%) in %s "
msgstr ""
-#: misc/e2image.c:732
+#: misc/e2image.c:737
#, c-format
msgid "at %.2f MB/s"
msgstr ""
-#: misc/e2image.c:768
+#: misc/e2image.c:773
msgid "while allocating l1 table"
msgstr ""
-#: misc/e2image.c:813
+#: misc/e2image.c:818
msgid "while allocating l2 cache"
msgstr ""
-#: misc/e2image.c:836
+#: misc/e2image.c:841
msgid ""
"Warning: There are still tables in the cache while putting the cache, data "
"will be lost so the image may not be valid.\n"
msgstr ""
-#: misc/e2image.c:1161
+#: misc/e2image.c:1167
msgid "while allocating ext2_qcow2_image"
msgstr ""
-#: misc/e2image.c:1168
+#: misc/e2image.c:1174
msgid "while initializing ext2_qcow2_image"
msgstr ""
-#: misc/e2image.c:1227 misc/e2image.c:1245
+#: misc/e2image.c:1234 misc/e2image.c:1252
msgid "Programming error: multiple sequential refcount blocks created!\n"
msgstr ""
-#: misc/e2image.c:1286
+#: misc/e2image.c:1293
msgid "while allocating block bitmap"
msgstr ""
-#: misc/e2image.c:1295
+#: misc/e2image.c:1302
msgid "while allocating scramble block bitmap"
msgstr ""
-#: misc/e2image.c:1318
+#: misc/e2image.c:1325
msgid "Scanning inodes...\n"
msgstr ""
-#: misc/e2image.c:1330
+#: misc/e2image.c:1337
msgid "Can't allocate block buffer"
msgstr ""
-#: misc/e2image.c:1369 misc/e2image.c:1383
+#: misc/e2image.c:1349
+msgid "while getting next inode"
+msgstr ""
+
+#: misc/e2image.c:1376 misc/e2image.c:1390
#, c-format
msgid "while iterating over inode %u"
msgstr ""
-#: misc/e2image.c:1415
+#: misc/e2image.c:1422
msgid "Raw and qcow2 images cannot be installed"
msgstr ""
-#: misc/e2image.c:1437
+#: misc/e2image.c:1444
msgid "error reading bitmaps"
msgstr ""
-#: misc/e2image.c:1449
+#: misc/e2image.c:1456
msgid "while opening device file"
msgstr ""
-#: misc/e2image.c:1460
+#: misc/e2image.c:1467
msgid "while restoring the image table"
msgstr ""
-#: misc/e2image.c:1566
+#: misc/e2image.c:1573
msgid "-a option can only be used with raw or QCOW2 images."
msgstr ""
-#: misc/e2image.c:1571
+#: misc/e2image.c:1578
msgid "-b option can only be used with raw or QCOW2 images."
msgstr ""
-#: misc/e2image.c:1577
+#: misc/e2image.c:1584
msgid "Offsets are only allowed with raw images."
msgstr ""
-#: misc/e2image.c:1582
+#: misc/e2image.c:1589
msgid "Move mode is only allowed with raw images."
msgstr ""
-#: misc/e2image.c:1587
+#: misc/e2image.c:1594
msgid "Move mode requires all data mode."
msgstr ""
-#: misc/e2image.c:1597
+#: misc/e2image.c:1604
msgid "checking if mounted"
msgstr ""
-#: misc/e2image.c:1604
+#: misc/e2image.c:1611
msgid ""
"\n"
"Running e2image on a R/W mounted filesystem can result in an\n"
@@ -4579,51 +4574,51 @@
"Use -f option if you really want to do that.\n"
msgstr ""
-#: misc/e2image.c:1658
+#: misc/e2image.c:1665
msgid "QCOW2 image can not be written to the stdout!\n"
msgstr ""
-#: misc/e2image.c:1664
+#: misc/e2image.c:1671
msgid "Can not stat output\n"
msgstr ""
-#: misc/e2image.c:1674
+#: misc/e2image.c:1681
#, c-format
msgid "Image (%s) is compressed\n"
msgstr ""
-#: misc/e2image.c:1677
+#: misc/e2image.c:1684
#, c-format
msgid "Image (%s) is encrypted\n"
msgstr ""
-#: misc/e2image.c:1680
+#: misc/e2image.c:1687
#, c-format
msgid "Image (%s) is corrupted\n"
msgstr ""
-#: misc/e2image.c:1684
+#: misc/e2image.c:1691
#, c-format
msgid "while trying to convert qcow2 image (%s) into raw image (%s)"
msgstr ""
-#: misc/e2image.c:1694
+#: misc/e2image.c:1701
msgid "The -c option only supported in raw mode\n"
msgstr ""
-#: misc/e2image.c:1699
+#: misc/e2image.c:1706
msgid "The -c option not supported when writing to stdout\n"
msgstr ""
-#: misc/e2image.c:1706
+#: misc/e2image.c:1713
msgid "while allocating check_buf"
msgstr ""
-#: misc/e2image.c:1712
+#: misc/e2image.c:1719
msgid "The -p option only supported in raw mode\n"
msgstr ""
-#: misc/e2image.c:1722
+#: misc/e2image.c:1729
#, c-format
msgid "%d blocks already contained the data to be copied\n"
msgstr ""
@@ -4653,7 +4648,7 @@
msgid "e2label: not an ext2 filesystem\n"
msgstr ""
-#: misc/e2label.c:97 misc/tune2fs.c:3198
+#: misc/e2label.c:97 misc/tune2fs.c:3207
#, c-format
msgid "Warning: label too long, truncating.\n"
msgstr ""
@@ -4680,151 +4675,151 @@
"<filesystem>\n"
msgstr ""
-#: misc/e2undo.c:149
+#: misc/e2undo.c:153
msgid "The file system superblock doesn't match the undo file.\n"
msgstr ""
-#: misc/e2undo.c:152
+#: misc/e2undo.c:156
msgid "UUID does not match.\n"
msgstr ""
-#: misc/e2undo.c:154
+#: misc/e2undo.c:158
msgid "Last mount time does not match.\n"
msgstr ""
-#: misc/e2undo.c:156
+#: misc/e2undo.c:160
msgid "Last write time does not match.\n"
msgstr ""
-#: misc/e2undo.c:158
+#: misc/e2undo.c:162
msgid "Lifetime write counter does not match.\n"
msgstr ""
-#: misc/e2undo.c:172
+#: misc/e2undo.c:176
msgid "while reading filesystem superblock."
msgstr ""
-#: misc/e2undo.c:188
+#: misc/e2undo.c:192
msgid "while fetching superblock"
msgstr ""
-#: misc/e2undo.c:201
+#: misc/e2undo.c:205
#, c-format
msgid "Undo file superblock checksum doesn't match.\n"
msgstr ""
-#: misc/e2undo.c:340
+#: misc/e2undo.c:344
#, c-format
msgid "illegal offset - %s"
msgstr ""
-#: misc/e2undo.c:364
+#: misc/e2undo.c:368
#, c-format
msgid "Will not write to an undo file while replaying it.\n"
msgstr ""
-#: misc/e2undo.c:373
+#: misc/e2undo.c:377
#, c-format
msgid "while opening undo file `%s'\n"
msgstr ""
-#: misc/e2undo.c:380
+#: misc/e2undo.c:384
msgid "while reading undo file"
msgstr ""
-#: misc/e2undo.c:385
+#: misc/e2undo.c:389
#, c-format
msgid "%s: Not an undo file.\n"
msgstr ""
-#: misc/e2undo.c:396
+#: misc/e2undo.c:400
#, c-format
msgid "%s: Header checksum doesn't match.\n"
msgstr ""
-#: misc/e2undo.c:403
+#: misc/e2undo.c:407
#, c-format
msgid "%s: Corrupt undo file header.\n"
msgstr ""
-#: misc/e2undo.c:407
+#: misc/e2undo.c:411
#, c-format
msgid "%s: Undo block size too large.\n"
msgstr ""
-#: misc/e2undo.c:412
+#: misc/e2undo.c:416
#, c-format
msgid "%s: Undo block size too small.\n"
msgstr ""
-#: misc/e2undo.c:425
+#: misc/e2undo.c:429
#, c-format
msgid "%s: Unknown undo file feature set.\n"
msgstr ""
-#: misc/e2undo.c:433
+#: misc/e2undo.c:437
#, c-format
msgid "Error while determining whether %s is mounted."
msgstr ""
-#: misc/e2undo.c:439
+#: misc/e2undo.c:443
msgid "e2undo should only be run on unmounted filesystems"
msgstr ""
-#: misc/e2undo.c:455
+#: misc/e2undo.c:459
#, c-format
msgid "while opening `%s'"
msgstr ""
-#: misc/e2undo.c:466
+#: misc/e2undo.c:470
msgid "specified offset is too large"
msgstr ""
-#: misc/e2undo.c:507
+#: misc/e2undo.c:511
msgid "while reading keys"
msgstr ""
-#: misc/e2undo.c:519
+#: misc/e2undo.c:523
#, c-format
msgid "%s: wrong key magic at %llu\n"
msgstr ""
-#: misc/e2undo.c:529
+#: misc/e2undo.c:533
#, c-format
msgid "%s: key block checksum error at %llu.\n"
msgstr ""
-#: misc/e2undo.c:552
+#: misc/e2undo.c:556
#, c-format
msgid "%s: block %llu is too long."
msgstr ""
-#: misc/e2undo.c:564 misc/e2undo.c:600
+#: misc/e2undo.c:569 misc/e2undo.c:606
#, c-format
msgid "while fetching block %llu."
msgstr ""
-#: misc/e2undo.c:576
+#: misc/e2undo.c:581
#, c-format
msgid "checksum error in filesystem block %llu (undo blk %llu)\n"
msgstr ""
-#: misc/e2undo.c:615
+#: misc/e2undo.c:622
#, c-format
msgid "while writing block %llu."
msgstr ""
-#: misc/e2undo.c:621
+#: misc/e2undo.c:629
#, c-format
msgid "Undo file corruption; run e2fsck NOW!\n"
msgstr ""
-#: misc/e2undo.c:623
+#: misc/e2undo.c:631
#, c-format
msgid "IO error during replay; run e2fsck NOW!\n"
msgstr ""
-#: misc/e2undo.c:626
+#: misc/e2undo.c:634
#, c-format
msgid "Incomplete undo record; run e2fsck.\n"
msgstr ""
@@ -4988,7 +4983,7 @@
msgid "%s: %s.\n"
msgstr ""
-#: misc/fuse2fs.c:3783 misc/fuse2fs.c:3802 misc/tune2fs.c:3093
+#: misc/fuse2fs.c:3783 misc/fuse2fs.c:3802 misc/tune2fs.c:3098
#, c-format
msgid "Please run e2fsck -fy %s.\n"
msgstr ""
@@ -5061,35 +5056,35 @@
"\t[-jnqvDFSV] device [blocks-count]\n"
msgstr ""
-#: misc/mke2fs.c:262
+#: misc/mke2fs.c:263
#, c-format
msgid "Running command: %s\n"
msgstr ""
-#: misc/mke2fs.c:266
+#: misc/mke2fs.c:267
#, c-format
msgid "while trying to run '%s'"
msgstr ""
-#: misc/mke2fs.c:273
+#: misc/mke2fs.c:274
msgid "while processing list of bad blocks from program"
msgstr ""
-#: misc/mke2fs.c:300
+#: misc/mke2fs.c:301
#, c-format
msgid "Block %d in primary superblock/group descriptor area bad.\n"
msgstr ""
-#: misc/mke2fs.c:302
+#: misc/mke2fs.c:303
#, c-format
msgid "Blocks %u through %u must be good in order to build a filesystem.\n"
msgstr ""
-#: misc/mke2fs.c:305
+#: misc/mke2fs.c:306
msgid "Aborting....\n"
msgstr ""
-#: misc/mke2fs.c:325
+#: misc/mke2fs.c:326
#, c-format
msgid ""
"Warning: the backup superblock/group descriptors at block %u contain\n"
@@ -5097,263 +5092,263 @@
"\n"
msgstr ""
-#: misc/mke2fs.c:344 misc/mke2fs.c:3281
+#: misc/mke2fs.c:345 misc/mke2fs.c:3285
msgid "while marking bad blocks as used"
msgstr ""
-#: misc/mke2fs.c:369
+#: misc/mke2fs.c:370
msgid "while writing reserved inodes"
msgstr ""
-#: misc/mke2fs.c:421
+#: misc/mke2fs.c:422
msgid "Writing inode tables: "
msgstr ""
-#: misc/mke2fs.c:443
+#: misc/mke2fs.c:444
#, c-format
msgid ""
"\n"
"Could not write %d blocks in inode table starting at %llu: %s\n"
msgstr ""
-#: misc/mke2fs.c:457 misc/mke2fs.c:2833 misc/mke2fs.c:3241
+#: misc/mke2fs.c:459 misc/mke2fs.c:2837 misc/mke2fs.c:3245
msgid "done \n"
msgstr ""
-#: misc/mke2fs.c:472
+#: misc/mke2fs.c:474
msgid "while creating root dir"
msgstr ""
-#: misc/mke2fs.c:479
+#: misc/mke2fs.c:481
msgid "while reading root inode"
msgstr ""
-#: misc/mke2fs.c:491
+#: misc/mke2fs.c:493
msgid "while setting root inode ownership"
msgstr ""
-#: misc/mke2fs.c:509
+#: misc/mke2fs.c:511
msgid "while creating /lost+found"
msgstr ""
-#: misc/mke2fs.c:516
+#: misc/mke2fs.c:518
msgid "while looking up /lost+found"
msgstr ""
-#: misc/mke2fs.c:529
+#: misc/mke2fs.c:531
msgid "while expanding /lost+found"
msgstr ""
-#: misc/mke2fs.c:544
+#: misc/mke2fs.c:546
msgid "while setting bad block inode"
msgstr ""
-#: misc/mke2fs.c:571
+#: misc/mke2fs.c:573
#, c-format
msgid "Out of memory erasing sectors %d-%d\n"
msgstr ""
-#: misc/mke2fs.c:581
+#: misc/mke2fs.c:583
#, c-format
msgid "Warning: could not read block 0: %s\n"
msgstr ""
-#: misc/mke2fs.c:597
+#: misc/mke2fs.c:599
#, c-format
msgid "Warning: could not erase sector %d: %s\n"
msgstr ""
-#: misc/mke2fs.c:613
+#: misc/mke2fs.c:615
msgid "while splitting the journal size"
msgstr ""
-#: misc/mke2fs.c:620
+#: misc/mke2fs.c:622
msgid "while initializing journal superblock"
msgstr ""
-#: misc/mke2fs.c:628
+#: misc/mke2fs.c:630
msgid "Zeroing journal device: "
msgstr ""
-#: misc/mke2fs.c:640
+#: misc/mke2fs.c:642
#, c-format
msgid "while zeroing journal device (block %llu, count %d)"
msgstr ""
-#: misc/mke2fs.c:658
+#: misc/mke2fs.c:660
msgid "while writing journal superblock"
msgstr ""
-#: misc/mke2fs.c:672
+#: misc/mke2fs.c:674
#, c-format
msgid "Creating filesystem with %llu %dk blocks and %u inodes\n"
msgstr ""
-#: misc/mke2fs.c:680
+#: misc/mke2fs.c:682
#, c-format
msgid ""
"warning: %llu blocks unused.\n"
"\n"
msgstr ""
-#: misc/mke2fs.c:683
+#: misc/mke2fs.c:686
#, c-format
msgid "Filesystem label=%.*s\n"
msgstr ""
-#: misc/mke2fs.c:687
+#: misc/mke2fs.c:690
#, c-format
msgid "OS type: %s\n"
msgstr ""
-#: misc/mke2fs.c:689
+#: misc/mke2fs.c:692
#, c-format
msgid "Block size=%u (log=%u)\n"
msgstr ""
-#: misc/mke2fs.c:692
+#: misc/mke2fs.c:695
#, c-format
msgid "Cluster size=%u (log=%u)\n"
msgstr ""
-#: misc/mke2fs.c:696
+#: misc/mke2fs.c:699
#, c-format
msgid "Fragment size=%u (log=%u)\n"
msgstr ""
-#: misc/mke2fs.c:698
+#: misc/mke2fs.c:701
#, c-format
msgid "Stride=%u blocks, Stripe width=%u blocks\n"
msgstr ""
-#: misc/mke2fs.c:700
+#: misc/mke2fs.c:703
#, c-format
msgid "%u inodes, %llu blocks\n"
msgstr ""
-#: misc/mke2fs.c:702
+#: misc/mke2fs.c:705
#, c-format
msgid "%llu blocks (%2.2f%%) reserved for the super user\n"
msgstr ""
-#: misc/mke2fs.c:705
+#: misc/mke2fs.c:708
#, c-format
msgid "First data block=%u\n"
msgstr ""
-#: misc/mke2fs.c:707
+#: misc/mke2fs.c:710
#, c-format
msgid "Root directory owner=%u:%u\n"
msgstr ""
-#: misc/mke2fs.c:709
+#: misc/mke2fs.c:712
#, c-format
msgid "Maximum filesystem blocks=%lu\n"
msgstr ""
-#: misc/mke2fs.c:713
+#: misc/mke2fs.c:716
#, c-format
msgid "%u block groups\n"
msgstr ""
-#: misc/mke2fs.c:715
+#: misc/mke2fs.c:718
#, c-format
msgid "%u block group\n"
msgstr ""
-#: misc/mke2fs.c:717
+#: misc/mke2fs.c:720
#, c-format
msgid "%u blocks per group, %u clusters per group\n"
msgstr ""
-#: misc/mke2fs.c:720
+#: misc/mke2fs.c:723
#, c-format
msgid "%u blocks per group, %u fragments per group\n"
msgstr ""
-#: misc/mke2fs.c:722
+#: misc/mke2fs.c:725
#, c-format
msgid "%u inodes per group\n"
msgstr ""
-#: misc/mke2fs.c:731
+#: misc/mke2fs.c:734
#, c-format
msgid "Filesystem UUID: %s\n"
msgstr ""
-#: misc/mke2fs.c:732
+#: misc/mke2fs.c:735
msgid "Superblock backups stored on blocks: "
msgstr ""
-#: misc/mke2fs.c:828
+#: misc/mke2fs.c:831
#, c-format
msgid "%s requires '-O 64bit'\n"
msgstr ""
-#: misc/mke2fs.c:834
+#: misc/mke2fs.c:837
#, c-format
msgid "'%s' must be before 'resize=%u'\n"
msgstr ""
-#: misc/mke2fs.c:847
+#: misc/mke2fs.c:850
#, c-format
msgid "Invalid desc_size: '%s'\n"
msgstr ""
-#: misc/mke2fs.c:861
+#: misc/mke2fs.c:864
#, c-format
msgid "Invalid hash seed: %s\n"
msgstr ""
-#: misc/mke2fs.c:873
+#: misc/mke2fs.c:876
#, c-format
msgid "Invalid offset: %s\n"
msgstr ""
-#: misc/mke2fs.c:887 misc/tune2fs.c:2135
+#: misc/mke2fs.c:890 misc/tune2fs.c:2140
#, c-format
msgid "Invalid mmp_update_interval: %s\n"
msgstr ""
-#: misc/mke2fs.c:904
+#: misc/mke2fs.c:907
#, c-format
msgid "Invalid # of backup superblocks: %s\n"
msgstr ""
-#: misc/mke2fs.c:926
+#: misc/mke2fs.c:929
#, c-format
msgid "Invalid stride parameter: %s\n"
msgstr ""
-#: misc/mke2fs.c:941
+#: misc/mke2fs.c:944
#, c-format
msgid "Invalid stripe-width parameter: %s\n"
msgstr ""
-#: misc/mke2fs.c:964
+#: misc/mke2fs.c:967
#, c-format
msgid "Invalid resize parameter: %s\n"
msgstr ""
-#: misc/mke2fs.c:971
+#: misc/mke2fs.c:974
msgid "The resize maximum must be greater than the filesystem size.\n"
msgstr ""
-#: misc/mke2fs.c:995
+#: misc/mke2fs.c:998
msgid "On-line resizing not supported with revision 0 filesystems\n"
msgstr ""
-#: misc/mke2fs.c:1021 misc/mke2fs.c:1030
+#: misc/mke2fs.c:1024 misc/mke2fs.c:1033
#, c-format
msgid "Invalid root_owner: '%s'\n"
msgstr ""
-#: misc/mke2fs.c:1075
+#: misc/mke2fs.c:1078
#, c-format
msgid "Invalid encoding: %s"
msgstr ""
-#: misc/mke2fs.c:1093
+#: misc/mke2fs.c:1096
#, c-format
msgid ""
"\n"
@@ -5382,7 +5377,7 @@
"\n"
msgstr ""
-#: misc/mke2fs.c:1120
+#: misc/mke2fs.c:1123
#, c-format
msgid ""
"\n"
@@ -5390,52 +5385,52 @@
"\n"
msgstr ""
-#: misc/mke2fs.c:1131 misc/tune2fs.c:2271
+#: misc/mke2fs.c:1134 misc/tune2fs.c:2276
#, c-format
msgid "error: Invalid encoding flag: %s\n"
msgstr ""
-#: misc/mke2fs.c:1137 misc/tune2fs.c:2280
+#: misc/mke2fs.c:1140 misc/tune2fs.c:2285
#, c-format
msgid ""
"error: An encoding must be explicitly specified when passing encoding-flags\n"
msgstr ""
-#: misc/mke2fs.c:1187
+#: misc/mke2fs.c:1190
#, c-format
msgid ""
"Syntax error in mke2fs config file (%s, line #%d)\n"
"\t%s\n"
msgstr ""
-#: misc/mke2fs.c:1200 misc/tune2fs.c:1105
+#: misc/mke2fs.c:1203 misc/tune2fs.c:1105
#, c-format
msgid "Invalid filesystem option set: %s\n"
msgstr ""
-#: misc/mke2fs.c:1212 misc/tune2fs.c:422
+#: misc/mke2fs.c:1215 misc/tune2fs.c:422
#, c-format
msgid "Invalid mount option set: %s\n"
msgstr ""
-#: misc/mke2fs.c:1348
+#: misc/mke2fs.c:1351
#, c-format
msgid ""
"\n"
"Your mke2fs.conf file does not define the %s filesystem type.\n"
msgstr ""
-#: misc/mke2fs.c:1352
+#: misc/mke2fs.c:1355
msgid ""
"You probably need to install an updated mke2fs.conf file.\n"
"\n"
msgstr ""
-#: misc/mke2fs.c:1356
+#: misc/mke2fs.c:1359
msgid "Aborting...\n"
msgstr ""
-#: misc/mke2fs.c:1397
+#: misc/mke2fs.c:1400
#, c-format
msgid ""
"\n"
@@ -5443,154 +5438,154 @@
"\n"
msgstr ""
-#: misc/mke2fs.c:1584
+#: misc/mke2fs.c:1587
msgid "Couldn't allocate memory for new PATH.\n"
msgstr ""
-#: misc/mke2fs.c:1621
+#: misc/mke2fs.c:1624
#, c-format
msgid "Couldn't init profile successfully (error: %ld).\n"
msgstr ""
-#: misc/mke2fs.c:1654
+#: misc/mke2fs.c:1657
#, c-format
msgid "invalid block size - %s"
msgstr ""
-#: misc/mke2fs.c:1658
+#: misc/mke2fs.c:1661
#, c-format
msgid "Warning: blocksize %d not usable on most systems.\n"
msgstr ""
-#: misc/mke2fs.c:1674
+#: misc/mke2fs.c:1677
#, c-format
msgid "invalid cluster size - %s"
msgstr ""
-#: misc/mke2fs.c:1687
+#: misc/mke2fs.c:1690
msgid "'-R' is deprecated, use '-E' instead"
msgstr ""
-#: misc/mke2fs.c:1701 misc/tune2fs.c:1861
+#: misc/mke2fs.c:1704 misc/tune2fs.c:1866
#, c-format
msgid "bad error behavior - %s"
msgstr ""
-#: misc/mke2fs.c:1713
+#: misc/mke2fs.c:1716
msgid "Illegal number for blocks per group"
msgstr ""
-#: misc/mke2fs.c:1718
+#: misc/mke2fs.c:1721
msgid "blocks per group must be multiple of 8"
msgstr ""
-#: misc/mke2fs.c:1726
+#: misc/mke2fs.c:1729
msgid "Illegal number for flex_bg size"
msgstr ""
-#: misc/mke2fs.c:1732
+#: misc/mke2fs.c:1735
msgid "flex_bg size must be a power of 2"
msgstr ""
-#: misc/mke2fs.c:1737
+#: misc/mke2fs.c:1740
#, c-format
msgid "flex_bg size (%lu) must be less than or equal to 2^31"
msgstr ""
-#: misc/mke2fs.c:1747
+#: misc/mke2fs.c:1750
#, c-format
msgid "invalid inode ratio %s (min %d/max %d)"
msgstr ""
-#: misc/mke2fs.c:1757
+#: misc/mke2fs.c:1760
#, c-format
msgid "invalid inode size - %s"
msgstr ""
-#: misc/mke2fs.c:1772
+#: misc/mke2fs.c:1775
msgid ""
"Warning: -K option is deprecated and should not be used anymore. Use '-E "
"nodiscard' extended option instead!\n"
msgstr ""
-#: misc/mke2fs.c:1783
+#: misc/mke2fs.c:1786
msgid "in malloc for bad_blocks_filename"
msgstr ""
-#: misc/mke2fs.c:1792
+#: misc/mke2fs.c:1795
#, c-format
msgid ""
"Warning: label too long; will be truncated to '%s'\n"
"\n"
msgstr ""
-#: misc/mke2fs.c:1801
+#: misc/mke2fs.c:1804
#, c-format
msgid "invalid reserved blocks percent - %s"
msgstr ""
-#: misc/mke2fs.c:1816
+#: misc/mke2fs.c:1819
#, c-format
msgid "bad num inodes - %s"
msgstr ""
-#: misc/mke2fs.c:1829
+#: misc/mke2fs.c:1832
msgid "while allocating fs_feature string"
msgstr ""
-#: misc/mke2fs.c:1846
+#: misc/mke2fs.c:1849
#, c-format
msgid "bad revision level - %s"
msgstr ""
-#: misc/mke2fs.c:1851
+#: misc/mke2fs.c:1854
#, c-format
msgid "while trying to create revision %d"
msgstr ""
-#: misc/mke2fs.c:1865
+#: misc/mke2fs.c:1868
msgid "The -t option may only be used once"
msgstr ""
-#: misc/mke2fs.c:1873
+#: misc/mke2fs.c:1876
msgid "The -T option may only be used once"
msgstr ""
-#: misc/mke2fs.c:1929 misc/mke2fs.c:3364
+#: misc/mke2fs.c:1932 misc/mke2fs.c:3368
#, c-format
msgid "while trying to open journal device %s\n"
msgstr ""
-#: misc/mke2fs.c:1935
+#: misc/mke2fs.c:1938
#, c-format
msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n"
msgstr ""
-#: misc/mke2fs.c:1941
+#: misc/mke2fs.c:1944
#, c-format
msgid "Using journal device's blocksize: %d\n"
msgstr ""
-#: misc/mke2fs.c:1952
+#: misc/mke2fs.c:1955
#, c-format
msgid "invalid blocks '%s' on device '%s'"
msgstr ""
-#: misc/mke2fs.c:1982
+#: misc/mke2fs.c:1985
msgid "filesystem"
msgstr ""
-#: misc/mke2fs.c:2000 resize/main.c:499
+#: misc/mke2fs.c:2003 resize/main.c:499
msgid "while trying to determine filesystem size"
msgstr ""
-#: misc/mke2fs.c:2006
+#: misc/mke2fs.c:2009
msgid ""
"Couldn't determine device size; you must specify\n"
"the size of the filesystem\n"
msgstr ""
-#: misc/mke2fs.c:2013
+#: misc/mke2fs.c:2016
msgid ""
"Device size reported to be zero. Invalid partition specified, or\n"
"\tpartition table wasn't reread after running fdisk, due to\n"
@@ -5598,149 +5593,149 @@
"\tto re-read your partition table.\n"
msgstr ""
-#: misc/mke2fs.c:2030
+#: misc/mke2fs.c:2033
msgid "Filesystem larger than apparent device size."
msgstr ""
-#: misc/mke2fs.c:2050
+#: misc/mke2fs.c:2053
msgid "Failed to parse fs types list\n"
msgstr ""
-#: misc/mke2fs.c:2100
+#: misc/mke2fs.c:2103
msgid "The HURD does not support the filetype feature.\n"
msgstr ""
-#: misc/mke2fs.c:2105
+#: misc/mke2fs.c:2108
msgid "The HURD does not support the huge_file feature.\n"
msgstr ""
-#: misc/mke2fs.c:2110
+#: misc/mke2fs.c:2113
msgid "The HURD does not support the metadata_csum feature.\n"
msgstr ""
-#: misc/mke2fs.c:2115
+#: misc/mke2fs.c:2118
msgid "The HURD does not support the ea_inode feature.\n"
msgstr ""
-#: misc/mke2fs.c:2125
+#: misc/mke2fs.c:2128
msgid "while trying to determine hardware sector size"
msgstr ""
-#: misc/mke2fs.c:2131
+#: misc/mke2fs.c:2134
msgid "while trying to determine physical sector size"
msgstr ""
-#: misc/mke2fs.c:2163
+#: misc/mke2fs.c:2166
msgid "while setting blocksize; too small for device\n"
msgstr ""
-#: misc/mke2fs.c:2168
+#: misc/mke2fs.c:2171
#, c-format
msgid ""
"Warning: specified blocksize %d is less than device physical sectorsize %d\n"
msgstr ""
-#: misc/mke2fs.c:2192
+#: misc/mke2fs.c:2195
#, c-format
msgid ""
"%s: Size of device (0x%llx blocks) %s too big to be expressed\n"
"\tin 32 bits using a blocksize of %d.\n"
msgstr ""
-#: misc/mke2fs.c:2206
+#: misc/mke2fs.c:2209
#, c-format
msgid ""
"%s: Size of device (0x%llx blocks) %s too big to create\n"
"\ta filesystem using a blocksize of %d.\n"
msgstr ""
-#: misc/mke2fs.c:2228
+#: misc/mke2fs.c:2231
msgid "fs_types for mke2fs.conf resolution: "
msgstr ""
-#: misc/mke2fs.c:2235
+#: misc/mke2fs.c:2238
msgid "Filesystem features not supported with revision 0 filesystems\n"
msgstr ""
-#: misc/mke2fs.c:2243
+#: misc/mke2fs.c:2246
msgid "Sparse superblocks not supported with revision 0 filesystems\n"
msgstr ""
-#: misc/mke2fs.c:2253
+#: misc/mke2fs.c:2256
msgid "Journals not supported with revision 0 filesystems\n"
msgstr ""
-#: misc/mke2fs.c:2266
+#: misc/mke2fs.c:2269
#, c-format
msgid "invalid reserved blocks percent - %lf"
msgstr ""
-#: misc/mke2fs.c:2283
+#: misc/mke2fs.c:2286
msgid ""
"Extents MUST be enabled for a 64-bit filesystem. Pass -O extents to "
"rectify.\n"
msgstr ""
-#: misc/mke2fs.c:2303
+#: misc/mke2fs.c:2306
msgid "The cluster size may not be smaller than the block size.\n"
msgstr ""
-#: misc/mke2fs.c:2309
+#: misc/mke2fs.c:2312
msgid "specifying a cluster size requires the bigalloc feature"
msgstr ""
-#: misc/mke2fs.c:2329
+#: misc/mke2fs.c:2332
#, c-format
msgid "warning: Unable to get device geometry for %s\n"
msgstr ""
-#: misc/mke2fs.c:2341
+#: misc/mke2fs.c:2344
#, c-format
msgid "%s alignment is offset by %lu bytes.\n"
msgstr ""
-#: misc/mke2fs.c:2343
+#: misc/mke2fs.c:2346
#, c-format
msgid ""
"This may result in very poor performance, (re)-partitioning suggested.\n"
msgstr ""
-#: misc/mke2fs.c:2349
+#: misc/mke2fs.c:2352
#, c-format
msgid ""
"%s is capable of DAX but current block size %u is different from system page "
"size %u so filesystem will not support DAX.\n"
msgstr ""
-#: misc/mke2fs.c:2373
+#: misc/mke2fs.c:2376
#, c-format
msgid "%d-byte blocks too big for system (max %d)"
msgstr ""
-#: misc/mke2fs.c:2377
+#: misc/mke2fs.c:2380
#, c-format
msgid ""
"Warning: %d-byte blocks too big for system (max %d), forced to continue\n"
msgstr ""
-#: misc/mke2fs.c:2385
+#: misc/mke2fs.c:2388
#, c-format
msgid ""
"Suggestion: Use Linux kernel >= 3.18 for improved stability of the metadata "
"and journal checksum features.\n"
msgstr ""
-#: misc/mke2fs.c:2431
+#: misc/mke2fs.c:2434
#, c-format
msgid "Unknown filename encoding from profile: %s"
msgstr ""
-#: misc/mke2fs.c:2442
+#: misc/mke2fs.c:2445
#, c-format
msgid "Unknown encoding flags from profile: %s"
msgstr ""
-#: misc/mke2fs.c:2467
+#: misc/mke2fs.c:2470
#, c-format
msgid ""
"\n"
@@ -5750,22 +5745,22 @@
"\n"
msgstr ""
-#: misc/mke2fs.c:2482
+#: misc/mke2fs.c:2485
#, c-format
msgid "%d byte inodes are too small for project quota"
msgstr ""
-#: misc/mke2fs.c:2504
+#: misc/mke2fs.c:2507
msgid "Can't support bigalloc feature without extents feature"
msgstr ""
-#: misc/mke2fs.c:2511
+#: misc/mke2fs.c:2514
msgid ""
"The resize_inode and meta_bg features are not compatible.\n"
"They can not be both enabled simultaneously.\n"
msgstr ""
-#: misc/mke2fs.c:2519
+#: misc/mke2fs.c:2522
msgid ""
"\n"
"Warning: the bigalloc feature is still under development\n"
@@ -5773,39 +5768,39 @@
"\n"
msgstr ""
-#: misc/mke2fs.c:2531
+#: misc/mke2fs.c:2534
msgid "reserved online resize blocks not supported on non-sparse filesystem"
msgstr ""
-#: misc/mke2fs.c:2540
+#: misc/mke2fs.c:2543
msgid "blocks per group count out of range"
msgstr ""
-#: misc/mke2fs.c:2562
+#: misc/mke2fs.c:2565
msgid "Flex_bg feature not enabled, so flex_bg size may not be specified"
msgstr ""
-#: misc/mke2fs.c:2574
+#: misc/mke2fs.c:2577
#, c-format
msgid "invalid inode size %d (min %d/max %d)"
msgstr ""
-#: misc/mke2fs.c:2589
+#: misc/mke2fs.c:2592
#, c-format
msgid "%d byte inodes are too small for inline data; specify larger size"
msgstr ""
-#: misc/mke2fs.c:2604
+#: misc/mke2fs.c:2607
#, c-format
msgid "too many inodes (%llu), raise inode ratio?"
msgstr ""
-#: misc/mke2fs.c:2611
+#: misc/mke2fs.c:2615
#, c-format
msgid "too many inodes (%llu), specify < 2^32 inodes"
msgstr ""
-#: misc/mke2fs.c:2625
+#: misc/mke2fs.c:2629
#, c-format
msgid ""
"inode_size (%u) * inodes_count (%u) too big for a\n"
@@ -5813,161 +5808,161 @@
"\tor lower inode count (-N).\n"
msgstr ""
-#: misc/mke2fs.c:2812
+#: misc/mke2fs.c:2816
msgid "Discarding device blocks: "
msgstr ""
-#: misc/mke2fs.c:2828
+#: misc/mke2fs.c:2832
msgid "failed - "
msgstr ""
-#: misc/mke2fs.c:2887
+#: misc/mke2fs.c:2891
msgid "while initializing quota context"
msgstr ""
-#: misc/mke2fs.c:2894
+#: misc/mke2fs.c:2898
msgid "while writing quota inodes"
msgstr ""
-#: misc/mke2fs.c:2919
+#: misc/mke2fs.c:2923
#, c-format
msgid "bad error behavior in profile - %s"
msgstr ""
-#: misc/mke2fs.c:2998
+#: misc/mke2fs.c:3002
msgid "in malloc for android_sparse_params"
msgstr ""
-#: misc/mke2fs.c:3012
+#: misc/mke2fs.c:3016
msgid "while setting up superblock"
msgstr ""
-#: misc/mke2fs.c:3028
+#: misc/mke2fs.c:3032
msgid ""
"Extents are not enabled. The file extent tree can be checksummed, whereas "
"block maps cannot. Not enabling extents reduces the coverage of metadata "
"checksumming. Pass -O extents to rectify.\n"
msgstr ""
-#: misc/mke2fs.c:3035
+#: misc/mke2fs.c:3039
msgid ""
"64-bit filesystem support is not enabled. The larger fields afforded by "
"this feature enable full-strength checksumming. Pass -O 64bit to rectify.\n"
msgstr ""
-#: misc/mke2fs.c:3043
+#: misc/mke2fs.c:3047
msgid "The metadata_csum_seed feature requires the metadata_csum feature.\n"
msgstr ""
-#: misc/mke2fs.c:3067
+#: misc/mke2fs.c:3071
msgid "Discard succeeded and will return 0s - skipping inode table wipe\n"
msgstr ""
-#: misc/mke2fs.c:3166
+#: misc/mke2fs.c:3170
#, c-format
msgid "unknown os - %s"
msgstr ""
-#: misc/mke2fs.c:3229
+#: misc/mke2fs.c:3233
msgid "Allocating group tables: "
msgstr ""
-#: misc/mke2fs.c:3237
+#: misc/mke2fs.c:3241
msgid "while trying to allocate filesystem tables"
msgstr ""
-#: misc/mke2fs.c:3252
+#: misc/mke2fs.c:3256
msgid "while unmarking bad blocks"
msgstr ""
-#: misc/mke2fs.c:3263
+#: misc/mke2fs.c:3267
msgid ""
"\n"
"\twhile converting subcluster bitmap"
msgstr ""
-#: misc/mke2fs.c:3272
+#: misc/mke2fs.c:3276
msgid "while calculating overhead"
msgstr ""
-#: misc/mke2fs.c:3291
+#: misc/mke2fs.c:3295
#, c-format
msgid "%s may be further corrupted by superblock rewrite\n"
msgstr ""
-#: misc/mke2fs.c:3332
+#: misc/mke2fs.c:3336
#, c-format
msgid "while zeroing block %llu at end of filesystem"
msgstr ""
-#: misc/mke2fs.c:3345
+#: misc/mke2fs.c:3349
msgid "while reserving blocks for online resize"
msgstr ""
-#: misc/mke2fs.c:3357 misc/tune2fs.c:1567
+#: misc/mke2fs.c:3361 misc/tune2fs.c:1567
msgid "journal"
msgstr ""
-#: misc/mke2fs.c:3369
+#: misc/mke2fs.c:3373
#, c-format
msgid "Adding journal to device %s: "
msgstr ""
-#: misc/mke2fs.c:3376
+#: misc/mke2fs.c:3380
#, c-format
msgid ""
"\n"
"\twhile trying to add journal to device %s"
msgstr ""
-#: misc/mke2fs.c:3381 misc/mke2fs.c:3411 misc/mke2fs.c:3453
-#: misc/mk_hugefiles.c:600 misc/tune2fs.c:1596 misc/tune2fs.c:1615
+#: misc/mke2fs.c:3385 misc/mke2fs.c:3415 misc/mke2fs.c:3457
+#: misc/mk_hugefiles.c:602 misc/tune2fs.c:1596 misc/tune2fs.c:1615
msgid "done\n"
msgstr ""
-#: misc/mke2fs.c:3388
+#: misc/mke2fs.c:3392
msgid "Skipping journal creation in super-only mode\n"
msgstr ""
-#: misc/mke2fs.c:3398
+#: misc/mke2fs.c:3402
#, c-format
msgid "Creating journal (%u blocks): "
msgstr ""
-#: misc/mke2fs.c:3407
+#: misc/mke2fs.c:3411
msgid ""
"\n"
"\twhile trying to create journal"
msgstr ""
-#: misc/mke2fs.c:3419 misc/tune2fs.c:1170
+#: misc/mke2fs.c:3423 misc/tune2fs.c:1170
msgid ""
"\n"
"Error while enabling multiple mount protection feature."
msgstr ""
-#: misc/mke2fs.c:3424
+#: misc/mke2fs.c:3428
#, c-format
msgid "Multiple mount protection is enabled with update interval %d seconds.\n"
msgstr ""
-#: misc/mke2fs.c:3444
+#: misc/mke2fs.c:3448
msgid "Copying files into the device: "
msgstr ""
-#: misc/mke2fs.c:3450
+#: misc/mke2fs.c:3454
msgid "while populating file system"
msgstr ""
-#: misc/mke2fs.c:3457
+#: misc/mke2fs.c:3461
msgid "Writing superblocks and filesystem accounting information: "
msgstr ""
-#: misc/mke2fs.c:3464
+#: misc/mke2fs.c:3468
msgid "while writing out and closing file system"
msgstr ""
-#: misc/mke2fs.c:3467
+#: misc/mke2fs.c:3471
msgid ""
"done\n"
"\n"
@@ -5978,27 +5973,27 @@
msgid "while zeroing block %llu for hugefile"
msgstr ""
-#: misc/mk_hugefiles.c:515
+#: misc/mk_hugefiles.c:516
#, c-format
msgid ""
"Partition offset of %llu (%uk) blocks not compatible with cluster size %u.\n"
msgstr ""
-#: misc/mk_hugefiles.c:583
+#: misc/mk_hugefiles.c:584
msgid "Huge files will be zero'ed\n"
msgstr ""
-#: misc/mk_hugefiles.c:584
+#: misc/mk_hugefiles.c:585
#, c-format
msgid "Creating %lu huge file(s) "
msgstr ""
-#: misc/mk_hugefiles.c:586
+#: misc/mk_hugefiles.c:587
#, c-format
msgid "with %llu blocks each"
msgstr ""
-#: misc/mk_hugefiles.c:595
+#: misc/mk_hugefiles.c:597
#, c-format
msgid "while creating huge file %lu"
msgstr ""
@@ -6072,19 +6067,19 @@
msgid "while trying to open external journal"
msgstr ""
-#: misc/tune2fs.c:292 misc/tune2fs.c:2883
+#: misc/tune2fs.c:292 misc/tune2fs.c:2888
#, c-format
msgid "%s is not a journal device.\n"
msgstr ""
-#: misc/tune2fs.c:301 misc/tune2fs.c:2892
+#: misc/tune2fs.c:301 misc/tune2fs.c:2897
#, c-format
msgid ""
"Journal superblock is corrupted, nr_users\n"
"is too high (%d).\n"
msgstr ""
-#: misc/tune2fs.c:308 misc/tune2fs.c:2899
+#: misc/tune2fs.c:308 misc/tune2fs.c:2904
msgid "Filesystem's UUID not found on journal device.\n"
msgstr ""
@@ -6284,7 +6279,7 @@
"Warning: '^quota' option overrides '-Q'arguments.\n"
msgstr ""
-#: misc/tune2fs.c:1481 misc/tune2fs.c:2233
+#: misc/tune2fs.c:1481 misc/tune2fs.c:2238
msgid ""
"The casefold feature may only be enabled when the filesystem is unmounted.\n"
msgstr ""
@@ -6380,60 +6375,60 @@
msgid "Couldn't parse date/time specifier: %s"
msgstr ""
-#: misc/tune2fs.c:1832 misc/tune2fs.c:1845
+#: misc/tune2fs.c:1839 misc/tune2fs.c:1850
#, c-format
msgid "bad mounts count - %s"
msgstr ""
-#: misc/tune2fs.c:1888
+#: misc/tune2fs.c:1893
#, c-format
msgid "bad gid/group name - %s"
msgstr ""
-#: misc/tune2fs.c:1921
+#: misc/tune2fs.c:1926
#, c-format
msgid "bad interval - %s"
msgstr ""
-#: misc/tune2fs.c:1950
+#: misc/tune2fs.c:1955
#, c-format
msgid "bad reserved block ratio - %s"
msgstr ""
-#: misc/tune2fs.c:1965
+#: misc/tune2fs.c:1970
msgid "-o may only be specified once"
msgstr ""
-#: misc/tune2fs.c:1974
+#: misc/tune2fs.c:1979
msgid "-O may only be specified once"
msgstr ""
-#: misc/tune2fs.c:1991
+#: misc/tune2fs.c:1996
#, c-format
msgid "bad reserved blocks count - %s"
msgstr ""
-#: misc/tune2fs.c:2020
+#: misc/tune2fs.c:2025
#, c-format
msgid "bad uid/user name - %s"
msgstr ""
-#: misc/tune2fs.c:2037
+#: misc/tune2fs.c:2042
#, c-format
msgid "bad inode size - %s"
msgstr ""
-#: misc/tune2fs.c:2044
+#: misc/tune2fs.c:2049
#, c-format
msgid "Inode size must be a power of two- %s"
msgstr ""
-#: misc/tune2fs.c:2144
+#: misc/tune2fs.c:2149
#, c-format
msgid "mmp_update_interval too big: %lu\n"
msgstr ""
-#: misc/tune2fs.c:2149
+#: misc/tune2fs.c:2154
#, c-format
msgid "Setting multiple mount protection update interval to %lu second\n"
msgid_plural ""
@@ -6441,52 +6436,52 @@
msgstr[0] ""
msgstr[1] ""
-#: misc/tune2fs.c:2158
+#: misc/tune2fs.c:2163
#, c-format
msgid "Setting filesystem error flag to force fsck.\n"
msgstr ""
-#: misc/tune2fs.c:2176
+#: misc/tune2fs.c:2181
#, c-format
msgid "Invalid RAID stride: %s\n"
msgstr ""
-#: misc/tune2fs.c:2191
+#: misc/tune2fs.c:2196
#, c-format
msgid "Invalid RAID stripe-width: %s\n"
msgstr ""
-#: misc/tune2fs.c:2206
+#: misc/tune2fs.c:2211
#, c-format
msgid "Invalid hash algorithm: %s\n"
msgstr ""
-#: misc/tune2fs.c:2212
+#: misc/tune2fs.c:2217
#, c-format
msgid "Setting default hash algorithm to %s (%d)\n"
msgstr ""
-#: misc/tune2fs.c:2239
+#: misc/tune2fs.c:2244
#, c-format
msgid "Cannot alter existing encoding\n"
msgstr ""
-#: misc/tune2fs.c:2245
+#: misc/tune2fs.c:2250
#, c-format
msgid "Invalid encoding: %s\n"
msgstr ""
-#: misc/tune2fs.c:2251
+#: misc/tune2fs.c:2256
#, c-format
msgid "Setting encoding to '%s'\n"
msgstr ""
-#: misc/tune2fs.c:2275
+#: misc/tune2fs.c:2280
#, c-format
msgid "Setting encoding_flags to '%s'\n"
msgstr ""
-#: misc/tune2fs.c:2285
+#: misc/tune2fs.c:2290
msgid ""
"\n"
"Bad options specified.\n"
@@ -6508,72 +6503,72 @@
"\tencoding_flags=<flags>\n"
msgstr ""
-#: misc/tune2fs.c:2701
+#: misc/tune2fs.c:2706
msgid "Failed to read inode bitmap\n"
msgstr ""
-#: misc/tune2fs.c:2706
+#: misc/tune2fs.c:2711
msgid "Failed to read block bitmap\n"
msgstr ""
-#: misc/tune2fs.c:2723 resize/resize2fs.c:1278
+#: misc/tune2fs.c:2728 resize/resize2fs.c:1279
msgid "blocks to be moved"
msgstr ""
-#: misc/tune2fs.c:2726
+#: misc/tune2fs.c:2731
msgid "Failed to allocate block bitmap when increasing inode size\n"
msgstr ""
-#: misc/tune2fs.c:2732
+#: misc/tune2fs.c:2737
msgid "Not enough space to increase inode size \n"
msgstr ""
-#: misc/tune2fs.c:2737
+#: misc/tune2fs.c:2742
msgid "Failed to relocate blocks during inode resize \n"
msgstr ""
-#: misc/tune2fs.c:2769
+#: misc/tune2fs.c:2774
msgid ""
"Error in resizing the inode size.\n"
"Run e2undo to undo the file system changes. \n"
msgstr ""
-#: misc/tune2fs.c:2980
+#: misc/tune2fs.c:2985
msgid ""
"If you are sure the filesystem is not in use on any node, run:\n"
"'tune2fs -f -E clear_mmp {device}'\n"
msgstr ""
-#: misc/tune2fs.c:2987
+#: misc/tune2fs.c:2992
#, c-format
msgid ""
"MMP block magic is bad. Try to fix it by running:\n"
"'e2fsck -f %s'\n"
msgstr ""
-#: misc/tune2fs.c:2999
+#: misc/tune2fs.c:3004
msgid "Cannot modify a journal device.\n"
msgstr ""
-#: misc/tune2fs.c:3012
+#: misc/tune2fs.c:3017
#, c-format
msgid "The inode size is already %lu\n"
msgstr ""
-#: misc/tune2fs.c:3019
+#: misc/tune2fs.c:3024
msgid "Shrinking inode size is not supported\n"
msgstr ""
-#: misc/tune2fs.c:3024
+#: misc/tune2fs.c:3029
#, c-format
msgid "Invalid inode size %lu (max %d)\n"
msgstr ""
-#: misc/tune2fs.c:3030
+#: misc/tune2fs.c:3035
msgid "Resizing inodes could take some time."
msgstr ""
-#: misc/tune2fs.c:3079
+#: misc/tune2fs.c:3084
#, c-format
msgid ""
"Warning: The journal is dirty. You may wish to replay the journal like:\n"
@@ -6584,159 +6579,159 @@
"by journal recovery.\n"
msgstr ""
-#: misc/tune2fs.c:3088
+#: misc/tune2fs.c:3093
#, c-format
msgid "Recovering journal.\n"
msgstr ""
-#: misc/tune2fs.c:3109
+#: misc/tune2fs.c:3117
#, c-format
msgid "Setting maximal mount count to %d\n"
msgstr ""
-#: misc/tune2fs.c:3115
+#: misc/tune2fs.c:3123
#, c-format
msgid "Setting current mount count to %d\n"
msgstr ""
-#: misc/tune2fs.c:3120
+#: misc/tune2fs.c:3128
#, c-format
msgid "Setting error behavior to %d\n"
msgstr ""
-#: misc/tune2fs.c:3125
+#: misc/tune2fs.c:3133
#, c-format
msgid "Setting reserved blocks gid to %lu\n"
msgstr ""
-#: misc/tune2fs.c:3130
+#: misc/tune2fs.c:3138
#, c-format
msgid "interval between checks is too big (%lu)"
msgstr ""
-#: misc/tune2fs.c:3137
+#: misc/tune2fs.c:3145
#, c-format
msgid "Setting interval between checks to %lu seconds\n"
msgstr ""
-#: misc/tune2fs.c:3144
+#: misc/tune2fs.c:3152
#, c-format
msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n"
msgstr ""
-#: misc/tune2fs.c:3150
+#: misc/tune2fs.c:3159
#, c-format
msgid "reserved blocks count is too big (%llu)"
msgstr ""
-#: misc/tune2fs.c:3157
+#: misc/tune2fs.c:3166
#, c-format
msgid "Setting reserved blocks count to %llu\n"
msgstr ""
-#: misc/tune2fs.c:3162
+#: misc/tune2fs.c:3171
msgid ""
"\n"
"The filesystem already has sparse superblocks.\n"
msgstr ""
-#: misc/tune2fs.c:3165
+#: misc/tune2fs.c:3174
msgid ""
"\n"
"Setting the sparse superblock flag not supported\n"
"for filesystems with the meta_bg feature enabled.\n"
msgstr ""
-#: misc/tune2fs.c:3175
+#: misc/tune2fs.c:3184
#, c-format
msgid ""
"\n"
"Sparse superblock flag set. %s"
msgstr ""
-#: misc/tune2fs.c:3180
+#: misc/tune2fs.c:3189
msgid ""
"\n"
"Clearing the sparse superblock flag not supported.\n"
msgstr ""
-#: misc/tune2fs.c:3188
+#: misc/tune2fs.c:3197
#, c-format
msgid "Setting time filesystem last checked to %s\n"
msgstr ""
-#: misc/tune2fs.c:3194
+#: misc/tune2fs.c:3203
#, c-format
msgid "Setting reserved blocks uid to %lu\n"
msgstr ""
-#: misc/tune2fs.c:3226
+#: misc/tune2fs.c:3235
msgid "Error in using clear_mmp. It must be used with -f\n"
msgstr ""
-#: misc/tune2fs.c:3244
+#: misc/tune2fs.c:3253
msgid ""
"The quota feature may only be changed when the filesystem is unmounted.\n"
msgstr ""
-#: misc/tune2fs.c:3261
+#: misc/tune2fs.c:3270
msgid ""
"Cannot change the UUID of this filesystem because it has the stable_inodes "
"feature flag.\n"
msgstr ""
-#: misc/tune2fs.c:3271
+#: misc/tune2fs.c:3280
msgid "Setting the UUID on this filesystem could take some time."
msgstr ""
-#: misc/tune2fs.c:3288
+#: misc/tune2fs.c:3297
msgid "The UUID may only be changed when the filesystem is unmounted.\n"
msgstr ""
-#: misc/tune2fs.c:3291
+#: misc/tune2fs.c:3300
msgid ""
"If you only use kernels newer than v4.4, run 'tune2fs -O metadata_csum_seed' "
"and re-run this command.\n"
msgstr ""
-#: misc/tune2fs.c:3322
+#: misc/tune2fs.c:3331
msgid "Invalid UUID format\n"
msgstr ""
-#: misc/tune2fs.c:3338
+#: misc/tune2fs.c:3347
msgid "Need to update journal superblock.\n"
msgstr ""
-#: misc/tune2fs.c:3360
+#: misc/tune2fs.c:3369
msgid "The inode size may only be changed when the filesystem is unmounted.\n"
msgstr ""
-#: misc/tune2fs.c:3367
+#: misc/tune2fs.c:3376
msgid ""
"Changing the inode size not supported for filesystems with the flex_bg\n"
"feature enabled.\n"
msgstr ""
-#: misc/tune2fs.c:3385
+#: misc/tune2fs.c:3394
#, c-format
msgid "Setting inode size %lu\n"
msgstr ""
-#: misc/tune2fs.c:3389
+#: misc/tune2fs.c:3398
msgid "Failed to change inode size\n"
msgstr ""
-#: misc/tune2fs.c:3403
+#: misc/tune2fs.c:3412
#, c-format
msgid "Setting stride size to %d\n"
msgstr ""
-#: misc/tune2fs.c:3408
+#: misc/tune2fs.c:3417
#, c-format
msgid "Setting stripe width to %d\n"
msgstr ""
-#: misc/tune2fs.c:3415
+#: misc/tune2fs.c:3424
#, c-format
msgid "Setting extended default mount options to '%s'\n"
msgstr ""
@@ -7049,11 +7044,11 @@
msgid "New size smaller than minimum (%llu)\n"
msgstr ""
-#: resize/main.c:554
+#: resize/main.c:555
msgid "Invalid stride length"
msgstr ""
-#: resize/main.c:578
+#: resize/main.c:579
#, c-format
msgid ""
"The containing partition (or device) is only %llu (%dk) blocks.\n"
@@ -7061,89 +7056,89 @@
"\n"
msgstr ""
-#: resize/main.c:585
+#: resize/main.c:586
#, c-format
msgid "Cannot set and unset 64bit feature.\n"
msgstr ""
-#: resize/main.c:589
+#: resize/main.c:590
#, c-format
msgid ""
"Cannot change the 64bit feature on a filesystem that is larger than 2^32 "
"blocks.\n"
msgstr ""
-#: resize/main.c:595
+#: resize/main.c:596
#, c-format
msgid "Cannot change the 64bit feature while the filesystem is mounted.\n"
msgstr ""
-#: resize/main.c:601
+#: resize/main.c:602
#, c-format
msgid ""
"Please enable the extents feature with tune2fs before enabling the 64bit "
"feature.\n"
msgstr ""
-#: resize/main.c:607
+#: resize/main.c:608
#, c-format
msgid ""
"The filesystem is already %llu (%dk) blocks long. Nothing to do!\n"
"\n"
msgstr ""
-#: resize/main.c:614
+#: resize/main.c:616
#, c-format
msgid "The filesystem is already 64-bit.\n"
msgstr ""
-#: resize/main.c:619
+#: resize/main.c:621
#, c-format
msgid "The filesystem is already 32-bit.\n"
msgstr ""
-#: resize/main.c:624
+#: resize/main.c:626
#, c-format
msgid ""
"Cannot shrink this filesystem because it has the stable_inodes feature "
"flag.\n"
msgstr ""
-#: resize/main.c:633
+#: resize/main.c:635
#, c-format
msgid "Converting the filesystem to 64-bit.\n"
msgstr ""
-#: resize/main.c:635
+#: resize/main.c:637
#, c-format
msgid "Converting the filesystem to 32-bit.\n"
msgstr ""
-#: resize/main.c:637
+#: resize/main.c:639
#, c-format
msgid "Resizing the filesystem on %s to %llu (%dk) blocks.\n"
msgstr ""
-#: resize/main.c:646
+#: resize/main.c:649
#, c-format
msgid "while trying to resize %s"
msgstr ""
-#: resize/main.c:649
+#: resize/main.c:652
#, c-format
msgid ""
"Please run 'e2fsck -fy %s' to fix the filesystem\n"
"after the aborted resize operation.\n"
msgstr ""
-#: resize/main.c:655
+#: resize/main.c:658
#, c-format
msgid ""
"The filesystem on %s is now %llu (%dk) blocks long.\n"
"\n"
msgstr ""
-#: resize/main.c:670
+#: resize/main.c:673
#, c-format
msgid "while trying to truncate %s"
msgstr ""
@@ -7200,16 +7195,16 @@
msgid "Performing an on-line resize of %s to %llu (%dk) blocks.\n"
msgstr ""
-#: resize/online.c:230
+#: resize/online.c:231
msgid "While trying to extend the last group"
msgstr ""
-#: resize/online.c:277
+#: resize/online.c:278
#, c-format
msgid "While trying to add group #%d"
msgstr ""
-#: resize/online.c:288
+#: resize/online.c:289
#, c-format
msgid ""
"Filesystem at %s is mounted on %s, and on-line resizing is not supported on "
@@ -7225,28 +7220,28 @@
msgid "reserved blocks"
msgstr ""
-#: resize/resize2fs.c:1283
+#: resize/resize2fs.c:1284
msgid "meta-data blocks"
msgstr ""
-#: resize/resize2fs.c:1387 resize/resize2fs.c:2422
+#: resize/resize2fs.c:1388 resize/resize2fs.c:2430
msgid "new meta blocks"
msgstr ""
-#: resize/resize2fs.c:2645
+#: resize/resize2fs.c:2654
msgid "Should never happen! No sb in last super_sparse bg?\n"
msgstr ""
-#: resize/resize2fs.c:2650
+#: resize/resize2fs.c:2659
msgid "Should never happen! Unexpected old_desc in super_sparse bg?\n"
msgstr ""
-#: resize/resize2fs.c:2723
+#: resize/resize2fs.c:2732
msgid "Should never happen: resize inode corrupt!\n"
msgstr ""
#: lib/ext2fs/ext2_err.c:11
-msgid "EXT2FS Library version 1.46.0"
+msgid "EXT2FS Library version 1.46.2"
msgstr ""
#: lib/ext2fs/ext2_err.c:12
@@ -7965,6 +7960,10 @@
msgid "Group descriptors not loaded"
msgstr ""
+#: lib/ext2fs/ext2_err.c:191
+msgid "The internal ext2_filsys data structure appears to be corrupted"
+msgstr ""
+
#: lib/support/prof_err.c:11
msgid "Profile version 0.0"
msgstr ""
diff --git a/po/es.po b/po/es.po
index 3504566..5e3a330 100644
--- a/po/es.po
+++ b/po/es.po
@@ -4,7 +4,7 @@
#
# Max de Mendizábal <max@upn.mx>, 2003, 2005.
# Benno Schulenberg <benno@vertaalt.nl>, 2008, 2014.
-# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015, 2016, 2017, 2018, 2019.
+# Antonio Ceballos <aceballos@gmail.com>, 2014, 2015, 2016, 2017, 2018, 2019, 2021.
#
# Comienzo de un vocabulario (lista de palabras usadas aquí):
# block --> bloque
@@ -95,10 +95,10 @@
#.
msgid ""
msgstr ""
-"Project-Id-Version: e2fsprogs-1.45.3\n"
+"Project-Id-Version: e2fsprogs-1.46.0\n"
"Report-Msgid-Bugs-To: tytso@alum.mit.edu\n"
-"POT-Creation-Date: 2019-07-14 20:56-0400\n"
-"PO-Revision-Date: 2019-07-23 19:08+0200\n"
+"POT-Creation-Date: 2021-01-28 13:42-0500\n"
+"PO-Revision-Date: 2021-02-20 12:02+0100\n"
"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
@@ -138,9 +138,9 @@
#: e2fsck/badblocks.c:72 e2fsck/scantest.c:107 e2fsck/unix.c:1571
#: e2fsck/unix.c:1685 misc/badblocks.c:1251 misc/badblocks.c:1259
#: misc/badblocks.c:1273 misc/badblocks.c:1285 misc/dumpe2fs.c:431
-#: misc/dumpe2fs.c:688 misc/dumpe2fs.c:692 misc/e2image.c:1430
+#: misc/dumpe2fs.c:692 misc/dumpe2fs.c:696 misc/e2image.c:1430
#: misc/e2image.c:1627 misc/e2image.c:1648 misc/mke2fs.c:236
-#: misc/tune2fs.c:2796 misc/tune2fs.c:2895 resize/main.c:414
+#: misc/tune2fs.c:2881 misc/tune2fs.c:2980 resize/main.c:416
#, c-format
msgid "while trying to open %s"
msgstr "mientras se intentaba abrir %s"
@@ -165,7 +165,7 @@
msgid "Warning: illegal block %u found in bad block inode. Cleared.\n"
msgstr "Atención: se encontró un bloque no válido %u en el nodo-i de bloques dañados. Limpiado.\n"
-#: e2fsck/dirinfo.c:331
+#: e2fsck/dirinfo.c:332
msgid "while freeing dir_info tdb file"
msgstr "mientras se liberaba el fichero tdb dir_info"
@@ -197,15 +197,15 @@
msgid "Error writing block %lu (%s). "
msgstr "Error al escribir el bloque %lu (%s). "
-#: e2fsck/emptydir.c:57
+#: e2fsck/emptydir.c:56
msgid "empty dirblocks"
msgstr "bloques de directorio vacíos"
-#: e2fsck/emptydir.c:62
+#: e2fsck/emptydir.c:61
msgid "empty dir map"
msgstr "mapa de directorios vacío"
-#: e2fsck/emptydir.c:98
+#: e2fsck/emptydir.c:97
#, c-format
msgid "Empty directory block %u (#%d) in inode %u\n"
msgstr "El bloque del directorio %u (#%d) está vacío en el nodo-i %u\n"
@@ -215,12 +215,12 @@
msgid "%s: %s filename nblocks blocksize\n"
msgstr "%s: %s fichero númerodebloques tamañodelbloque\n"
-#: e2fsck/extend.c:44
+#: e2fsck/extend.c:45
#, c-format
msgid "Illegal number of blocks!\n"
msgstr "¡Número inválido de bloques!\n"
-#: e2fsck/extend.c:50
+#: e2fsck/extend.c:51
#, c-format
msgid "Couldn't allocate block buffer (size=%d)\n"
msgstr "No se puede reservar un búfer de bloques (tamaño=%d)\n"
@@ -249,7 +249,7 @@
msgid "while opening %s for flushing"
msgstr "mientras se abría %s para su vaciado"
-#: e2fsck/iscan.c:86 e2fsck/unix.c:1088 resize/main.c:383
+#: e2fsck/iscan.c:86 e2fsck/unix.c:1088 resize/main.c:385
#, c-format
msgid "while trying to flush %s"
msgstr "mientras se intentaba vaciar %s"
@@ -291,7 +291,7 @@
msgid "%s: journal too short\n"
msgstr "%s: el fichero de transacciones es demasiado corto\n"
-#: e2fsck/journal.c:972 misc/fuse2fs.c:3792
+#: e2fsck/journal.c:972 misc/fuse2fs.c:3787
#, c-format
msgid "%s: recovering journal\n"
msgstr "%s: recuperando el fichero de transacciones\n"
@@ -543,113 +543,113 @@
msgid "multiply claimed inode map"
msgstr "mapa de nodos-i reclamados en múltiples ocasiones"
-#: e2fsck/pass1b.c:672 e2fsck/pass1b.c:826
+#: e2fsck/pass1b.c:672 e2fsck/pass1b.c:830
#, c-format
msgid "internal error: can't find dup_blk for %llu\n"
msgstr "error interno: no se ha encontrado el dup_blk para %llu\n"
-#: e2fsck/pass1b.c:952
+#: e2fsck/pass1b.c:956
msgid "returned from clone_file_block"
msgstr "regresado del clone_file_block"
-#: e2fsck/pass1b.c:976
+#: e2fsck/pass1b.c:980
#, c-format
msgid "internal error: couldn't lookup EA block record for %llu"
msgstr "Error interno: no se puede encontrar el registro de bloque EA para %llu"
-#: e2fsck/pass1b.c:988
+#: e2fsck/pass1b.c:992
#, c-format
msgid "internal error: couldn't lookup EA inode record for %u"
msgstr "Error interno: no se puede encontrar el registro de bloque EA %u"
-#: e2fsck/pass1.c:357
+#: e2fsck/pass1.c:358
#, c-format
msgid "while hashing entry with e_value_inum = %u"
msgstr "mientras se hace «hash» de la entrada con e_value_inum = %u"
-#: e2fsck/pass1.c:775 e2fsck/pass2.c:1007
+#: e2fsck/pass1.c:776 e2fsck/pass2.c:1018
msgid "reading directory block"
msgstr "leyendo bloque de directorio"
-#: e2fsck/pass1.c:1224
-msgid "in-use inode map"
-msgstr "mapa de nodos-i usados"
-
-#: e2fsck/pass1.c:1235
-msgid "directory inode map"
-msgstr "mapa de nodos-i de directorio"
-
-#: e2fsck/pass1.c:1245
-msgid "regular file inode map"
-msgstr "mapa de nodos-i de ficheros normales"
-
-#: e2fsck/pass1.c:1254 misc/e2image.c:1282
-msgid "in-use block map"
-msgstr "mapa de bloques usados"
-
-#: e2fsck/pass1.c:1263
-msgid "metadata block map"
-msgstr "mapa de bloques de metadatos"
-
-#: e2fsck/pass1.c:1325
-msgid "opening inode scan"
-msgstr "iniciando la exploración de los nodos-i"
-
-#: e2fsck/pass1.c:1363
+#: e2fsck/pass1.c:1175
msgid "getting next inode from scan"
msgstr "obteniendo el siguiente nodo-i para examinar"
-#: e2fsck/pass1.c:2067
+#: e2fsck/pass1.c:1227
+msgid "in-use inode map"
+msgstr "mapa de nodos-i usados"
+
+#: e2fsck/pass1.c:1238
+msgid "directory inode map"
+msgstr "mapa de nodos-i de directorio"
+
+#: e2fsck/pass1.c:1248
+msgid "regular file inode map"
+msgstr "mapa de nodos-i de ficheros normales"
+
+#: e2fsck/pass1.c:1257 misc/e2image.c:1282
+msgid "in-use block map"
+msgstr "mapa de bloques usados"
+
+#: e2fsck/pass1.c:1266
+msgid "metadata block map"
+msgstr "mapa de bloques de metadatos"
+
+#: e2fsck/pass1.c:1328
+msgid "opening inode scan"
+msgstr "iniciando la exploración de los nodos-i"
+
+#: e2fsck/pass1.c:2083
msgid "Pass 1"
msgstr "Paso 1"
-#: e2fsck/pass1.c:2128
+#: e2fsck/pass1.c:2144
#, c-format
msgid "reading indirect blocks of inode %u"
msgstr "leyendo bloques indirectos del nodo-i %u"
-#: e2fsck/pass1.c:2179
+#: e2fsck/pass1.c:2195
msgid "bad inode map"
msgstr "mapa de nodos-i dañados"
-#: e2fsck/pass1.c:2219
+#: e2fsck/pass1.c:2253
msgid "inode in bad block map"
msgstr "el nodo-i está en el mapa de bloques dañados"
-#: e2fsck/pass1.c:2239
+#: e2fsck/pass1.c:2273
msgid "imagic inode map"
msgstr "mapa de nodos-i con 'imagic'"
-#: e2fsck/pass1.c:2270
+#: e2fsck/pass1.c:2304
msgid "multiply claimed block map"
msgstr "mapa de bloques reclamados en múltiples ocasiones"
-#: e2fsck/pass1.c:2395
+#: e2fsck/pass1.c:2429
msgid "ext attr block map"
msgstr "mapa de bloques de atributos extendidos"
-#: e2fsck/pass1.c:3640
+#: e2fsck/pass1.c:3685
#, c-format
msgid "%6lu(%c): expecting %6lu got phys %6lu (blkcnt %lld)\n"
msgstr "%6lu(%c): se esperaba %6lu, pero se han obtenido bloques físicos %6lu (número de bloques %lld)\n"
-#: e2fsck/pass1.c:4060
+#: e2fsck/pass1.c:4105
msgid "block bitmap"
msgstr "mapa de bits de bloques"
-#: e2fsck/pass1.c:4066
+#: e2fsck/pass1.c:4111
msgid "inode bitmap"
msgstr "mapa de bits de nodos-i"
-#: e2fsck/pass1.c:4072
+#: e2fsck/pass1.c:4117
msgid "inode table"
msgstr "tabla de nodos-i"
-#: e2fsck/pass2.c:307
+#: e2fsck/pass2.c:312
msgid "Pass 2"
msgstr "Paso 2"
-#: e2fsck/pass2.c:1079 e2fsck/pass2.c:1246
+#: e2fsck/pass2.c:1091 e2fsck/pass2.c:1266
msgid "Can not continue."
msgstr "No se puede continuar."
@@ -665,11 +665,11 @@
msgid "Pass 3"
msgstr "Paso 3"
-#: e2fsck/pass3.c:344
+#: e2fsck/pass3.c:350
msgid "inode loop detection bitmap"
msgstr "mapa de bits de detección de bucles de nodos-i"
-#: e2fsck/pass4.c:277
+#: e2fsck/pass4.c:289
msgid "Pass 4"
msgstr "Paso 4"
@@ -685,7 +685,7 @@
msgid "check_block_bitmap_checksum: Memory allocation error"
msgstr "check_block_bitmap_checksum: Error de asignación de memoria"
-#: e2fsck/problem.c:52
+#: e2fsck/problem.c:53
msgid "(no prompt)"
msgstr "(sin cursor)"
@@ -693,183 +693,191 @@
# mejor en forma impersonal. Fíjate que todos los demás verbos que siguen
# están en infinitivo.
# Cierto. mm
-#: e2fsck/problem.c:53
+#: e2fsck/problem.c:54
msgid "Fix"
msgstr "Arreglar"
-#: e2fsck/problem.c:54
+#: e2fsck/problem.c:55
msgid "Clear"
msgstr "Borrar"
-#: e2fsck/problem.c:55
+#: e2fsck/problem.c:56
msgid "Relocate"
msgstr "Reubicar"
-#: e2fsck/problem.c:56
+#: e2fsck/problem.c:57
msgid "Allocate"
msgstr "Reservar"
-#: e2fsck/problem.c:57
+#: e2fsck/problem.c:58
msgid "Expand"
msgstr "Expandir"
-#: e2fsck/problem.c:58
+#: e2fsck/problem.c:59
msgid "Connect to /lost+found"
msgstr "Conectar a /lost+found"
-#: e2fsck/problem.c:59
+#: e2fsck/problem.c:60
msgid "Create"
msgstr "Crear"
-#: e2fsck/problem.c:60
+#: e2fsck/problem.c:61
msgid "Salvage"
msgstr "Recuperar"
-#: e2fsck/problem.c:61
+#: e2fsck/problem.c:62
msgid "Truncate"
msgstr "Truncar"
-#: e2fsck/problem.c:62
+#: e2fsck/problem.c:63
msgid "Clear inode"
msgstr "Borrar nodo-i"
-#: e2fsck/problem.c:63
+#: e2fsck/problem.c:64
msgid "Abort"
msgstr "Interrumpir"
-#: e2fsck/problem.c:64
+#: e2fsck/problem.c:65
msgid "Split"
msgstr "Dividir"
-#: e2fsck/problem.c:65
+#: e2fsck/problem.c:66
msgid "Continue"
msgstr "Continuar"
-#: e2fsck/problem.c:66
+#: e2fsck/problem.c:67
msgid "Clone multiply-claimed blocks"
msgstr "Clonar los bloques reclamados en múltiples ocasiones"
-#: e2fsck/problem.c:67
+#: e2fsck/problem.c:68
msgid "Delete file"
msgstr "Borrar fichero"
-#: e2fsck/problem.c:68
+#: e2fsck/problem.c:69
msgid "Suppress messages"
msgstr "Eliminar mensajes"
-#: e2fsck/problem.c:69
+#: e2fsck/problem.c:70
msgid "Unlink"
msgstr "Desvincular"
-#: e2fsck/problem.c:70
+#: e2fsck/problem.c:71
msgid "Clear HTree index"
msgstr "Borrar el índice del árbol-H"
-#: e2fsck/problem.c:71
+#: e2fsck/problem.c:72
msgid "Recreate"
msgstr "Recrear"
-#: e2fsck/problem.c:72
+#: e2fsck/problem.c:73
msgid "Optimize"
msgstr "Optimizar"
-#: e2fsck/problem.c:81
+#: e2fsck/problem.c:74
+msgid "Clear flag"
+msgstr "Borrar bandera"
+
+#: e2fsck/problem.c:83
msgid "(NONE)"
msgstr "(NINGUNO)"
-#: e2fsck/problem.c:82
+#: e2fsck/problem.c:84
msgid "FIXED"
msgstr "ARREGLADO"
-#: e2fsck/problem.c:83
+#: e2fsck/problem.c:85
msgid "CLEARED"
msgstr "BORRADO"
-#: e2fsck/problem.c:84
+#: e2fsck/problem.c:86
msgid "RELOCATED"
msgstr "REUBICADO"
-#: e2fsck/problem.c:85
+#: e2fsck/problem.c:87
msgid "ALLOCATED"
msgstr "RESERVADO"
-#: e2fsck/problem.c:86
+#: e2fsck/problem.c:88
msgid "EXPANDED"
msgstr "EXPANDIDO"
-#: e2fsck/problem.c:87
+#: e2fsck/problem.c:89
msgid "RECONNECTED"
msgstr "RECONECTADO"
-#: e2fsck/problem.c:88
+#: e2fsck/problem.c:90
msgid "CREATED"
msgstr "CREADO"
-#: e2fsck/problem.c:89
+#: e2fsck/problem.c:91
msgid "SALVAGED"
msgstr "RECUPERADO"
-#: e2fsck/problem.c:90
+#: e2fsck/problem.c:92
msgid "TRUNCATED"
msgstr "TRUNCADO"
-#: e2fsck/problem.c:91
+#: e2fsck/problem.c:93
msgid "INODE CLEARED"
msgstr "NODO-I BORRADO"
-#: e2fsck/problem.c:92
+#: e2fsck/problem.c:94
msgid "ABORTED"
msgstr "INTERRUMPIDO"
-#: e2fsck/problem.c:93
+#: e2fsck/problem.c:95
msgid "SPLIT"
msgstr "DIVIDIDO"
-#: e2fsck/problem.c:94
+#: e2fsck/problem.c:96
msgid "CONTINUING"
msgstr "CONTINUANDO"
-#: e2fsck/problem.c:95
+#: e2fsck/problem.c:97
msgid "MULTIPLY-CLAIMED BLOCKS CLONED"
msgstr "SE CLONARON LOS BLOQUES RECLAMADOS EN MÚLTIPLES OCASIONES"
-#: e2fsck/problem.c:96
+#: e2fsck/problem.c:98
msgid "FILE DELETED"
msgstr "FICHERO BORRADO"
-#: e2fsck/problem.c:97
+#: e2fsck/problem.c:99
msgid "SUPPRESSED"
msgstr "SUPRIMIDO"
-#: e2fsck/problem.c:98
+#: e2fsck/problem.c:100
msgid "UNLINKED"
msgstr "DESVINCULADO"
-#: e2fsck/problem.c:99
+#: e2fsck/problem.c:101
msgid "HTREE INDEX CLEARED"
msgstr "SE HA LIMPIADO EL ÍNDICE DEL ÁRBOL-H"
-#: e2fsck/problem.c:100
+#: e2fsck/problem.c:102
msgid "WILL RECREATE"
msgstr "SE CREARÁ DE NUEVO"
-#: e2fsck/problem.c:101
+#: e2fsck/problem.c:103
msgid "WILL OPTIMIZE"
msgstr "SE OPTIMIZARÁ"
+#: e2fsck/problem.c:104
+msgid "FLAG CLEARED"
+msgstr "BANDERA BORRADA"
+
#. @-expanded: block bitmap for group %g is not in group. (block %b)\n
-#: e2fsck/problem.c:115
+#: e2fsck/problem.c:118
msgid "@b @B for @g %g is not in @g. (@b %b)\n"
msgstr "El mapa de bits de bloques para el grupo %g no está en el grupo. (bloque %b)\n"
#. @-expanded: inode bitmap for group %g is not in group. (block %b)\n
-#: e2fsck/problem.c:119
+#: e2fsck/problem.c:122
msgid "@i @B for @g %g is not in @g. (@b %b)\n"
msgstr "El mapa de bits de nodos-i para el grupo %g no está en el grupo. (bloque %b)\n"
#. @-expanded: inode table for group %g is not in group. (block %b)\n
#. @-expanded: WARNING: SEVERE DATA LOSS POSSIBLE.\n
-#: e2fsck/problem.c:124
+#: e2fsck/problem.c:127
msgid ""
"@i table for @g %g is not in @g. (@b %b)\n"
"WARNING: SEVERE DATA LOSS POSSIBLE.\n"
@@ -886,7 +894,7 @@
#. @-expanded: or\n
#. @-expanded: e2fsck -b 32768 <device>\n
#. @-expanded: \n
-#: e2fsck/problem.c:130
+#: e2fsck/problem.c:133
msgid ""
"\n"
"The @S could not be read or does not describe a valid ext2/ext3/ext4\n"
@@ -911,7 +919,7 @@
#. @-expanded: The filesystem size (according to the superblock) is %b blocks\n
#. @-expanded: The physical size of the device is %c blocks\n
#. @-expanded: Either the superblock or the partition table is likely to be corrupt!\n
-#: e2fsck/problem.c:141
+#: e2fsck/problem.c:144
msgid ""
"The @f size (according to the @S) is %b @bs\n"
"The physical size of the @v is %c @bs\n"
@@ -925,7 +933,7 @@
#. @-expanded: superblock block_size = %b, fragsize = %c.\n
#. @-expanded: This version of e2fsck does not support fragment sizes different\n
#. @-expanded: from the block size.\n
-#: e2fsck/problem.c:148
+#: e2fsck/problem.c:151
msgid ""
"@S @b_size = %b, fragsize = %c.\n"
"This version of e2fsck does not support fragment sizes different\n"
@@ -936,24 +944,24 @@
"tamaños de fragmento distintos al del @b.\n"
#. @-expanded: superblock blocks_per_group = %b, should have been %c\n
-#: e2fsck/problem.c:155
+#: e2fsck/problem.c:158
msgid "@S @bs_per_group = %b, should have been %c\n"
msgstr "El «blocks_per_group» del @S es %b y debería haber sido %c\n"
#. @-expanded: superblock first_data_block = %b, should have been %c\n
-#: e2fsck/problem.c:160
+#: e2fsck/problem.c:163
msgid "@S first_data_@b = %b, should have been %c\n"
msgstr "El «first_data_block» del @S es %b y debería haber sido %c\n"
#. @-expanded: filesystem did not have a UUID; generating one.\n
#. @-expanded: \n
-#: e2fsck/problem.c:165
+#: e2fsck/problem.c:168
msgid ""
"@f did not have a UUID; generating one.\n"
"\n"
msgstr "El @f no tiene un UUID; se generará uno.\n"
-#: e2fsck/problem.c:171
+#: e2fsck/problem.c:174
#, no-c-format
msgid ""
"Note: if several inode or block bitmap blocks or part\n"
@@ -972,48 +980,48 @@
"\n"
#. @-expanded: Corruption found in superblock. (%s = %N).\n
-#: e2fsck/problem.c:180
+#: e2fsck/problem.c:183
msgid "Corruption found in @S. (%s = %N).\n"
msgstr "El @S está corrupto. (%s = %N).\n"
#. @-expanded: Error determining size of the physical device: %m\n
-#: e2fsck/problem.c:186
+#: e2fsck/problem.c:189
#, no-c-format
msgid "Error determining size of the physical @v: %m\n"
msgstr "Error al determinar el tamaño del @v físico: %m\n"
#. @-expanded: inode count in superblock is %i, should be %j.\n
-#: e2fsck/problem.c:191
+#: e2fsck/problem.c:194
msgid "@i count in @S is %i, @s %j.\n"
msgstr "La cuenta @i en el @S es %i, @s %j.\n"
-#: e2fsck/problem.c:195
+#: e2fsck/problem.c:198
msgid "The Hurd does not support the filetype feature.\n"
msgstr "El Hurd no tiene implementada la opción de tipos de fichero.\n"
#. @-expanded: superblock has an invalid journal (inode %i).\n
-#: e2fsck/problem.c:201
+#: e2fsck/problem.c:204
#, no-c-format
msgid "@S has an @n @j (@i %i).\n"
msgstr "@S tiene un @j @n (@i %i).\n"
#. @-expanded: External journal has multiple filesystem users (unsupported).\n
-#: e2fsck/problem.c:206
+#: e2fsck/problem.c:209
msgid "External @j has multiple @f users (unsupported).\n"
msgstr "El @j externo tiene varios usuarios del @f (no implementado).\n"
#. @-expanded: Can't find external journal\n
-#: e2fsck/problem.c:211
+#: e2fsck/problem.c:214
msgid "Can't find external @j\n"
msgstr "No se ha encontrado un @j externo\n"
#. @-expanded: External journal has bad superblock\n
-#: e2fsck/problem.c:216
+#: e2fsck/problem.c:219
msgid "External @j has bad @S\n"
msgstr "El @j externo tiene un @S dañado\n"
#. @-expanded: External journal does not support this filesystem\n
-#: e2fsck/problem.c:221
+#: e2fsck/problem.c:224
msgid "External @j does not support this @f\n"
msgstr "El @j externo no tiene implementado este @f\n"
@@ -1021,7 +1029,7 @@
#. @-expanded: It is likely that your copy of e2fsck is old and/or doesn't support this journal
#. @-expanded: format.\n
#. @-expanded: It is also possible the journal superblock is corrupt.\n
-#: e2fsck/problem.c:226
+#: e2fsck/problem.c:229
msgid ""
"@f @j @S is unknown type %N (unsupported).\n"
"It is likely that your copy of e2fsck is old and/or doesn't support this @j format.\n"
@@ -1033,82 +1041,82 @@
"También es posible que el @S del @j esté corrupto.\n"
#. @-expanded: journal superblock is corrupt.\n
-#: e2fsck/problem.c:235
+#: e2fsck/problem.c:238
msgid "@j @S is corrupt.\n"
msgstr "El @S del @j está corrupto.\n"
#. @-expanded: superblock has_journal flag is clear, but a journal is present.\n
-#: e2fsck/problem.c:240
+#: e2fsck/problem.c:243
msgid "@S has_@j flag is clear, but a @j is present.\n"
msgstr "La bandera has_journal del @S está quitada, pero hay un @j.\n"
#. @-expanded: superblock needs_recovery flag is set, but no journal is present.\n
-#: e2fsck/problem.c:245
+#: e2fsck/problem.c:248
msgid "@S needs_recovery flag is set, but no @j is present.\n"
msgstr "La bandera de recuperación del superbloque está puesta, pero no hay @j.\n"
#. @-expanded: superblock needs_recovery flag is clear, but journal has data.\n
-#: e2fsck/problem.c:250
+#: e2fsck/problem.c:253
msgid "@S needs_recovery flag is clear, but @j has data.\n"
msgstr ""
"La bandera de recuperación del superbloque está limpia, pero el @j\n"
"contiene información.\n"
#. @-expanded: Clear journal
-#: e2fsck/problem.c:255
+#: e2fsck/problem.c:258
msgid "Clear @j"
msgstr "Borrar el @j"
#. @-expanded: filesystem has feature flag(s) set, but is a revision 0 filesystem.
-#: e2fsck/problem.c:260 e2fsck/problem.c:796
+#: e2fsck/problem.c:263 e2fsck/problem.c:799
msgid "@f has feature flag(s) set, but is a revision 0 @f. "
msgstr "El @f tiene una(s) bandera(s) especial(es), pero es una revisión 0 del @f. "
#. @-expanded: %s orphaned inode %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n
-#: e2fsck/problem.c:265
+#: e2fsck/problem.c:268
msgid "%s @o @i %i (uid=%Iu, gid=%Ig, mode=%Im, size=%Is)\n"
msgstr "%s @i @o %i (uid=%Iu, gid=%Ig, modo=%Im, tamaño=%Is)\n"
#. @-expanded: illegal %B (%b) found in orphaned inode %i.\n
-#: e2fsck/problem.c:270
+#: e2fsck/problem.c:273
msgid "@I %B (%b) found in @o @i %i.\n"
msgstr "@I %B (%b) encontrado en un @i @o %i.\n"
#. @-expanded: Already cleared %B (%b) found in orphaned inode %i.\n
-#: e2fsck/problem.c:275
+#: e2fsck/problem.c:278
msgid "Already cleared %B (%b) found in @o @i %i.\n"
msgstr "Ya se borró el %B (%b) encontrado en el @i @o %i.\n"
#. @-expanded: illegal orphaned inode %i in superblock.\n
-#: e2fsck/problem.c:281
+#: e2fsck/problem.c:284
#, no-c-format
msgid "@I @o @i %i in @S.\n"
msgstr "@i @o @I %i en el @S.\n"
#. @-expanded: illegal inode %i in orphaned inode list.\n
-#: e2fsck/problem.c:287
+#: e2fsck/problem.c:290
#, no-c-format
msgid "@I @i %i in @o @i list.\n"
msgstr "@i @I %i en la lista de nodos-i huérfanos.\n"
#. @-expanded: journal superblock has an unknown read-only feature flag set.\n
-#: e2fsck/problem.c:292
+#: e2fsck/problem.c:295
msgid "@j @S has an unknown read-only feature flag set.\n"
msgstr "El @S del @j tiene puesta una bandera desconocida de sólo lectura.\n"
#. @-expanded: journal superblock has an unknown incompatible feature flag set.\n
-#: e2fsck/problem.c:297
+#: e2fsck/problem.c:300
msgid "@j @S has an unknown incompatible feature flag set.\n"
msgstr "El @S del @j tiene puesta una bandera desconocida incompatible.\n"
#. @-expanded: journal version not supported by this e2fsck.\n
-#: e2fsck/problem.c:302
+#: e2fsck/problem.c:305
msgid "@j version not supported by this e2fsck.\n"
msgstr "La versión del @j no está implementada en este e2fsck.\n"
#. @-expanded: Moving journal from /%s to hidden inode.\n
#. @-expanded: \n
-#: e2fsck/problem.c:308
+#: e2fsck/problem.c:311
#, no-c-format
msgid ""
"Moving @j from /%s to hidden @i.\n"
@@ -1119,7 +1127,7 @@
#. @-expanded: Error moving journal: %m\n
#. @-expanded: \n
-#: e2fsck/problem.c:314
+#: e2fsck/problem.c:317
#, no-c-format
msgid ""
"Error moving @j: %m\n"
@@ -1131,7 +1139,7 @@
#. @-expanded: Found invalid V2 journal superblock fields (from V1 journal).\n
#. @-expanded: Clearing fields beyond the V1 journal superblock...\n
#. @-expanded: \n
-#: e2fsck/problem.c:319
+#: e2fsck/problem.c:322
msgid ""
"Found @n V2 @j @S fields (from V1 @j).\n"
"Clearing fields beyond the V1 @j @S...\n"
@@ -1143,12 +1151,12 @@
"\n"
#. @-expanded: Run journal anyway
-#: e2fsck/problem.c:325
+#: e2fsck/problem.c:328
msgid "Run @j anyway"
msgstr "Ejecutar el @j de todas formas"
#. @-expanded: Recovery flag not set in backup superblock, so running journal anyway.\n
-#: e2fsck/problem.c:330
+#: e2fsck/problem.c:333
msgid "Recovery flag not set in backup @S, so running @j anyway.\n"
msgstr ""
"La bandera de recuperación no está puesta en el @S de respaldo,\n"
@@ -1156,7 +1164,7 @@
#. @-expanded: Backing up journal inode block information.\n
#. @-expanded: \n
-#: e2fsck/problem.c:335
+#: e2fsck/problem.c:338
msgid ""
"Backing up @j @i @b information.\n"
"\n"
@@ -1166,7 +1174,7 @@
#. @-expanded: filesystem does not have resize_inode enabled, but s_reserved_gdt_blocks\n
#. @-expanded: is %N; should be zero.
-#: e2fsck/problem.c:341
+#: e2fsck/problem.c:344
msgid ""
"@f does not have resize_@i enabled, but s_reserved_gdt_@bs\n"
"is %N; @s zero. "
@@ -1175,18 +1183,18 @@
"es %N; debería ser cero. "
#. @-expanded: Resize_inode not enabled, but the resize inode is non-zero.
-#: e2fsck/problem.c:347
+#: e2fsck/problem.c:350
msgid "Resize_@i not enabled, but the resize @i is non-zero. "
msgstr "El 'resize_inode' no está habilitado, pero el nodo-i de cambio del tamaño no es cero. "
#. @-expanded: Resize inode not valid.
-#: e2fsck/problem.c:352
+#: e2fsck/problem.c:355
msgid "Resize @i not valid. "
msgstr "Cambio de tamaño de nodo-i no válido. "
#. @-expanded: superblock last mount time (%t,\n
#. @-expanded: \tnow = %T) is in the future.\n
-#: e2fsck/problem.c:357
+#: e2fsck/problem.c:360
msgid ""
"@S last mount time (%t,\n"
"\tnow = %T) is in the future.\n"
@@ -1196,7 +1204,7 @@
#. @-expanded: superblock last write time (%t,\n
#. @-expanded: \tnow = %T) is in the future.\n
-#: e2fsck/problem.c:362
+#: e2fsck/problem.c:365
msgid ""
"@S last write time (%t,\n"
"\tnow = %T) is in the future.\n"
@@ -1205,14 +1213,14 @@
"se escribió en el superbloque es en el futuro.\n"
#. @-expanded: superblock hint for external superblock should be %X.
-#: e2fsck/problem.c:368
+#: e2fsck/problem.c:371
#, no-c-format
msgid "@S hint for external superblock @s %X. "
msgstr "La pista de superbloque para un superbloque externo debería ser %X. "
#. @-expanded: Adding dirhash hint to filesystem.\n
#. @-expanded: \n
-#: e2fsck/problem.c:373
+#: e2fsck/problem.c:376
msgid ""
"Adding dirhash hint to @f.\n"
"\n"
@@ -1221,39 +1229,39 @@
"\n"
#. @-expanded: group descriptor %g checksum is %04x, should be %04y.
-#: e2fsck/problem.c:378
+#: e2fsck/problem.c:381
msgid "@g descriptor %g checksum is %04x, should be %04y. "
msgstr "El «checksum» del descriptor de @g %g es %04x; debería ser %04y. "
#. @-expanded: group descriptor %g marked uninitialized without feature set.\n
-#: e2fsck/problem.c:384
+#: e2fsck/problem.c:387
#, no-c-format
msgid "@g descriptor %g marked uninitialized without feature set.\n"
msgstr "El descriptor de @g %g etiquetado como no inicializado no tiene activada esa funcionalidad.\n"
#. @-expanded: group descriptor %g has invalid unused inodes count %b.
-#: e2fsck/problem.c:389
+#: e2fsck/problem.c:392
msgid "@g descriptor %g has invalid unused inodes count %b. "
msgstr "La cuenta de nodos-i no utilizados %b del descriptor de @g %g no es válida. "
#. @-expanded: Last group block bitmap uninitialized.
-#: e2fsck/problem.c:394
+#: e2fsck/problem.c:397
msgid "Last @g @b @B uninitialized. "
msgstr "El mapa de bits de bloque del último grupo no está inicializado. "
-#: e2fsck/problem.c:400
+#: e2fsck/problem.c:403
#, no-c-format
msgid "Journal transaction %i was corrupt, replay was aborted.\n"
msgstr "La transacción %i del fichero de transacciones estaba corrupta; se ha interrumpido la repetición.\n"
-#: e2fsck/problem.c:405
+#: e2fsck/problem.c:408
msgid "The test_fs flag is set (and ext4 is available). "
msgstr "La bandera test_fs está puesta (y ext4 está disponible). "
#. @-expanded: superblock last mount time is in the future.\n
#. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly
#. @-expanded: set)\n
-#: e2fsck/problem.c:410
+#: e2fsck/problem.c:413
msgid ""
"@S last mount time is in the future.\n"
"\t(by less than a day, probably due to the hardware clock being incorrectly set)\n"
@@ -1264,7 +1272,7 @@
#. @-expanded: superblock last write time is in the future.\n
#. @-expanded: \t(by less than a day, probably due to the hardware clock being incorrectly
#. @-expanded: set)\n
-#: e2fsck/problem.c:416
+#: e2fsck/problem.c:419
msgid ""
"@S last write time is in the future.\n"
"\t(by less than a day, probably due to the hardware clock being incorrectly set)\n"
@@ -1273,103 +1281,103 @@
"\t(por menos de un día, probablemente debido a que el reloj del hardware está mal puesto)\n"
#. @-expanded: One or more block group descriptor checksums are invalid.
-#: e2fsck/problem.c:422
+#: e2fsck/problem.c:425
msgid "One or more @b @g descriptor checksums are invalid. "
msgstr "Los «checksums» de uno o más descriptores de @gs de @bs son inválidos. "
#. @-expanded: Setting free inodes count to %j (was %i)\n
-#: e2fsck/problem.c:427
+#: e2fsck/problem.c:430
msgid "Setting free @is count to %j (was %i)\n"
msgstr "Se pone la cantidad de nodos-i libres a %j (era %i)\n"
#. @-expanded: Setting free blocks count to %c (was %b)\n
-#: e2fsck/problem.c:432
+#: e2fsck/problem.c:435
msgid "Setting free @bs count to %c (was %b)\n"
msgstr "Se pone la cantidad de bloques libres a %c (era %b)\n"
#. @-expanded: Hiding %U quota inode %i (%Q).\n
-#: e2fsck/problem.c:437
+#: e2fsck/problem.c:440
msgid "Hiding %U @q @i %i (%Q).\n"
msgstr "Ocultando el %U @i de @q %i (%Q).\n"
#. @-expanded: superblock has invalid MMP block.
-#: e2fsck/problem.c:442
+#: e2fsck/problem.c:445
msgid "@S has invalid MMP block. "
msgstr "El superbloque tiene un bloque MMP inválido. "
#. @-expanded: superblock has invalid MMP magic.
-#: e2fsck/problem.c:447
+#: e2fsck/problem.c:450
msgid "@S has invalid MMP magic. "
msgstr "El superbloque tiene un número mágico de MMP inválido. "
-#: e2fsck/problem.c:453
+#: e2fsck/problem.c:456
#, no-c-format
msgid "ext2fs_open2: %m\n"
msgstr "ext2fs_open2(): %m\n"
-#: e2fsck/problem.c:459
+#: e2fsck/problem.c:462
#, no-c-format
msgid "ext2fs_check_desc: %m\n"
msgstr "ext2fs_check_desc(): %m\n"
#. @-expanded: superblock metadata_csum supersedes uninit_bg; both feature bits cannot be set
#. @-expanded: simultaneously.
-#: e2fsck/problem.c:465
+#: e2fsck/problem.c:468
msgid "@S metadata_csum supersedes uninit_bg; both feature bits cannot be set simultaneously."
msgstr "El metadata_csum de superbloque reemplaza a uninit_bg; no pueden ponerse los dos bits a la vez."
#. @-expanded: superblock MMP block checksum does not match.
-#: e2fsck/problem.c:471
+#: e2fsck/problem.c:474
msgid "@S MMP @b checksum does not match. "
msgstr "El «checksum» del @b MMP del @S no cuadra. "
#. @-expanded: superblock 64bit filesystem needs extents to access the whole disk.
-#: e2fsck/problem.c:476
+#: e2fsck/problem.c:479
msgid "@S 64bit @f needs extents to access the whole disk. "
msgstr "@S de un @f de 64 bits necesita «extents» para acceder al disco entero. "
-#: e2fsck/problem.c:481
+#: e2fsck/problem.c:484
msgid "First_meta_bg is too big. (%N, max value %g). "
msgstr "First_meta_bg es demasiado grande. (%N, valor máx. %g). "
#. @-expanded: External journal superblock checksum does not match superblock.
-#: e2fsck/problem.c:486
+#: e2fsck/problem.c:489
msgid "External @j @S checksum does not match @S. "
msgstr "El «checksum» del @S externo @j no cuadra con el @S. "
#. @-expanded: superblock metadata_csum_seed is not necessary without metadata_csum.
-#: e2fsck/problem.c:491
+#: e2fsck/problem.c:494
msgid "@S metadata_csum_seed is not necessary without metadata_csum."
msgstr "El metadata_csum_seed de @S no es necesario sin metadata_csum."
-#: e2fsck/problem.c:497
+#: e2fsck/problem.c:500
#, no-c-format
msgid "Error initializing quota context in support library: %m\n"
msgstr "Error al inicializar el contexto de cuota en la biblioteca de soporte: %m\n"
#. @-expanded: Bad required extra isize in superblock (%N).
-#: e2fsck/problem.c:502
+#: e2fsck/problem.c:505
msgid "Bad required extra isize in @S (%N). "
msgstr "Tamaño-i extra requerido en @S incorrecto (%N). "
#. @-expanded: Bad desired extra isize in superblock (%N).
-#: e2fsck/problem.c:507
+#: e2fsck/problem.c:510
msgid "Bad desired extra isize in @S (%N). "
msgstr "Tamaño-i extra deseado en @S incorrecto (%N). "
#. @-expanded: Invalid %U quota inode %i.
-#: e2fsck/problem.c:512
+#: e2fsck/problem.c:515
msgid "Invalid %U @q @i %i. "
msgstr "%U @i de @q %i no válido. "
#. @-expanded: superblock would have too many inodes (%N).\n
-#: e2fsck/problem.c:517
+#: e2fsck/problem.c:520
msgid "@S would have too many inodes (%N).\n"
msgstr "El @S tendría demasiados nodos-i (%N).\n"
#. @-expanded: Resize_inode and meta_bg features are enabled. Those features are\n
#. @-expanded: not compatible. Resize inode should be disabled.
-#: e2fsck/problem.c:522
+#: e2fsck/problem.c:525
msgid ""
"Resize_@i and meta_bg features are enabled. Those features are\n"
"not compatible. Resize @i should be disabled. "
@@ -1382,117 +1390,117 @@
# da la impresión de que en ese momento se están haciendo las cosas.
# En este caso en particular, creo que es conveniente el gerundio. mm
#. @-expanded: Pass 1: Checking inodes, blocks, and sizes\n
-#: e2fsck/problem.c:530
+#: e2fsck/problem.c:533
msgid "Pass 1: Checking @is, @bs, and sizes\n"
msgstr "Paso 1: Verificando nodos-i, @bs y tamaños\n"
#. @-expanded: root inode is not a directory.
-#: e2fsck/problem.c:534
+#: e2fsck/problem.c:537
msgid "@r is not a @d. "
msgstr "El @r no es un @d. "
#. @-expanded: root inode has dtime set (probably due to old mke2fs).
-#: e2fsck/problem.c:539
+#: e2fsck/problem.c:542
msgid "@r has dtime set (probably due to old mke2fs). "
msgstr "El @r tiene puesto el dtime (probablemente debido a una versión antigua del mke2fs). "
#. @-expanded: Reserved inode %i (%Q) has invalid mode.
-#: e2fsck/problem.c:544
+#: e2fsck/problem.c:547
msgid "Reserved @i %i (%Q) has @n mode. "
msgstr "El @i reservado %i %Q tiene un modo incorrecto. "
#. @-expanded: deleted inode %i has zero dtime.
-#: e2fsck/problem.c:550
+#: e2fsck/problem.c:553
#, no-c-format
msgid "@D @i %i has zero dtime. "
msgstr "El @i %i @, tiene un dtime cero. "
#. @-expanded: inode %i is in use, but has dtime set.
-#: e2fsck/problem.c:556
+#: e2fsck/problem.c:559
#, no-c-format
msgid "@i %i is in use, but has dtime set. "
msgstr "El @i %i está en uso, pero tiene puesto dtime. "
#. @-expanded: inode %i is a zero-length directory.
-#: e2fsck/problem.c:562
+#: e2fsck/problem.c:565
#, no-c-format
msgid "@i %i is a @z @d. "
msgstr "El @i %i es un @d con @z. "
#. @-expanded: group %g's block bitmap at %b conflicts with some other fs block.\n
-#: e2fsck/problem.c:567
+#: e2fsck/problem.c:570
msgid "@g %g's @b @B at %b @C.\n"
msgstr "El @B de bloques del @g %g en el lugar %b @C.\n"
#. @-expanded: group %g's inode bitmap at %b conflicts with some other fs block.\n
-#: e2fsck/problem.c:572
+#: e2fsck/problem.c:575
msgid "@g %g's @i @B at %b @C.\n"
msgstr "El @B de nodos-i del @g %g en el lugar %b @C.\n"
#. @-expanded: group %g's inode table at %b conflicts with some other fs block.\n
-#: e2fsck/problem.c:577
+#: e2fsck/problem.c:580
msgid "@g %g's @i table at %b @C.\n"
msgstr "La tabla de nodos-i del @g %g en el lugar %b @C.\n"
#. @-expanded: group %g's block bitmap (%b) is bad.
-#: e2fsck/problem.c:582
+#: e2fsck/problem.c:585
msgid "@g %g's @b @B (%b) is bad. "
msgstr "El @B (%b) de bloques del @g %g está dañado. "
#. @-expanded: group %g's inode bitmap (%b) is bad.
-#: e2fsck/problem.c:587
+#: e2fsck/problem.c:590
msgid "@g %g's @i @B (%b) is bad. "
msgstr "El @B (%b) de nodos-i del @g %g está dañado. "
#. @-expanded: inode %i, i_size is %Is, should be %N.
-#: e2fsck/problem.c:592
+#: e2fsck/problem.c:595
msgid "@i %i, i_size is %Is, @s %N. "
msgstr "@i %i, i_size es %Is, @s %N. "
#. @-expanded: inode %i, i_blocks is %Ib, should be %N.
-#: e2fsck/problem.c:597
+#: e2fsck/problem.c:600
msgid "@i %i, i_@bs is %Ib, @s %N. "
msgstr "@i %i, i_@bs es %Ib, @s %N. "
#. @-expanded: illegal %B (%b) in inode %i.
-#: e2fsck/problem.c:602
+#: e2fsck/problem.c:605
msgid "@I %B (%b) in @i %i. "
msgstr "@I %B (%b) en @i %i. "
#. @-expanded: %B (%b) overlaps filesystem metadata in inode %i.
-#: e2fsck/problem.c:607
+#: e2fsck/problem.c:610
msgid "%B (%b) overlaps @f metadata in @i %i. "
msgstr "%B (%b) se solapa con los metadatos del @f en el @i %i. "
#. @-expanded: inode %i has illegal block(s).
-#: e2fsck/problem.c:613
+#: e2fsck/problem.c:616
#, no-c-format
msgid "@i %i has illegal @b(s). "
msgstr "@i %i tiene @b(s) inválido(s). "
#. @-expanded: Too many illegal blocks in inode %i.\n
-#: e2fsck/problem.c:619
+#: e2fsck/problem.c:622
#, no-c-format
msgid "Too many illegal @bs in @i %i.\n"
msgstr "Demasiados @bs inválidos en el @i %i.\n"
#. @-expanded: illegal %B (%b) in bad block inode.
-#: e2fsck/problem.c:624
+#: e2fsck/problem.c:627
msgid "@I %B (%b) in bad @b @i. "
msgstr "Número de bloque inválido (%b) en el nodo-i de bloques dañados. "
#. @-expanded: Bad block inode has illegal block(s).
-#: e2fsck/problem.c:629
+#: e2fsck/problem.c:632
msgid "Bad @b @i has illegal @b(s). "
msgstr "El nodo-i de bloques dañados tiene @b(s) inválido(s). "
#. @-expanded: Duplicate or bad block in use!\n
-#: e2fsck/problem.c:634
+#: e2fsck/problem.c:637
msgid "Duplicate or bad @b in use!\n"
msgstr "¡@b duplicado o dañado está en uso!\n"
#. @-expanded: Bad block %b used as bad block inode indirect block.
-#: e2fsck/problem.c:639
+#: e2fsck/problem.c:642
msgid "Bad @b %b used as bad @b @i indirect @b. "
msgstr "El @b dañado %b se usa como bloque indirecto en el nodo-i de bloques dañados"
@@ -1500,7 +1508,7 @@
#. @-expanded: The bad block inode has probably been corrupted. You probably\n
#. @-expanded: should stop now and run e2fsck -c to scan for bad blocks\n
#. @-expanded: in the filesystem.\n
-#: e2fsck/problem.c:644
+#: e2fsck/problem.c:647
msgid ""
"\n"
"The bad @b @i has probably been corrupted. You probably\n"
@@ -1516,7 +1524,7 @@
# cuando se traducen.
#. @-expanded: \n
#. @-expanded: If the block is really bad, the filesystem can not be fixed.\n
-#: e2fsck/problem.c:651
+#: e2fsck/problem.c:654
msgid ""
"\n"
"If the @b is really bad, the @f can not be fixed.\n"
@@ -1527,7 +1535,7 @@
#. @-expanded: You can remove this block from the bad block list and hope\n
#. @-expanded: that the block is really OK. But there are no guarantees.\n
#. @-expanded: \n
-#: e2fsck/problem.c:656
+#: e2fsck/problem.c:659
msgid ""
"You can remove this @b from the bad @b list and hope\n"
"that the @b is really OK. But there are no guarantees.\n"
@@ -1538,122 +1546,122 @@
"\n"
#. @-expanded: The primary superblock (%b) is on the bad block list.\n
-#: e2fsck/problem.c:662
+#: e2fsck/problem.c:665
msgid "The primary @S (%b) is on the bad @b list.\n"
msgstr "El @S primario (%b) está en la lista de @bs dañados.\n"
#. @-expanded: Block %b in the primary group descriptors is on the bad block list\n
-#: e2fsck/problem.c:667
+#: e2fsck/problem.c:670
msgid "Block %b in the primary @g descriptors is on the bad @b list\n"
msgstr "El bloque %b en los descriptores primarios de grupos está en la lista de @bs dañados\n"
#. @-expanded: Warning: Group %g's superblock (%b) is bad.\n
-#: e2fsck/problem.c:673
+#: e2fsck/problem.c:676
msgid "Warning: Group %g's @S (%b) is bad.\n"
msgstr "Atención: el @S (%b) del grupo %g está dañado.\n"
#. @-expanded: Warning: Group %g's copy of the group descriptors has a bad block (%b).\n
-#: e2fsck/problem.c:679
+#: e2fsck/problem.c:682
msgid "Warning: Group %g's copy of the @g descriptors has a bad @b (%b).\n"
msgstr "Atención: la copia de los descriptores del @g %g tiene un @b (%b) dañado.\n"
#. @-expanded: Programming error? block #%b claimed for no reason in process_bad_block.\n
-#: e2fsck/problem.c:685
+#: e2fsck/problem.c:688
msgid "Programming error? @b #%b claimed for no reason in process_bad_@b.\n"
msgstr "¿Será un error de programación? El @b #%b se reclama sin razón en el process_bad_block.\n"
#. @-expanded: error allocating %N contiguous block(s) in block group %g for %s: %m\n
-#: e2fsck/problem.c:691
+#: e2fsck/problem.c:694
msgid "@A %N contiguous @b(s) in @b @g %g for %s: %m\n"
msgstr "@A %N, es contigua a los @bs en el @b del @g %g para %s: %m\n"
#. @-expanded: error allocating block buffer for relocating %s\n
-#: e2fsck/problem.c:697
+#: e2fsck/problem.c:700
#, no-c-format
msgid "@A @b buffer for relocating %s\n"
msgstr "@A del búfer del @b para reubicar %s\n"
#. @-expanded: Relocating group %g's %s from %b to %c...\n
-#: e2fsck/problem.c:702
+#: e2fsck/problem.c:705
msgid "Relocating @g %g's %s from %b to %c...\n"
msgstr "Reubicando %s del @g %g de %b a %c...\n"
#. @-expanded: Relocating group %g's %s to %c...\n
-#: e2fsck/problem.c:708
+#: e2fsck/problem.c:711
#, no-c-format
msgid "Relocating @g %g's %s to %c...\n"
msgstr "Reubicando el @g %g de %s hacia %c...\n"
#. @-expanded: Warning: could not read block %b of %s: %m\n
-#: e2fsck/problem.c:713
+#: e2fsck/problem.c:716
msgid "Warning: could not read @b %b of %s: %m\n"
msgstr "Atención: no se puede leer el @b %b de %s: %m\n"
#. @-expanded: Warning: could not write block %b for %s: %m\n
-#: e2fsck/problem.c:718
+#: e2fsck/problem.c:721
msgid "Warning: could not write @b %b for %s: %m\n"
msgstr "Atención: no se puede escribir el @b %b para %s: %m\n"
#. @-expanded: error allocating inode bitmap (%N): %m\n
-#: e2fsck/problem.c:723 e2fsck/problem.c:1871
+#: e2fsck/problem.c:726 e2fsck/problem.c:1898
msgid "@A @i @B (%N): %m\n"
msgstr "Hay un @A del @B del @i (%N): %m\n"
#. @-expanded: error allocating block bitmap (%N): %m\n
-#: e2fsck/problem.c:728
+#: e2fsck/problem.c:731
msgid "@A @b @B (%N): %m\n"
msgstr "Hay un @A del @b del @B (%N): %m\n"
#. @-expanded: error allocating icount link information: %m\n
-#: e2fsck/problem.c:734
+#: e2fsck/problem.c:737
#, no-c-format
msgid "@A icount link information: %m\n"
msgstr "@A en la cuenta-i de la información del enlace: %m\n"
# array -> matriz
#. @-expanded: error allocating directory block array: %m\n
-#: e2fsck/problem.c:740
+#: e2fsck/problem.c:743
#, no-c-format
msgid "@A @d @b array: %m\n"
msgstr "@A del arreglo del @b de @ds: %m\n"
#. @-expanded: Error while scanning inodes (%i): %m\n
-#: e2fsck/problem.c:746
+#: e2fsck/problem.c:749
#, no-c-format
msgid "Error while scanning @is (%i): %m\n"
msgstr "Error mientras se exploraba el @i (%i): %m\n"
#. @-expanded: Error while iterating over blocks in inode %i: %m\n
-#: e2fsck/problem.c:752
+#: e2fsck/problem.c:755
#, no-c-format
msgid "Error while iterating over @bs in @i %i: %m\n"
msgstr "Error mientras se iteraba sobre los @bs en el @i %i: %m\n"
#. @-expanded: Error storing inode count information (inode=%i, count=%N): %m\n
-#: e2fsck/problem.c:757
+#: e2fsck/problem.c:760
msgid "Error storing @i count information (@i=%i, count=%N): %m\n"
msgstr "Error al guardar la información de la cuenta del @i (@i=%i, cuenta=%N): %m\n"
#. @-expanded: Error storing directory block information (inode=%i, block=%b, num=%N): %m\n
-#: e2fsck/problem.c:762
+#: e2fsck/problem.c:765
msgid "Error storing @d @b information (@i=%i, @b=%b, num=%N): %m\n"
msgstr "Error al guardar la información del @b de @ds (@i=%i, @b=%b, núm=%N): %m\n"
#. @-expanded: Error reading inode %i: %m\n
-#: e2fsck/problem.c:769
+#: e2fsck/problem.c:772
#, no-c-format
msgid "Error reading @i %i: %m\n"
msgstr "Error al leer el @i %i: %m\n"
#. @-expanded: inode %i has imagic flag set.
-#: e2fsck/problem.c:778
+#: e2fsck/problem.c:781
#, no-c-format
msgid "@i %i has imagic flag set. "
msgstr "@i %i tiene puesta la bandera imagic. "
#. @-expanded: Special (device/socket/fifo/symlink) file (inode %i) has immutable\n
#. @-expanded: or append-only flag set.
-#: e2fsck/problem.c:784
+#: e2fsck/problem.c:787
#, no-c-format
msgid ""
"Special (@v/socket/fifo/symlink) file (@i %i) has immutable\n"
@@ -1663,7 +1671,7 @@
"no es modificable o tiene la bandera 'append-only' (sólo añadir). "
#. @-expanded: Special (device/socket/fifo) inode %i has non-zero size.
-#: e2fsck/problem.c:791
+#: e2fsck/problem.c:794
#, no-c-format
msgid "Special (@v/socket/fifo) @i %i has non-zero size. "
msgstr ""
@@ -1671,137 +1679,137 @@
"tiene un tamaño distinto de cero. "
#. @-expanded: journal inode is not in use, but contains data.
-#: e2fsck/problem.c:801
+#: e2fsck/problem.c:804
msgid "@j @i is not in use, but contains data. "
msgstr "El @i del @j no está en uso, pero contiene información. "
#. @-expanded: journal is not regular file.
-#: e2fsck/problem.c:806
+#: e2fsck/problem.c:809
msgid "@j is not regular file. "
msgstr "el @j no es un fichero normal. "
#. @-expanded: inode %i was part of the orphaned inode list.
-#: e2fsck/problem.c:812
+#: e2fsck/problem.c:815
#, no-c-format
msgid "@i %i was part of the @o @i list. "
msgstr "el @i %i era parte de la lista de nodos-i @os. "
#. @-expanded: inodes that were part of a corrupted orphan linked list found.
-#: e2fsck/problem.c:818
+#: e2fsck/problem.c:821
msgid "@is that were part of a corrupted orphan linked list found. "
msgstr "Los nodos-i fueron parte de una lista enlazada que estaba huérfana y dañada. "
#. @-expanded: error allocating refcount structure (%N): %m\n
-#: e2fsck/problem.c:823
+#: e2fsck/problem.c:826
msgid "@A refcount structure (%N): %m\n"
msgstr "@A de la estructura refcount (%N): %m\n"
#. @-expanded: Error reading extended attribute block %b for inode %i.
-#: e2fsck/problem.c:828
+#: e2fsck/problem.c:831
msgid "Error reading @a @b %b for @i %i. "
msgstr "Error al leer el @b del @a %b para el @i %i. "
#. @-expanded: inode %i has a bad extended attribute block %b.
-#: e2fsck/problem.c:833
+#: e2fsck/problem.c:836
msgid "@i %i has a bad @a @b %b. "
msgstr "@i %i tiene un @b del @a %b dañado. "
#. @-expanded: Error reading extended attribute block %b (%m).
-#: e2fsck/problem.c:838
+#: e2fsck/problem.c:841
msgid "Error reading @a @b %b (%m). "
msgstr "Error al leer el @b del @a %b (%m). "
#. @-expanded: extended attribute block %b has reference count %r, should be %N.
-#: e2fsck/problem.c:843
+#: e2fsck/problem.c:846
msgid "@a @b %b has reference count %r, @s %N. "
msgstr "El @b del @a %b tiene una cuenta de referencia %r y @s %N. "
#. @-expanded: Error writing extended attribute block %b (%m).
-#: e2fsck/problem.c:848
+#: e2fsck/problem.c:851
msgid "Error writing @a @b %b (%m). "
msgstr "Error al escribir el @b de @a %b (%m). "
#. @-expanded: extended attribute block %b has h_blocks > 1.
-#: e2fsck/problem.c:853
+#: e2fsck/problem.c:856
msgid "@a @b %b has h_@bs > 1. "
msgstr "El @b del @a %b tiene h_@bs > 1. "
#. @-expanded: error allocating extended attribute region allocation structure.
-#: e2fsck/problem.c:858
+#: e2fsck/problem.c:861
msgid "@A @a region allocation structure. "
msgstr "@A de la estructura de reserva de región de @a. "
#. @-expanded: extended attribute block %b is corrupt (allocation collision).
-#: e2fsck/problem.c:863
+#: e2fsck/problem.c:866
msgid "@a @b %b is corrupt (allocation collision). "
msgstr "el @b del @a %b está dañado (hubo una colisión en la reserva). "
#. @-expanded: extended attribute block %b is corrupt (invalid name).
-#: e2fsck/problem.c:868
+#: e2fsck/problem.c:871
msgid "@a @b %b is corrupt (@n name). "
msgstr "el @b del @a %b está dañado (nombre no válido). "
#. @-expanded: extended attribute block %b is corrupt (invalid value).
-#: e2fsck/problem.c:873
+#: e2fsck/problem.c:876
msgid "@a @b %b is corrupt (@n value). "
msgstr "el @b del @a %b está dañado (valor no válido). "
#. @-expanded: inode %i is too big.
-#: e2fsck/problem.c:879
+#: e2fsck/problem.c:882
#, no-c-format
msgid "@i %i is too big. "
msgstr "el @i %i es demasiado grande. "
#. @-expanded: %B (%b) causes directory to be too big.
-#: e2fsck/problem.c:883
+#: e2fsck/problem.c:886
msgid "%B (%b) causes @d to be too big. "
msgstr "%B (%b) provoca que el @d sea demasiado grande. "
-#: e2fsck/problem.c:888
+#: e2fsck/problem.c:891
msgid "%B (%b) causes file to be too big. "
msgstr "%B (%b) provoca que el fichero sea demasiado grande. "
-#: e2fsck/problem.c:893
+#: e2fsck/problem.c:896
msgid "%B (%b) causes symlink to be too big. "
msgstr "%B (%b) provoca que el enlace simbólico sea demasiado grande. "
#. @-expanded: inode %i has INDEX_FL flag set on filesystem without htree support.\n
-#: e2fsck/problem.c:899
+#: e2fsck/problem.c:902
#, no-c-format
msgid "@i %i has INDEX_FL flag set on @f without htree support.\n"
msgstr "el @i %i tiene la bandera INDEX_FL puesta en el @f sin el árbol-h implementado.\n"
#. @-expanded: inode %i has INDEX_FL flag set but is not a directory.\n
-#: e2fsck/problem.c:905
+#: e2fsck/problem.c:908
#, no-c-format
msgid "@i %i has INDEX_FL flag set but is not a @d.\n"
msgstr "@i %i tiene puesta la bandera INDEX_FL pero no es un @d.\n"
#. @-expanded: HTREE directory inode %i has an invalid root node.\n
-#: e2fsck/problem.c:911
+#: e2fsck/problem.c:914
#, no-c-format
msgid "@h %i has an @n root node.\n"
msgstr "El @h %i tiene un nodo raíz no válido.\n"
#. @-expanded: HTREE directory inode %i has an unsupported hash version (%N)\n
-#: e2fsck/problem.c:916
+#: e2fsck/problem.c:919
msgid "@h %i has an unsupported hash version (%N)\n"
msgstr "El @h %i tiene una versión de hash no implementada (%N)\n"
#. @-expanded: HTREE directory inode %i uses an incompatible htree root node flag.\n
-#: e2fsck/problem.c:922
+#: e2fsck/problem.c:925
#, no-c-format
msgid "@h %i uses an incompatible htree root node flag.\n"
msgstr "El @h %i utiliza una bandera incompatible para el nodo raíz del árbol-h.\n"
#. @-expanded: HTREE directory inode %i has a tree depth (%N) which is too big\n
-#: e2fsck/problem.c:927
+#: e2fsck/problem.c:930
msgid "@h %i has a tree depth (%N) which is too big\n"
msgstr "El @h %i tiene una profundidad (%N) muy grande\n"
#. @-expanded: Bad block inode has an indirect block (%b) that conflicts with\n
#. @-expanded: filesystem metadata.
-#: e2fsck/problem.c:933
+#: e2fsck/problem.c:936
msgid ""
"Bad @b @i has an indirect @b (%b) that conflicts with\n"
"@f metadata. "
@@ -1810,55 +1818,55 @@
"entra en conflicto con la metainformación del @f. "
#. @-expanded: Resize inode (re)creation failed: %m.
-#: e2fsck/problem.c:940
+#: e2fsck/problem.c:943
#, no-c-format
msgid "Resize @i (re)creation failed: %m."
msgstr "Falló la (re)creación del nodo-i de cambio de tamaño: %m."
#. @-expanded: inode %i has a extra size (%IS) which is invalid\n
-#: e2fsck/problem.c:945
+#: e2fsck/problem.c:948
msgid "@i %i has a extra size (%IS) which is @n\n"
msgstr "El @i %i tiene un tamaño adicional (%IS) que es @n\n"
#. @-expanded: extended attribute in inode %i has a namelen (%N) which is invalid\n
-#: e2fsck/problem.c:950
+#: e2fsck/problem.c:953
msgid "@a in @i %i has a namelen (%N) which is @n\n"
msgstr "El @a en el @i %i tiene una longitud de nombre (%N) que es @n\n"
#. @-expanded: extended attribute in inode %i has a value offset (%N) which is invalid\n
-#: e2fsck/problem.c:955
+#: e2fsck/problem.c:958
msgid "@a in @i %i has a value offset (%N) which is @n\n"
msgstr "El @a en @i %i tiene un valor de desplazamiento (%N) que es @n\n"
#. @-expanded: extended attribute in inode %i has a value block (%N) which is invalid (must be 0)\n
-#: e2fsck/problem.c:960
+#: e2fsck/problem.c:963
msgid "@a in @i %i has a value @b (%N) which is @n (must be 0)\n"
msgstr "El @a en el @i %i tiene un valor de @b (%N) que es @n (debe ser 0)\n"
#. @-expanded: extended attribute in inode %i has a value size (%N) which is invalid\n
-#: e2fsck/problem.c:965
+#: e2fsck/problem.c:968
msgid "@a in @i %i has a value size (%N) which is @n\n"
msgstr "El @a en el @i %i tiene un valor de tamaño (%N) que es @n\n"
#. @-expanded: extended attribute in inode %i has a hash (%N) which is invalid\n
-#: e2fsck/problem.c:970
+#: e2fsck/problem.c:973
msgid "@a in @i %i has a hash (%N) which is @n\n"
msgstr "El @a en el @i %i tiene un hash (%N) que es @n\n"
#. @-expanded: inode %i is a %It but it looks like it is really a directory.\n
-#: e2fsck/problem.c:975
+#: e2fsck/problem.c:978
msgid "@i %i is a %It but it looks like it is really a directory.\n"
msgstr "El nodo-i %i está marcado como un %It pero parece ser un directorio.\n"
#. @-expanded: Error while reading over extent tree in inode %i: %m\n
-#: e2fsck/problem.c:981
+#: e2fsck/problem.c:984
#, no-c-format
msgid "Error while reading over @x tree in @i %i: %m\n"
msgstr "Error mientras se leía el árbol de «@xs» en el @i %i: %m\n"
#. @-expanded: Failed to iterate extents in inode %i\n
#. @-expanded: \t(op %s, blk %b, lblk %c): %m\n
-#: e2fsck/problem.c:986
+#: e2fsck/problem.c:989
msgid ""
"Failed to iterate extents in @i %i\n"
"\t(op %s, blk %b, lblk %c): %m\n"
@@ -1868,7 +1876,7 @@
#. @-expanded: inode %i has an invalid extent\n
#. @-expanded: \t(logical block %c, invalid physical block %b, len %N)\n
-#: e2fsck/problem.c:992
+#: e2fsck/problem.c:995
msgid ""
"@i %i has an @n extent\n"
"\t(logical @b %c, @n physical @b %b, len %N)\n"
@@ -1878,7 +1886,7 @@
#. @-expanded: inode %i has an invalid extent\n
#. @-expanded: \t(logical block %c, physical block %b, invalid len %N)\n
-#: e2fsck/problem.c:997
+#: e2fsck/problem.c:1000
msgid ""
"@i %i has an @n extent\n"
"\t(logical @b %c, physical @b %b, @n len %N)\n"
@@ -1887,31 +1895,31 @@
"\t(@b lógico %c, @b físico %b, longitud @n %N)\n"
#. @-expanded: inode %i has EXTENTS_FL flag set on filesystem without extents support.\n
-#: e2fsck/problem.c:1003
+#: e2fsck/problem.c:1006
#, no-c-format
msgid "@i %i has EXTENTS_FL flag set on @f without extents support.\n"
msgstr "El @i %i tiene la bandera EXTENTS_FL puesta en el @f sin «extents» implementado.\n"
#. @-expanded: inode %i is in extent format, but superblock is missing EXTENTS feature\n
-#: e2fsck/problem.c:1009
+#: e2fsck/problem.c:1012
#, no-c-format
msgid "@i %i is in extent format, but @S is missing EXTENTS feature\n"
msgstr "el @i %i está en formato «extent», pero el @S no tiene la característica EXTENTS\n"
#. @-expanded: inode %i missing EXTENT_FL, but is in extents format\n
-#: e2fsck/problem.c:1015
+#: e2fsck/problem.c:1018
#, no-c-format
msgid "@i %i missing EXTENT_FL, but is in extents format\n"
msgstr "el @i %i no tiene EXTENT_FL, pero está en formato «extents»\n"
-#: e2fsck/problem.c:1021
+#: e2fsck/problem.c:1024
#, no-c-format
msgid "Fast symlink %i has EXTENT_FL set. "
msgstr "El enlace simbólico rápido %i tiene puesto EXTENT_FL. "
#. @-expanded: inode %i has out of order extents\n
#. @-expanded: \t(invalid logical block %c, physical block %b, len %N)\n
-#: e2fsck/problem.c:1026
+#: e2fsck/problem.c:1029
msgid ""
"@i %i has out of order extents\n"
"\t(@n logical @b %c, physical @b %b, len %N)\n"
@@ -1920,39 +1928,39 @@
"\t(@b lógico @n %c, @b físico %b, longitud %N)\n"
#. @-expanded: inode %i has an invalid extent node (blk %b, lblk %c)\n
-#: e2fsck/problem.c:1030
+#: e2fsck/problem.c:1033
msgid "@i %i has an invalid extent node (blk %b, lblk %c)\n"
msgstr "el @i %i tiene un modo de «extent» no válido (blk %b, lblk %c)\n"
#. @-expanded: Error converting subcluster block bitmap: %m\n
-#: e2fsck/problem.c:1036
+#: e2fsck/problem.c:1039
#, no-c-format
msgid "Error converting subcluster @b @B: %m\n"
msgstr "Error al convertir el @B de @bs del «subcluster»: %m\n"
#. @-expanded: quota inode is not a regular file.
-#: e2fsck/problem.c:1041
+#: e2fsck/problem.c:1044
msgid "@q @i is not a regular file. "
msgstr "El @i de la @q no es un fichero normal. "
#. @-expanded: quota inode is not in use, but contains data.
-#: e2fsck/problem.c:1046
+#: e2fsck/problem.c:1049
msgid "@q @i is not in use, but contains data. "
msgstr "El @i de la @q no está en uso, pero contiene datos. "
#. @-expanded: quota inode is visible to the user.
-#: e2fsck/problem.c:1051
+#: e2fsck/problem.c:1054
msgid "@q @i is visible to the user. "
msgstr "El @i de la @q es visible para el usuario. "
#. @-expanded: The bad block inode looks invalid.
-#: e2fsck/problem.c:1056
+#: e2fsck/problem.c:1059
msgid "The bad @b @i looks @n. "
msgstr "El nodo-i de bloques dañados parece inválido. "
#. @-expanded: inode %i has zero length extent\n
#. @-expanded: \t(invalid logical block %c, physical block %b)\n
-#: e2fsck/problem.c:1061
+#: e2fsck/problem.c:1064
msgid ""
"@i %i has zero length extent\n"
"\t(@n logical @b %c, physical @b %b)\n"
@@ -1961,26 +1969,26 @@
"\t(@b lógico @n %c, @b físico %b)\n"
#. @-expanded: inode %i seems to contain garbage.
-#: e2fsck/problem.c:1067
+#: e2fsck/problem.c:1070
#, no-c-format
msgid "@i %i seems to contain garbage. "
msgstr "el @i %i parece que contiene basura. "
#. @-expanded: inode %i passes checks, but checksum does not match inode.
-#: e2fsck/problem.c:1073
+#: e2fsck/problem.c:1076
#, no-c-format
msgid "@i %i passes checks, but checksum does not match @i. "
msgstr "el @i %i pasa las comprobaciones, pero el «checksum» no cuadra con el @i. "
#. @-expanded: inode %i extended attribute is corrupt (allocation collision).
-#: e2fsck/problem.c:1079
+#: e2fsck/problem.c:1082
#, no-c-format
msgid "@i %i @a is corrupt (allocation collision). "
msgstr "el @a del @i %i está dañado (hubo una colisión en la reserva). "
#. @-expanded: inode %i extent block passes checks, but checksum does not match extent\n
#. @-expanded: \t(logical block %c, physical block %b, len %N)\n
-#: e2fsck/problem.c:1087
+#: e2fsck/problem.c:1090
msgid ""
"@i %i extent block passes checks, but checksum does not match extent\n"
"\t(logical @b %c, physical @b %b, len %N)\n"
@@ -1989,13 +1997,13 @@
"\t(@b lógico %c, @b físico %b, longitud %N)\n"
#. @-expanded: inode %i extended attribute block %b passes checks, but checksum does not match block.
-#: e2fsck/problem.c:1096
+#: e2fsck/problem.c:1099
msgid "@i %i @a @b %b passes checks, but checksum does not match @b. "
msgstr "el @b de @a %b del @i %i pasa las comprobaciones, pero el «checksum» no concuerda con el @b. "
#. @-expanded: Interior extent node level %N of inode %i:\n
#. @-expanded: Logical start %b does not match logical start %c at next level.
-#: e2fsck/problem.c:1101
+#: e2fsck/problem.c:1104
msgid ""
"Interior @x node level %N of @i %i:\n"
"Logical start %b does not match logical start %c at next level. "
@@ -2005,7 +2013,7 @@
#. @-expanded: inode %i, end of extent exceeds allowed value\n
#. @-expanded: \t(logical block %c, physical block %b, len %N)\n
-#: e2fsck/problem.c:1107
+#: e2fsck/problem.c:1110
msgid ""
"@i %i, end of extent exceeds allowed value\n"
"\t(logical @b %c, physical @b %b, len %N)\n"
@@ -2014,37 +2022,37 @@
"\t(@b lógico %c, @b físico %b, longitud %N)\n"
#. @-expanded: inode %i has inline data, but superblock is missing INLINE_DATA feature\n
-#: e2fsck/problem.c:1113
+#: e2fsck/problem.c:1116
#, no-c-format
msgid "@i %i has inline data, but @S is missing INLINE_DATA feature\n"
msgstr "el @i %i tiene datos en línea, pero el @S no tiene la característica INLINE_DATA\n"
#. @-expanded: inode %i has INLINE_DATA_FL flag on filesystem without inline data support.\n
-#: e2fsck/problem.c:1119
+#: e2fsck/problem.c:1122
#, no-c-format
msgid "@i %i has INLINE_DATA_FL flag on @f without inline data support.\n"
msgstr "el @i %i tiene la bandera INLINE_DATA_FL puesta en el @f pero no tiene capacidad de datos en línea.\n"
#. @-expanded: inode %i block %b conflicts with critical metadata, skipping block checks.\n
-#: e2fsck/problem.c:1127
+#: e2fsck/problem.c:1130
#, no-c-format
msgid "@i %i block %b conflicts with critical metadata, skipping block checks.\n"
msgstr "El bloque %b del @i %i está en conflicto con metadatos críticos; saltar comprobaciones de bloque.\n"
#. @-expanded: directory inode %i block %b should be at block %c.
-#: e2fsck/problem.c:1132
+#: e2fsck/problem.c:1135
msgid "@d @i %i @b %b should be at @b %c. "
msgstr "El @b %b del @i %i de @d debería estar en el @b %c. "
#. @-expanded: directory inode %i has extent marked uninitialized at block %c.
-#: e2fsck/problem.c:1138
+#: e2fsck/problem.c:1141
#, no-c-format
msgid "@d @i %i has @x marked uninitialized at @b %c. "
msgstr "El @i %i del @d tiene un @x marcado como no inicializado en el @b %c. "
#. @-expanded: inode %i logical block %b (physical block %c) violates cluster allocation rules.\n
#. @-expanded: Will fix in pass 1B.\n
-#: e2fsck/problem.c:1143
+#: e2fsck/problem.c:1146
msgid ""
"@i %i logical @b %b (physical @b %c) violates cluster allocation rules.\n"
"Will fix in pass 1B.\n"
@@ -2053,14 +2061,14 @@
"Se corregirá en el paso 1B.\n"
#. @-expanded: inode %i has INLINE_DATA_FL flag but extended attribute not found.
-#: e2fsck/problem.c:1149
+#: e2fsck/problem.c:1152
#, no-c-format
msgid "@i %i has INLINE_DATA_FL flag but @a not found. "
msgstr "El @i %i tiene puesta la bandera INLINE_DATA_FL pero no se ha encontrado @a. "
#. @-expanded: Special (device/socket/fifo) file (inode %i) has extents\n
#. @-expanded: or inline-data flag set.
-#: e2fsck/problem.c:1156
+#: e2fsck/problem.c:1159
#, no-c-format
msgid ""
"Special (@v/socket/fifo) file (@i %i) has extents\n"
@@ -2070,42 +2078,42 @@
"o tiene la bandera 'inline-data' (datos en línea). "
#. @-expanded: inode %i has extent header but inline data flag is set.\n
-#: e2fsck/problem.c:1163
+#: e2fsck/problem.c:1166
#, no-c-format
msgid "@i %i has @x header but inline data flag is set.\n"
msgstr "El @i %i tiene cabecera de @x pero la bandera de datos en línea está puesta.\n"
#. @-expanded: inode %i seems to have inline data but extent flag is set.\n
-#: e2fsck/problem.c:1169
+#: e2fsck/problem.c:1172
#, no-c-format
msgid "@i %i seems to have inline data but @x flag is set.\n"
msgstr "El @i %i parece tener datos en línea pero la bandera @x está puesta.\n"
#. @-expanded: inode %i seems to have block map but inline data and extent flags set.\n
-#: e2fsck/problem.c:1175
+#: e2fsck/problem.c:1178
#, no-c-format
msgid "@i %i seems to have @b map but inline data and @x flags set.\n"
msgstr "El @i %i parece tener mapa de @b pero datos en línea y la bandera @x está puesta.\n"
#. @-expanded: inode %i has inline data and extent flags set but i_block contains junk.\n
-#: e2fsck/problem.c:1181
+#: e2fsck/problem.c:1184
#, no-c-format
msgid "@i %i has inline data and @x flags set but i_block contains junk.\n"
msgstr "El @i %i tiene datos en línea y las banderas @x están puestas pero el i_block contiene basura.\n"
#. @-expanded: Bad block list says the bad block list inode is bad.
-#: e2fsck/problem.c:1186
+#: e2fsck/problem.c:1189
msgid "Bad block list says the bad block list @i is bad. "
msgstr "La lista de bloques defectuosos dice que el @i de dicha lista es defectuoso. "
#. @-expanded: error allocating extent region allocation structure.
-#: e2fsck/problem.c:1191
+#: e2fsck/problem.c:1194
msgid "@A @x region allocation structure. "
msgstr "Error asignando estructura de reserva de la región de @x. "
#. @-expanded: inode %i has a duplicate extent mapping\n
#. @-expanded: \t(logical block %c, invalid physical block %b, len %N)\n
-#: e2fsck/problem.c:1196
+#: e2fsck/problem.c:1199
msgid ""
"@i %i has a duplicate @x mapping\n"
"\t(logical @b %c, @n physical @b %b, len %N)\n"
@@ -2114,46 +2122,46 @@
"\t(@b lógico %c, @b físico @n %b, longitud %N)\n"
#. @-expanded: error allocating memory for encrypted directory list\n
-#: e2fsck/problem.c:1201
+#: e2fsck/problem.c:1204
msgid "@A memory for encrypted @d list\n"
msgstr "@A memoria para la lista de @d cifrados\n"
#. @-expanded: inode %i extent tree could be more shallow (%b; could be <= %c)\n
-#: e2fsck/problem.c:1206
+#: e2fsck/problem.c:1209
msgid "@i %i @x tree could be more shallow (%b; could be <= %c)\n"
msgstr "el árbol de @x del @i %i podía ser más superficial (%b; podía ser <= %c)\n"
#. @-expanded: inode %i on bigalloc filesystem cannot be block mapped.
-#: e2fsck/problem.c:1212
+#: e2fsck/problem.c:1215
#, no-c-format
msgid "@i %i on bigalloc @f cannot be @b mapped. "
msgstr "El @i %i del @f de «bigalloc» no puede asociarse a bloque. "
#. @-expanded: inode %i has corrupt extent header.
-#: e2fsck/problem.c:1218
+#: e2fsck/problem.c:1221
#, no-c-format
msgid "@i %i has corrupt @x header. "
msgstr "el @i %i tiene dañada la cabecera de @x. "
#. @-expanded: Timestamp(s) on inode %i beyond 2310-04-04 are likely pre-1970.\n
-#: e2fsck/problem.c:1224
+#: e2fsck/problem.c:1227
#, no-c-format
msgid "Timestamp(s) on @i %i beyond 2310-04-04 are likely pre-1970.\n"
msgstr "La(s) fecha(s) del @i %i posteriores a 2310-04-04 probablemente son anteriores a 1970.\n"
#. @-expanded: inode %i has illegal extended attribute value inode %N.\n
-#: e2fsck/problem.c:1229
+#: e2fsck/problem.c:1232
msgid "@i %i has @I @a value @i %N.\n"
msgstr "@i %i tiene un valor de @I @a @i %N.\n"
#. @-expanded: inode %i has invalid extended attribute. EA inode %N missing EA_INODE flag.\n
-#: e2fsck/problem.c:1235
+#: e2fsck/problem.c:1238
msgid "@i %i has @n @a. EA @i %N missing EA_INODE flag.\n"
msgstr "el @i %i tiene @n, @a, EA @i %N no tiene el indicador EA_INODE.\n"
#. @-expanded: EA inode %N for parent inode %i missing EA_INODE flag.\n
#. @-expanded:
-#: e2fsck/problem.c:1240
+#: e2fsck/problem.c:1243
msgid ""
"EA @i %N for parent @i %i missing EA_INODE flag.\n"
" "
@@ -2161,10 +2169,38 @@
"EA @i %N para el padre @i %i no tiene el indicador EA_INODE.\n"
" "
+#. @-expanded: inode %i has the casefold flag set but is not a directory.
+#: e2fsck/problem.c:1248
+#, c-format
+msgid "@i %i has the casefold flag set but is not a directory. "
+msgstr "@i %i tiene puesta la bandera casefold pero no es un directorio. "
+
+#. @-expanded: directory %p has the casefold flag, but the\n
+#. @-expanded: casefold feature is not enabled.
+#: e2fsck/problem.c:1253
+#, c-format
+msgid ""
+"@d %p has the casefold flag, but the\n"
+"casefold feature is not enabled. "
+msgstr ""
+"@d %p tiene puesta la bandera casefold, pero\n"
+"la característica casefold no está activada. "
+
+#. @-expanded: HTREE directory inode %i uses hash version (%N), but should use SipHash (6) \n
+#: e2fsck/problem.c:1258
+msgid "@h %i uses hash version (%N), but should use SipHash (6) \n"
+msgstr "@h %i utiliza la versión de hash (%N), pero debería utilizar SipHash (6) \n"
+
+#. @-expanded: HTREE directory inode %i uses SipHash, but should not.
+#: e2fsck/problem.c:1263
+#, c-format
+msgid "@h %i uses SipHash, but should not. "
+msgstr "@h %i utiliza SipHash, pero no debería. "
+
#. @-expanded: \n
#. @-expanded: Running additional passes to resolve blocks claimed by more than one inode...\n
#. @-expanded: Pass 1B: Rescanning for multiply-claimed blocks\n
-#: e2fsck/problem.c:1248
+#: e2fsck/problem.c:1270
msgid ""
"\n"
"Running additional passes to resolve @bs claimed by more than one @i...\n"
@@ -2175,46 +2211,46 @@
"Paso 1B: Se vuelven a explorar para los @bs reclamados en múltiples ocasiones\n"
#. @-expanded: multiply-claimed block(s) in inode %i:
-#: e2fsck/problem.c:1255
+#: e2fsck/problem.c:1277
#, no-c-format
msgid "@m @b(s) in @i %i:"
msgstr "Bloque(s) reclamado(s) en múltiples ocasiones en @i %i:"
-#: e2fsck/problem.c:1271
+#: e2fsck/problem.c:1293
#, no-c-format
msgid "Error while scanning inodes (%i): %m\n"
msgstr "Error mientras se exploraban los nodos-i (%i): %m\n"
#. @-expanded: error allocating inode bitmap (inode_dup_map): %m\n
-#: e2fsck/problem.c:1277
+#: e2fsck/problem.c:1299
#, no-c-format
msgid "@A @i @B (@i_dup_map): %m\n"
msgstr "@A del @B del @i (@i_dup_map): %m\n"
#. @-expanded: Error while iterating over blocks in inode %i (%s): %m\n
-#: e2fsck/problem.c:1283
+#: e2fsck/problem.c:1305
#, no-c-format
msgid "Error while iterating over @bs in @i %i (%s): %m\n"
msgstr "Error mientras se iteraba sobre los @bs en el @i %i (%s): %m\n"
#. @-expanded: Error adjusting refcount for extended attribute block %b (inode %i): %m\n
-#: e2fsck/problem.c:1288 e2fsck/problem.c:1663
+#: e2fsck/problem.c:1310 e2fsck/problem.c:1685
msgid "Error adjusting refcount for @a @b %b (@i %i): %m\n"
msgstr "Error al ajustar la cuenta de referencia para el @b del @a %b (@i %i): %m\n"
#. @-expanded: Pass 1C: Scanning directories for inodes with multiply-claimed blocks\n
-#: e2fsck/problem.c:1298
+#: e2fsck/problem.c:1320
msgid "Pass 1C: Scanning directories for @is with @m @bs\n"
msgstr "Paso 1C: Explorando los directorios para buscar nodos-i con @bs reclamados en múltiples ocasiones\n"
#. @-expanded: Pass 1D: Reconciling multiply-claimed blocks\n
-#: e2fsck/problem.c:1304
+#: e2fsck/problem.c:1326
msgid "Pass 1D: Reconciling @m @bs\n"
msgstr "Paso 1D: Reconciliando los @bs reclamados en múltiples ocasiones\n"
#. @-expanded: File %Q (inode #%i, mod time %IM) \n
#. @-expanded: has %r multiply-claimed block(s), shared with %N file(s):\n
-#: e2fsck/problem.c:1309
+#: e2fsck/problem.c:1331
msgid ""
"File %Q (@i #%i, mod time %IM) \n"
" has %r @m @b(s), shared with %N file(s):\n"
@@ -2223,18 +2259,18 @@
" tiene %r @b(s) reclamado(s) en múltiples ocasiones, compartido(s) con %N fichero(s):\n"
#. @-expanded: \t%Q (inode #%i, mod time %IM)\n
-#: e2fsck/problem.c:1315
+#: e2fsck/problem.c:1337
msgid "\t%Q (@i #%i, mod time %IM)\n"
msgstr "\t%Q (@i #%i, fecha de modificación %IM)\n"
#. @-expanded: \t<filesystem metadata>\n
-#: e2fsck/problem.c:1320
+#: e2fsck/problem.c:1342
msgid "\t<@f metadata>\n"
msgstr "\t<metadatos del @f>\n"
#. @-expanded: (There are %N inodes containing multiply-claimed blocks.)\n
#. @-expanded: \n
-#: e2fsck/problem.c:1325
+#: e2fsck/problem.c:1347
msgid ""
"(There are %N @is containing @m @bs.)\n"
"\n"
@@ -2244,357 +2280,357 @@
#. @-expanded: multiply-claimed blocks already reassigned or cloned.\n
#. @-expanded: \n
-#: e2fsck/problem.c:1330
+#: e2fsck/problem.c:1352
msgid ""
"@m @bs already reassigned or cloned.\n"
"\n"
msgstr "Los @bs reclamados en múltiples ocasiones ya se reasignaron o se clonaron.\n"
-#: e2fsck/problem.c:1344
+#: e2fsck/problem.c:1366
#, no-c-format
msgid "Couldn't clone file: %m\n"
msgstr "No se puede clonar el fichero: %m\n"
#. @-expanded: Pass 1E: Optimizing extent trees\n
-#: e2fsck/problem.c:1350
+#: e2fsck/problem.c:1372
msgid "Pass 1E: Optimizing @x trees\n"
msgstr "Paso 1E: Optimizando los árboles @x\n"
#. @-expanded: Failed to optimize extent tree %p (%i): %m\n
-#: e2fsck/problem.c:1356
+#: e2fsck/problem.c:1378
#, no-c-format
msgid "Failed to optimize @x tree %p (%i): %m\n"
msgstr "Fallo al optimizar el árbol @x %p (%i): %m\n"
#. @-expanded: Optimizing extent trees:
-#: e2fsck/problem.c:1361
+#: e2fsck/problem.c:1383
msgid "Optimizing @x trees: "
msgstr "Optimizando los árboles @x: "
-#: e2fsck/problem.c:1376
+#: e2fsck/problem.c:1398
msgid "Internal error: max extent tree depth too large (%b; expected=%c).\n"
msgstr "Error interno: máxima profundidad de árbol «extent» demasiado grande (%b; esperada=%c).\n"
#. @-expanded: inode %i extent tree (at level %b) could be shorter.
-#: e2fsck/problem.c:1381
+#: e2fsck/problem.c:1403
msgid "@i %i @x tree (at level %b) could be shorter. "
msgstr "El árbol @x del @i %i (nivel %b) podría ser más corto. "
#. @-expanded: inode %i extent tree (at level %b) could be narrower.
-#: e2fsck/problem.c:1386
+#: e2fsck/problem.c:1408
msgid "@i %i @x tree (at level %b) could be narrower. "
msgstr "El árbol @x del @i %i (nivel %b) podría ser más estrecho. "
#. @-expanded: Pass 2: Checking directory structure\n
-#: e2fsck/problem.c:1393
+#: e2fsck/problem.c:1415
msgid "Pass 2: Checking @d structure\n"
msgstr "Paso 2: Verificando la estructura de @ds\n"
#. @-expanded: invalid inode number for '.' in directory inode %i.\n
-#: e2fsck/problem.c:1399
+#: e2fsck/problem.c:1421
#, no-c-format
msgid "@n @i number for '.' in @d @i %i.\n"
msgstr "Número @n del @i para '.' en el @i del @d %i.\n"
#. @-expanded: entry '%Dn' in %p (%i) has invalid inode #: %Di.\n
-#: e2fsck/problem.c:1404
+#: e2fsck/problem.c:1426
msgid "@E has @n @i #: %Di.\n"
msgstr "@E tiene un @i @n #: %Di.\n"
#. @-expanded: entry '%Dn' in %p (%i) has deleted/unused inode %Di.
-#: e2fsck/problem.c:1409
+#: e2fsck/problem.c:1431
msgid "@E has @D/unused @i %Di. "
msgstr "@E tiene un @i %Di @D/no utilizado. "
#. @-expanded: entry '%Dn' in %p (%i) is a link to '.'
-#: e2fsck/problem.c:1414
+#: e2fsck/problem.c:1436
msgid "@E @L to '.' "
msgstr "@E @L a '.' "
# '@E' o 'La @e', no 'La @E'. Ver: e2fsck/message.c:125
#. @-expanded: entry '%Dn' in %p (%i) points to inode (%Di) located in a bad block.\n
-#: e2fsck/problem.c:1419
+#: e2fsck/problem.c:1441
msgid "@E points to @i (%Di) located in a bad @b.\n"
msgstr "@E apunta al @i (%Di) ubicado en un @b dañado.\n"
# '@E' o 'La @e', no 'La @E'. Ver: e2fsck/message.c:125
#. @-expanded: entry '%Dn' in %p (%i) is a link to directory %P (%Di).\n
-#: e2fsck/problem.c:1424
+#: e2fsck/problem.c:1446
msgid "@E @L to @d %P (%Di).\n"
msgstr "@E @L al @d %P (%Di).\n"
# '@E' o 'La @e', no 'La @E'. Ver: e2fsck/message.c:125
#. @-expanded: entry '%Dn' in %p (%i) is a link to the root inode.\n
-#: e2fsck/problem.c:1429
+#: e2fsck/problem.c:1451
msgid "@E @L to the @r.\n"
msgstr "@E @L al @r.\n"
# '@E' o 'La @e', no 'La @E'. Ver: e2fsck/message.c:125
#. @-expanded: entry '%Dn' in %p (%i) has illegal characters in its name.\n
-#: e2fsck/problem.c:1434
+#: e2fsck/problem.c:1456
msgid "@E has illegal characters in its name.\n"
msgstr "@E contiene caracteres no válidos en el nombre.\n"
#. @-expanded: Missing '.' in directory inode %i.\n
-#: e2fsck/problem.c:1440
+#: e2fsck/problem.c:1462
#, no-c-format
msgid "Missing '.' in @d @i %i.\n"
msgstr "Falta '.' en el @d @i %i.\n"
#. @-expanded: Missing '..' in directory inode %i.\n
-#: e2fsck/problem.c:1446
+#: e2fsck/problem.c:1468
#, no-c-format
msgid "Missing '..' in @d @i %i.\n"
msgstr "Falta '..' en el @i del @d %i.\n"
#. @-expanded: First entry '%Dn' (inode=%Di) in directory inode %i (%p) should be '.'\n
-#: e2fsck/problem.c:1451
+#: e2fsck/problem.c:1473
msgid "First @e '%Dn' (@i=%Di) in @d @i %i (%p) @s '.'\n"
msgstr "La primera @e '%Dn' (@i=%Di) en el @i del @d %i (%p) @s '.'\n"
#. @-expanded: Second entry '%Dn' (inode=%Di) in directory inode %i should be '..'\n
-#: e2fsck/problem.c:1456
+#: e2fsck/problem.c:1478
msgid "Second @e '%Dn' (@i=%Di) in @d @i %i @s '..'\n"
msgstr "La segunda @e '%Dn' (@i=%Di) en el @i del @d %i @s '..'\n"
#. @-expanded: i_faddr for inode %i (%Q) is %IF, should be zero.\n
-#: e2fsck/problem.c:1461
+#: e2fsck/problem.c:1483
msgid "i_faddr @F %IF, @s zero.\n"
msgstr "El i_faddr @F %IF, @s cero.\n"
#. @-expanded: i_file_acl for inode %i (%Q) is %If, should be zero.\n
-#: e2fsck/problem.c:1466
+#: e2fsck/problem.c:1488
msgid "i_file_acl @F %If, @s zero.\n"
msgstr "El i_file_acl @F %If, @s cero.\n"
#. @-expanded: i_size_high for inode %i (%Q) is %Id, should be zero.\n
-#: e2fsck/problem.c:1471
+#: e2fsck/problem.c:1493
msgid "i_size_high @F %Id, @s zero.\n"
msgstr "El i_size @F %Id, @s cero.\n"
#. @-expanded: i_frag for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1476
+#: e2fsck/problem.c:1498
msgid "i_frag @F %N, @s zero.\n"
msgstr "El i_frag @F %N, @s cero.\n"
#. @-expanded: i_fsize for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1481
+#: e2fsck/problem.c:1503
msgid "i_fsize @F %N, @s zero.\n"
msgstr "El i_fsize @F %N, @s cero.\n"
#. @-expanded: inode %i (%Q) has invalid mode (%Im).\n
-#: e2fsck/problem.c:1486
+#: e2fsck/problem.c:1508
msgid "@i %i (%Q) has @n mode (%Im).\n"
msgstr "El @i %i (%Q) tiene un modo @n (%Im).\n"
#. @-expanded: directory inode %i, %B, offset %N: directory corrupted\n
-#: e2fsck/problem.c:1491
+#: e2fsck/problem.c:1513
msgid "@d @i %i, %B, offset %N: @d corrupted\n"
msgstr "El @i del @d %i, %B, desplazamiento %N: el @d está dañado\n"
#. @-expanded: directory inode %i, %B, offset %N: filename too long\n
-#: e2fsck/problem.c:1496
+#: e2fsck/problem.c:1518
msgid "@d @i %i, %B, offset %N: filename too long\n"
msgstr "El @i del @d %i, %B, desplazamiento %N: el nombre del fichero es muy largo\n"
#. @-expanded: directory inode %i has an unallocated %B.
-#: e2fsck/problem.c:1501
+#: e2fsck/problem.c:1523
msgid "@d @i %i has an unallocated %B. "
msgstr "El @i %i del @d tiene un %B que no está reservado. "
#. @-expanded: '.' directory entry in directory inode %i is not NULL terminated\n
-#: e2fsck/problem.c:1507
+#: e2fsck/problem.c:1529
#, no-c-format
msgid "'.' @d @e in @d @i %i is not NULL terminated\n"
msgstr "La @e del @d '.' en el @i del @d %i no termina con NULL\n"
#. @-expanded: '..' directory entry in directory inode %i is not NULL terminated\n
-#: e2fsck/problem.c:1513
+#: e2fsck/problem.c:1535
#, no-c-format
msgid "'..' @d @e in @d @i %i is not NULL terminated\n"
msgstr "La @e del @d '..' en el @i %i del @d no termina con NULL\n"
#. @-expanded: inode %i (%Q) is an illegal character device.\n
-#: e2fsck/problem.c:1518
+#: e2fsck/problem.c:1540
msgid "@i %i (%Q) is an @I character @v.\n"
msgstr "El @i %i (%Q) es un @v de carácter @I.\n"
#. @-expanded: inode %i (%Q) is an illegal block device.\n
-#: e2fsck/problem.c:1523
+#: e2fsck/problem.c:1545
msgid "@i %i (%Q) is an @I @b @v.\n"
msgstr "El @i %i (%Q) es un @v de @b @I.\n"
#. @-expanded: entry '%Dn' in %p (%i) is duplicate '.' entry.\n
-#: e2fsck/problem.c:1528
+#: e2fsck/problem.c:1550
msgid "@E is duplicate '.' @e.\n"
msgstr "La @E está duplicada en la @e '.'.\n"
#. @-expanded: entry '%Dn' in %p (%i) is duplicate '..' entry.\n
-#: e2fsck/problem.c:1533
+#: e2fsck/problem.c:1555
msgid "@E is duplicate '..' @e.\n"
msgstr "La @E está duplicada en la @e '..'.\n"
-#: e2fsck/problem.c:1539 e2fsck/problem.c:1898
+#: e2fsck/problem.c:1561 e2fsck/problem.c:1925
#, no-c-format
msgid "Internal error: couldn't find dir_info for %i.\n"
msgstr "Error interno: no se puede encontrar el dir_info para %i.\n"
#. @-expanded: entry '%Dn' in %p (%i) has rec_len of %Dr, should be %N.\n
-#: e2fsck/problem.c:1544
+#: e2fsck/problem.c:1566
msgid "@E has rec_len of %Dr, @s %N.\n"
msgstr "La @E tiene un rec_len de %Dr y @s %N.\n"
#. @-expanded: error allocating icount structure: %m\n
-#: e2fsck/problem.c:1550
+#: e2fsck/problem.c:1572
#, no-c-format
msgid "@A icount structure: %m\n"
msgstr "@A de la estructura icount: %m\n"
#. @-expanded: Error iterating over directory blocks: %m\n
-#: e2fsck/problem.c:1556
+#: e2fsck/problem.c:1578
#, no-c-format
msgid "Error iterating over @d @bs: %m\n"
msgstr "Error al iterar sobre los @bs del @d: %m\n"
#. @-expanded: Error reading directory block %b (inode %i): %m\n
-#: e2fsck/problem.c:1561
+#: e2fsck/problem.c:1583
msgid "Error reading @d @b %b (@i %i): %m\n"
msgstr "Error al leer el @b %b del @d (@i %i): %m\n"
#. @-expanded: Error writing directory block %b (inode %i): %m\n
-#: e2fsck/problem.c:1566
+#: e2fsck/problem.c:1588
msgid "Error writing @d @b %b (@i %i): %m\n"
msgstr "Error al escribir el @b %b del @d (@i %i): %m\n"
#. @-expanded: error allocating new directory block for inode %i (%s): %m\n
-#: e2fsck/problem.c:1572
+#: e2fsck/problem.c:1594
#, no-c-format
msgid "@A new @d @b for @i %i (%s): %m\n"
msgstr "@A del @b del @d para el @i %i (%s): %m\n"
#. @-expanded: Error deallocating inode %i: %m\n
-#: e2fsck/problem.c:1578
+#: e2fsck/problem.c:1600
#, no-c-format
msgid "Error deallocating @i %i: %m\n"
msgstr "Error al liberar el @i %i: %m\n"
#. @-expanded: directory entry for '.' in %p (%i) is big.\n
-#: e2fsck/problem.c:1584
+#: e2fsck/problem.c:1606
#, no-c-format
msgid "@d @e for '.' in %p (%i) is big.\n"
msgstr "La @e del @d para '.' en %p (%i) es grande.\n"
#. @-expanded: inode %i (%Q) is an illegal FIFO.\n
-#: e2fsck/problem.c:1589
+#: e2fsck/problem.c:1611
msgid "@i %i (%Q) is an @I FIFO.\n"
msgstr "El @i %i (%Q) es un FIFO @I.\n"
#. @-expanded: inode %i (%Q) is an illegal socket.\n
-#: e2fsck/problem.c:1594
+#: e2fsck/problem.c:1616
msgid "@i %i (%Q) is an @I socket.\n"
msgstr "El @i %i (%Q) es un «socket» @I.\n"
#. @-expanded: Setting filetype for entry '%Dn' in %p (%i) to %N.\n
-#: e2fsck/problem.c:1599
+#: e2fsck/problem.c:1621
msgid "Setting filetype for @E to %N.\n"
msgstr "Se pone el tipo de fichero para la @E a %N.\n"
#. @-expanded: entry '%Dn' in %p (%i) has an incorrect filetype (was %Dt, should be %N).\n
-#: e2fsck/problem.c:1604
+#: e2fsck/problem.c:1626
msgid "@E has an incorrect filetype (was %Dt, @s %N).\n"
msgstr "La @E tiene un tipo de fichero incorrecto (era %Dt y @s %N).\n"
#. @-expanded: entry '%Dn' in %p (%i) has filetype set.\n
-#: e2fsck/problem.c:1609
+#: e2fsck/problem.c:1631
msgid "@E has filetype set.\n"
msgstr "La @E tiene puesto el tipo de fichero.\n"
#. @-expanded: entry '%Dn' in %p (%i) has a zero-length name.\n
-#: e2fsck/problem.c:1614
+#: e2fsck/problem.c:1636
msgid "@E has a @z name.\n"
msgstr "La @E tiene un nombre de @z.\n"
#. @-expanded: Symlink %Q (inode #%i) is invalid.\n
-#: e2fsck/problem.c:1619
+#: e2fsck/problem.c:1641
msgid "Symlink %Q (@i #%i) is @n.\n"
msgstr "El enlace simbólico %Q (@i #%i) es @n.\n"
#. @-expanded: extended attribute block for inode %i (%Q) is invalid (%If).\n
-#: e2fsck/problem.c:1624
+#: e2fsck/problem.c:1646
msgid "@a @b @F @n (%If).\n"
msgstr "El @b del @a @F es @n (%If).\n"
#. @-expanded: filesystem contains large files, but lacks LARGE_FILE flag in superblock.\n
-#: e2fsck/problem.c:1629
+#: e2fsck/problem.c:1651
msgid "@f contains large files, but lacks LARGE_FILE flag in @S.\n"
msgstr "El @f contiene ficheros grandes, pero no tiene la bandera LARGE_FILE en el @S.\n"
#. @-expanded: problem in HTREE directory inode %d: %B not referenced\n
-#: e2fsck/problem.c:1634
+#: e2fsck/problem.c:1656
msgid "@p @h %d: %B not referenced\n"
msgstr "Hay un @p el @h %d: %B no ha sido referenciado\n"
#. @-expanded: problem in HTREE directory inode %d: %B referenced twice\n
-#: e2fsck/problem.c:1639
+#: e2fsck/problem.c:1661
msgid "@p @h %d: %B referenced twice\n"
msgstr "Hay un @p el @h %d: %B ha sido referenciado dos veces\n"
#. @-expanded: problem in HTREE directory inode %d: %B has bad min hash\n
-#: e2fsck/problem.c:1644
+#: e2fsck/problem.c:1666
msgid "@p @h %d: %B has bad min hash\n"
msgstr "Hay un @en el @h %d: %B tiene un hash mínimo incorrecto\n"
#. @-expanded: problem in HTREE directory inode %d: %B has bad max hash\n
-#: e2fsck/problem.c:1649
+#: e2fsck/problem.c:1671
msgid "@p @h %d: %B has bad max hash\n"
msgstr "Hay un @p el @h %d: %B tiene un hash máximo incorrecto\n"
#. @-expanded: invalid HTREE directory inode %d (%q).
-#: e2fsck/problem.c:1654
+#: e2fsck/problem.c:1676
msgid "@n @h %d (%q). "
msgstr "El @h %d es @n (%q). "
#. @-expanded: problem in HTREE directory inode %d (%q): bad block number %b.\n
-#: e2fsck/problem.c:1658
+#: e2fsck/problem.c:1680
msgid "@p @h %d (%q): bad @b number %b.\n"
msgstr "Hay un @p el @h %d (%q): el número del @b %b es incorrecto.\n"
#. @-expanded: problem in HTREE directory inode %d: root node is invalid\n
-#: e2fsck/problem.c:1669
+#: e2fsck/problem.c:1691
#, no-c-format
msgid "@p @h %d: root node is @n\n"
msgstr "Hay un @p el @h %d: el nodo raíz es @n.\n"
#. @-expanded: problem in HTREE directory inode %d: %B has invalid limit (%N)\n
-#: e2fsck/problem.c:1674
+#: e2fsck/problem.c:1696
msgid "@p @h %d: %B has @n limit (%N)\n"
msgstr "Hay un @p el @h %d: %B tiene un límite @n (%N)\n"
#. @-expanded: problem in HTREE directory inode %d: %B has invalid count (%N)\n
-#: e2fsck/problem.c:1679
+#: e2fsck/problem.c:1701
msgid "@p @h %d: %B has @n count (%N)\n"
msgstr "Hay un @p el @h %d: %B tiene una cuenta @n (%N)\n"
#. @-expanded: problem in HTREE directory inode %d: %B has an unordered hash table\n
-#: e2fsck/problem.c:1684
+#: e2fsck/problem.c:1706
msgid "@p @h %d: %B has an unordered hash table\n"
msgstr "Hay un @p el @h %d: %B tiene una tabla de hash no ordenada\n"
#. @-expanded: problem in HTREE directory inode %d: %B has invalid depth (%N)\n
-#: e2fsck/problem.c:1689
+#: e2fsck/problem.c:1711
msgid "@p @h %d: %B has @n depth (%N)\n"
msgstr "Hay un @p el @h %d: %B tiene una profundidad que no es válida (%N)\n"
# '@E' o 'La @e', no 'La @E'. Ver: e2fsck/message.c:125
#. @-expanded: Duplicate entry '%Dn' in %p (%i) found.
-#: e2fsck/problem.c:1694
+#: e2fsck/problem.c:1716
msgid "Duplicate @E found. "
msgstr "@E está duplicada. "
# '@E' o 'La @e', no 'La @E'. Ver: e2fsck/message.c:125
#. @-expanded: entry '%Dn' in %p (%i) has a non-unique filename.\n
#. @-expanded: Rename to %s
-#: e2fsck/problem.c:1699
+#: e2fsck/problem.c:1721
#, no-c-format
msgid ""
"@E has a non-unique filename.\n"
@@ -2606,7 +2642,7 @@
#. @-expanded: Duplicate entry '%Dn' found.\n
#. @-expanded: \tMarking %p (%i) to be rebuilt.\n
#. @-expanded: \n
-#: e2fsck/problem.c:1704
+#: e2fsck/problem.c:1726
msgid ""
"Duplicate @e '%Dn' found.\n"
"\tMarking %p (%i) to be rebuilt.\n"
@@ -2617,158 +2653,164 @@
"\n"
#. @-expanded: i_blocks_hi for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1709
+#: e2fsck/problem.c:1731
msgid "i_blocks_hi @F %N, @s zero.\n"
msgstr "El i_blocks_hi @F %N, @s cero.\n"
#. @-expanded: Unexpected block in HTREE directory inode %d (%q).\n
-#: e2fsck/problem.c:1714
+#: e2fsck/problem.c:1736
msgid "Unexpected @b in @h %d (%q).\n"
msgstr "@b inesperado en el @h %d (%q).\n"
# '@E' o 'La @e', no 'La @E'. Ver: e2fsck/message.c:125
#. @-expanded: entry '%Dn' in %p (%i) references inode %Di in group %g where _INODE_UNINIT is set.\n
-#: e2fsck/problem.c:1719
+#: e2fsck/problem.c:1741
msgid "@E references @i %Di in @g %g where _INODE_UNINIT is set.\n"
msgstr "@E hace referencia al @i %Di del @g %g en el que _INODE_UNINIT está puesto.\n"
# '@E' o 'La @e', no 'La @E'. Ver: e2fsck/message.c:125
#. @-expanded: entry '%Dn' in %p (%i) references inode %Di found in group %g's unused inodes area.\n
-#: e2fsck/problem.c:1724
+#: e2fsck/problem.c:1746
msgid "@E references @i %Di found in @g %g's unused inodes area.\n"
msgstr "@E hace referencia al @i %Di encontrado en la zona de nodos-i no utilizados del @g %g.\n"
#. @-expanded: i_file_acl_hi for inode %i (%Q) is %N, should be zero.\n
-#: e2fsck/problem.c:1729
+#: e2fsck/problem.c:1751
msgid "i_file_acl_hi @F %N, @s zero.\n"
msgstr "El i_file_acl @F %N, @s cero.\n"
#. @-expanded: problem in HTREE directory inode %d: root node fails checksum.\n
-#: e2fsck/problem.c:1735
+#: e2fsck/problem.c:1757
#, no-c-format
msgid "@p @h %d: root node fails checksum.\n"
msgstr "Hay un @p el @h %d: falla la suma de comprobación del nodo raíz.\n"
#. @-expanded: problem in HTREE directory inode %d: internal node fails checksum.\n
-#: e2fsck/problem.c:1741
+#: e2fsck/problem.c:1763
#, no-c-format
msgid "@p @h %d: internal node fails checksum.\n"
msgstr "Hay un @p el @h %d: falla el «checksum» del nodo interno.\n"
#. @-expanded: directory inode %i, %B, offset %N: directory has no checksum.\n
-#: e2fsck/problem.c:1746
+#: e2fsck/problem.c:1768
msgid "@d @i %i, %B, offset %N: @d has no checksum.\n"
msgstr "El @i de @d %i, %B, desplazamiento %N: el @d no tiene «checksum».\n"
#. @-expanded: directory inode %i, %B: directory passes checks but fails checksum.\n
-#: e2fsck/problem.c:1751
+#: e2fsck/problem.c:1773
msgid "@d @i %i, %B: @d passes checks but fails checksum.\n"
msgstr "el @i de @d %i, %B: el @d pasa las comprobaciones pero falla el «checksum».\n"
#. @-expanded: Inline directory inode %i size (%N) must be a multiple of 4.\n
-#: e2fsck/problem.c:1756
+#: e2fsck/problem.c:1778
msgid "Inline @d @i %i size (%N) must be a multiple of 4.\n"
msgstr "El tamaño (%N) del @i de @d en línea %i debe ser múltiplo de 4.\n"
#. @-expanded: Fixing size of inline directory inode %i failed.\n
-#: e2fsck/problem.c:1762
+#: e2fsck/problem.c:1784
#, no-c-format
msgid "Fixing size of inline @d @i %i failed.\n"
msgstr "Fallo al reparar el tamaño del @i de @d en línea %i.\n"
# '@E' o 'La @e', no 'La @E'. Ver: e2fsck/message.c:125
#. @-expanded: Encrypted entry '%Dn' in %p (%i) is too short.\n
-#: e2fsck/problem.c:1767
+#: e2fsck/problem.c:1789
msgid "Encrypted @E is too short.\n"
msgstr "@E cifrada es demasiado corta.\n"
+# '@E' o 'La @e', no 'La @E'. Ver: e2fsck/message.c:125
+#. @-expanded: Duplicate filename entry '%Dn' in %p (%i) found.
+#: e2fsck/problem.c:1794
+msgid "Duplicate filename @E found. "
+msgstr "Nombre de fichero @E duplicado. "
+
#. @-expanded: Pass 3: Checking directory connectivity\n
-#: e2fsck/problem.c:1774
+#: e2fsck/problem.c:1801
msgid "Pass 3: Checking @d connectivity\n"
msgstr "Paso 3: Revisando la conectividad de directorios\n"
#. @-expanded: root inode not allocated.
-#: e2fsck/problem.c:1779
+#: e2fsck/problem.c:1806
msgid "@r not allocated. "
msgstr "El @r no ha sido reservado. "
#. @-expanded: No room in lost+found directory.
-#: e2fsck/problem.c:1784
+#: e2fsck/problem.c:1811
msgid "No room in @l @d. "
msgstr "No hay espacio en el @d @l. "
#. @-expanded: Unconnected directory inode %i (%p)\n
-#: e2fsck/problem.c:1790
+#: e2fsck/problem.c:1817
#, no-c-format
msgid "Unconnected @d @i %i (%p)\n"
msgstr "El @d del @i %i (%p) está desconectado\n"
#. @-expanded: /lost+found not found.
-#: e2fsck/problem.c:1795
+#: e2fsck/problem.c:1822
msgid "/@l not found. "
msgstr "No se encontró /@l. "
#. @-expanded: '..' in %Q (%i) is %P (%j), should be %q (%d).\n
-#: e2fsck/problem.c:1800
+#: e2fsck/problem.c:1827
msgid "'..' in %Q (%i) is %P (%j), @s %q (%d).\n"
msgstr "'..' en %Q (%i) es %P (%j) y debería ser %q (%d).\n"
#. @-expanded: Bad or non-existent /lost+found. Cannot reconnect.\n
-#: e2fsck/problem.c:1806
+#: e2fsck/problem.c:1833
#, no-c-format
msgid "Bad or non-existent /@l. Cannot reconnect.\n"
msgstr "El /@l no existe o está dañado. No se puede reconectar.\n"
#. @-expanded: Could not expand /lost+found: %m\n
-#: e2fsck/problem.c:1812
+#: e2fsck/problem.c:1839
#, no-c-format
msgid "Could not expand /@l: %m\n"
msgstr "No se puede expandir /@l: %m\n"
-#: e2fsck/problem.c:1818
+#: e2fsck/problem.c:1845
#, no-c-format
msgid "Could not reconnect %i: %m\n"
msgstr "No se puede reconectar %i: %m\n"
#. @-expanded: Error while trying to find /lost+found: %m\n
-#: e2fsck/problem.c:1824
+#: e2fsck/problem.c:1851
#, no-c-format
msgid "Error while trying to find /@l: %m\n"
msgstr "Error mientras se intentaba encontrar /@l: %m\n"
#. @-expanded: ext2fs_new_block: %m while trying to create /lost+found directory\n
-#: e2fsck/problem.c:1830
+#: e2fsck/problem.c:1857
#, no-c-format
msgid "ext2fs_new_@b: %m while trying to create /@l @d\n"
msgstr "ext2fs_new_block: %m mientras se intentaba crear el @d /@l.\n"
#. @-expanded: ext2fs_new_inode: %m while trying to create /lost+found directory\n
-#: e2fsck/problem.c:1836
+#: e2fsck/problem.c:1863
#, no-c-format
msgid "ext2fs_new_@i: %m while trying to create /@l @d\n"
msgstr "ext2fs_new_inode: %m cuando se intentaba crear el @d /@l.\n"
#. @-expanded: ext2fs_new_dir_block: %m while creating new directory block\n
-#: e2fsck/problem.c:1842
+#: e2fsck/problem.c:1869
#, no-c-format
msgid "ext2fs_new_dir_@b: %m while creating new @d @b\n"
msgstr "ext2fs_new_dir_block: %m mientras se creaba un nuevo @b de @d.\n"
#. @-expanded: ext2fs_write_dir_block: %m while writing the directory block for /lost+found\n
-#: e2fsck/problem.c:1848
+#: e2fsck/problem.c:1875
#, no-c-format
msgid "ext2fs_write_dir_@b: %m while writing the @d @b for /@l\n"
msgstr "ext2fs_write_dir_block: %m mientras se escribía el @b de @d para /@l\n"
#. @-expanded: Error while adjusting inode count on inode %i\n
-#: e2fsck/problem.c:1854
+#: e2fsck/problem.c:1881
#, no-c-format
msgid "Error while adjusting @i count on @i %i\n"
msgstr "Error mientras se ajustaba la cuenta del @i en el @i %i\n"
#. @-expanded: Couldn't fix parent of inode %i: %m\n
#. @-expanded: \n
-#: e2fsck/problem.c:1860
+#: e2fsck/problem.c:1887
#, no-c-format
msgid ""
"Couldn't fix parent of @i %i: %m\n"
@@ -2782,7 +2824,7 @@
# Hay alguna regla que se me escape? mm
#. @-expanded: Couldn't fix parent of inode %i: Couldn't find parent directory entry\n
#. @-expanded: \n
-#: e2fsck/problem.c:1866
+#: e2fsck/problem.c:1893
#, no-c-format
msgid ""
"Couldn't fix parent of @i %i: Couldn't find parent @d @e\n"
@@ -2792,42 +2834,42 @@
"\n"
#. @-expanded: Error creating root directory (%s): %m\n
-#: e2fsck/problem.c:1877
+#: e2fsck/problem.c:1904
#, no-c-format
msgid "Error creating root @d (%s): %m\n"
msgstr "Error al crear el @d raíz (%s): %m\n"
#. @-expanded: Error creating /lost+found directory (%s): %m\n
-#: e2fsck/problem.c:1883
+#: e2fsck/problem.c:1910
#, no-c-format
msgid "Error creating /@l @d (%s): %m\n"
msgstr "Error al crear el @d /@l (%s): %m\n"
#. @-expanded: root inode is not a directory; aborting.\n
-#: e2fsck/problem.c:1888
+#: e2fsck/problem.c:1915
msgid "@r is not a @d; aborting.\n"
msgstr "El @r no es un @d; se finaliza la operación.\n"
#. @-expanded: Cannot proceed without a root inode.\n
-#: e2fsck/problem.c:1893
+#: e2fsck/problem.c:1920
msgid "Cannot proceed without a @r.\n"
msgstr "No se puede proceder sin un @r.\n"
#. @-expanded: /lost+found is not a directory (ino=%i)\n
-#: e2fsck/problem.c:1904
+#: e2fsck/problem.c:1931
#, no-c-format
msgid "/@l is not a @d (ino=%i)\n"
msgstr "/@l no es un @d (ino=%i)\n"
#. @-expanded: /lost+found has inline data\n
-#: e2fsck/problem.c:1909
+#: e2fsck/problem.c:1936
msgid "/@l has inline data\n"
msgstr "/@l tiene datos en línea\n"
# Parece que habría que redactarlo como una orden: Coloque los ficheros perdidos en el directorio raíz
#. @-expanded: Cannot allocate space for /lost+found.\n
#. @-expanded: Place lost files in root directory instead
-#: e2fsck/problem.c:1914
+#: e2fsck/problem.c:1941
msgid ""
"Cannot allocate space for /@l.\n"
"Place lost files in root directory instead"
@@ -2838,7 +2880,7 @@
#. @-expanded: Insufficient space to recover lost files!\n
#. @-expanded: Move data off the filesystem and re-run e2fsck.\n
#. @-expanded: \n
-#: e2fsck/problem.c:1919
+#: e2fsck/problem.c:1946
msgid ""
"Insufficient space to recover lost files!\n"
"Move data off the @f and re-run e2fsck.\n"
@@ -2848,52 +2890,52 @@
"Saque datos fuera del @f y ejecute otra vez e2fsck.\n"
#. @-expanded: /lost+found is encrypted\n
-#: e2fsck/problem.c:1924
+#: e2fsck/problem.c:1951
msgid "/@l is encrypted\n"
msgstr "/@l está cifrado\n"
-#: e2fsck/problem.c:1931
+#: e2fsck/problem.c:1958
msgid "Pass 3A: Optimizing directories\n"
msgstr "Paso 3A: Optimizando directorios\n"
-#: e2fsck/problem.c:1937
+#: e2fsck/problem.c:1964
#, no-c-format
msgid "Failed to create dirs_to_hash iterator: %m\n"
msgstr "Fallo al crear el iterador dirs_to_hash: %m\n"
-#: e2fsck/problem.c:1942
+#: e2fsck/problem.c:1969
msgid "Failed to optimize directory %q (%d): %m\n"
msgstr "Fallo al optimizar el directorio %q (%d): %m\n"
-#: e2fsck/problem.c:1947
+#: e2fsck/problem.c:1974
msgid "Optimizing directories: "
msgstr "Optimizando directorios: "
-#: e2fsck/problem.c:1964
+#: e2fsck/problem.c:1991
msgid "Pass 4: Checking reference counts\n"
msgstr "Paso 4: Revisando las cuentas de referencia\n"
#. @-expanded: unattached zero-length inode %i.
-#: e2fsck/problem.c:1970
+#: e2fsck/problem.c:1997
#, no-c-format
msgid "@u @z @i %i. "
msgstr "@i %i que tiene @z está @u. "
#. @-expanded: unattached inode %i\n
-#: e2fsck/problem.c:1976
+#: e2fsck/problem.c:2003
#, no-c-format
msgid "@u @i %i\n"
msgstr "el @i %i está @u\n"
#. @-expanded: inode %i ref count is %Il, should be %N.
-#: e2fsck/problem.c:1981
+#: e2fsck/problem.c:2008
msgid "@i %i ref count is %Il, @s %N. "
msgstr "La cuenta de referencia del @i %i es %Il, y @s %N. "
#. @-expanded: WARNING: PROGRAMMING BUG IN E2FSCK!\n
#. @-expanded: \tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n
#. @-expanded: inode_link_info[%i] is %N, inode.i_links_count is %Il. They should be the same!\n
-#: e2fsck/problem.c:1985
+#: e2fsck/problem.c:2012
msgid ""
"WARNING: PROGRAMMING BUG IN E2FSCK!\n"
"\tOR SOME BONEHEAD (YOU) IS CHECKING A MOUNTED (LIVE) FILESYSTEM.\n"
@@ -2904,146 +2946,151 @@
"inode_link_info[%i] es %N, inode.i_links_count es %Il. ¡Y deberían ser el mismo!\n"
#. @-expanded: extended attribute inode %i ref count is %N, should be %n.
-#: e2fsck/problem.c:1992
+#: e2fsck/problem.c:2019
msgid "@a @i %i ref count is %N, @s %n. "
msgstr "La cuenta de referencia del @a @i %i es %N, y @s %n. "
#. @-expanded: directory exceeds max links, but no DIR_NLINK feature in superblock.\n
-#: e2fsck/problem.c:1997
+#: e2fsck/problem.c:2024
msgid "@d exceeds max links, but no DIR_NLINK feature in @S.\n"
msgstr "El @d excede el número máximo de enlaces, pero no hay característica DIR_NLINK en el @S.\n"
+#. @-expanded: directory inode %i ref count set to overflow but could be exact value %N.
+#: e2fsck/problem.c:2029
+msgid "@d @i %i ref count set to overflow but could be exact value %N. "
+msgstr "La cuenta de referencia del @d @i %i está puesta a desbordamiento pero podría ser el valor exacto %N. "
+
#. @-expanded: Pass 5: Checking group summary information\n
-#: e2fsck/problem.c:2004
+#: e2fsck/problem.c:2036
msgid "Pass 5: Checking @g summary information\n"
msgstr "Paso 5: Revisando el resumen de información de grupos\n"
#. @-expanded: Padding at end of inode bitmap is not set.
-#: e2fsck/problem.c:2009
+#: e2fsck/problem.c:2041
msgid "Padding at end of @i @B is not set. "
msgstr "No está puesto el relleno al final del @B del @i. "
#. @-expanded: Padding at end of block bitmap is not set.
-#: e2fsck/problem.c:2014
+#: e2fsck/problem.c:2046
msgid "Padding at end of @b @B is not set. "
msgstr "No está puesto el relleno al final del @B del @b. "
#. @-expanded: block bitmap differences:
-#: e2fsck/problem.c:2019
+#: e2fsck/problem.c:2051
msgid "@b @B differences: "
msgstr "Diferencias del @B del @b: "
#. @-expanded: inode bitmap differences:
-#: e2fsck/problem.c:2041
+#: e2fsck/problem.c:2073
msgid "@i @B differences: "
msgstr "Diferencias del @B del @i: "
#. @-expanded: Free inodes count wrong for group #%g (%i, counted=%j).\n
-#: e2fsck/problem.c:2063
+#: e2fsck/problem.c:2095
msgid "Free @is count wrong for @g #%g (%i, counted=%j).\n"
msgstr "La cuenta de nodos-i libres es incorrecta para el @g #%g (%i, contados=%j).\n"
#. @-expanded: Directories count wrong for group #%g (%i, counted=%j).\n
-#: e2fsck/problem.c:2068
+#: e2fsck/problem.c:2100
msgid "Directories count wrong for @g #%g (%i, counted=%j).\n"
msgstr "La cuenta de directorios es incorrecta para @g #%g (%i, contados=%j).\n"
#. @-expanded: Free inodes count wrong (%i, counted=%j).\n
-#: e2fsck/problem.c:2073
+#: e2fsck/problem.c:2105
msgid "Free @is count wrong (%i, counted=%j).\n"
msgstr "La cuenta de nodos-i libres es incorrecta (%i, contados=%j).\n"
#. @-expanded: Free blocks count wrong for group #%g (%b, counted=%c).\n
-#: e2fsck/problem.c:2078
+#: e2fsck/problem.c:2110
msgid "Free @bs count wrong for @g #%g (%b, counted=%c).\n"
msgstr "La cuenta de @bs libres es incorrecta para el @g #%g (%b, contados=%c).\n"
#. @-expanded: Free blocks count wrong (%b, counted=%c).\n
-#: e2fsck/problem.c:2083
+#: e2fsck/problem.c:2115
msgid "Free @bs count wrong (%b, counted=%c).\n"
msgstr "La cuenta de @bs libres es incorrecta (%b, contados=%c).\n"
#. @-expanded: PROGRAMMING ERROR: filesystem (#%N) bitmap endpoints (%b, %c) don't match calculated bitmap
#. @-expanded: endpoints (%i, %j)\n
-#: e2fsck/problem.c:2088
+#: e2fsck/problem.c:2120
msgid "PROGRAMMING ERROR: @f (#%N) @B endpoints (%b, %c) don't match calculated @B endpoints (%i, %j)\n"
msgstr "ERROR DE PROGRAMACIÓN: los puntos finales del %B (%b, %c) del @f (#%N) no coinciden con los puntos finales del @B calculados (%i, %j)\n"
-#: e2fsck/problem.c:2094
+#: e2fsck/problem.c:2126
msgid "Internal error: fudging end of bitmap (%N)\n"
msgstr "Error interno: el final del bitmap (%N) no tiene sentido\n"
#. @-expanded: Error copying in replacement inode bitmap: %m\n
-#: e2fsck/problem.c:2100
+#: e2fsck/problem.c:2132
#, no-c-format
msgid "Error copying in replacement @i @B: %m\n"
msgstr "Error al copiar el reemplazo del @i @B: %m\n"
#. @-expanded: Error copying in replacement block bitmap: %m\n
-#: e2fsck/problem.c:2106
+#: e2fsck/problem.c:2138
#, no-c-format
msgid "Error copying in replacement @b @B: %m\n"
msgstr "Error al copiar el reemplazo del @b @B: %m\n"
#. @-expanded: group %g block(s) in use but group is marked BLOCK_UNINIT\n
-#: e2fsck/problem.c:2136
+#: e2fsck/problem.c:2168
#, no-c-format
msgid "@g %g @b(s) in use but @g is marked BLOCK_UNINIT\n"
msgstr "El(los) @b(s) del @g %g está(n) en uso, pero el grupo está etiquetado como BLOCK_UNINIT\n"
#. @-expanded: group %g inode(s) in use but group is marked INODE_UNINIT\n
-#: e2fsck/problem.c:2142
+#: e2fsck/problem.c:2174
#, no-c-format
msgid "@g %g @i(s) in use but @g is marked INODE_UNINIT\n"
msgstr "El(los) nodo(s)-i del @g %g está(n) en uso, pero el grupo está etiquetado como INODE_UNINIT\n"
#. @-expanded: group %g inode bitmap does not match checksum.\n
-#: e2fsck/problem.c:2148
+#: e2fsck/problem.c:2180
#, no-c-format
msgid "@g %g @i @B does not match checksum.\n"
msgstr "El @B del @i del @g %g no concuerda con el «checksum».\n"
#. @-expanded: group %g block bitmap does not match checksum.\n
-#: e2fsck/problem.c:2154
+#: e2fsck/problem.c:2186
#, no-c-format
msgid "@g %g @b @B does not match checksum.\n"
msgstr "El @B del @b del @g %g no concuerda con el «checksum».\n"
#. @-expanded: Recreate journal
-#: e2fsck/problem.c:2161
+#: e2fsck/problem.c:2193
msgid "Recreate @j"
msgstr "Vuelva a crear el @j"
-#: e2fsck/problem.c:2166
+#: e2fsck/problem.c:2198
msgid "Update quota info for quota type %N"
msgstr "Actualizar la información de cuota para el tipo de cuota %N"
#. @-expanded: Error setting block group checksum info: %m\n
-#: e2fsck/problem.c:2172
+#: e2fsck/problem.c:2204
#, no-c-format
msgid "Error setting @b @g checksum info: %m\n"
msgstr "Error al poner la información de «checksum» del grupo de bloques: %m\n"
-#: e2fsck/problem.c:2178
+#: e2fsck/problem.c:2210
#, no-c-format
msgid "Error writing file system info: %m\n"
msgstr "Error al escribir la información del sistema de ficheros: %m\n"
-#: e2fsck/problem.c:2184
+#: e2fsck/problem.c:2216
#, no-c-format
msgid "Error flushing writes to storage device: %m\n"
msgstr "Error al hacer efectivas las escrituras en el dispositivo de almacenamiento: %m\n"
-#: e2fsck/problem.c:2189
+#: e2fsck/problem.c:2221
msgid "Error writing quota info for quota type %N: %m\n"
msgstr "Error al escribir la información de cuota para el tipo de cuota %N: %m\n"
-#: e2fsck/problem.c:2352
+#: e2fsck/problem.c:2384
#, c-format
msgid "Unhandled error code (0x%x)!\n"
msgstr "¡Código de error no previsto (0x%x)!\n"
-#: e2fsck/problem.c:2482 e2fsck/problem.c:2486
+#: e2fsck/problem.c:2514 e2fsck/problem.c:2518
msgid "IGNORED"
msgstr "SE IGNORA"
@@ -3053,8 +3100,8 @@
#: e2fsck/scantest.c:79
#, c-format
-msgid "Memory used: %d, elapsed time: %6.3f/%6.3f/%6.3f\n"
-msgstr "Memoria utilizada: %d, tiempo transcurrido: %6.3f/%6.3f/%6.3f\n"
+msgid "Memory used: %lu, elapsed time: %6.3f/%6.3f/%6.3f\n"
+msgstr "Memoria utilizada: %lu, tiempo transcurrido: %6.3f/%6.3f/%6.3f\n"
#: e2fsck/scantest.c:98
#, c-format
@@ -3287,8 +3334,8 @@
msgstr[0] "%12u fichero\n"
msgstr[1] "%12u ficheros\n"
-#: e2fsck/unix.c:238 misc/badblocks.c:1002 misc/tune2fs.c:2986 misc/util.c:129
-#: resize/main.c:354
+#: e2fsck/unix.c:238 misc/badblocks.c:1002 misc/tune2fs.c:3072 misc/util.c:129
+#: resize/main.c:356
#, c-format
msgid "while determining whether %s is mounted."
msgstr "mientras se determinaba si %s está montado."
@@ -3461,7 +3508,7 @@
msgstr "La opción -t no está implementada en esta versión de e2fsck.\n"
#: e2fsck/unix.c:934 e2fsck/unix.c:1012 misc/e2initrd_helper.c:330
-#: misc/tune2fs.c:1695 misc/tune2fs.c:1990 misc/tune2fs.c:2008
+#: misc/tune2fs.c:1721 misc/tune2fs.c:2016 misc/tune2fs.c:2034
#, c-format
msgid "Unable to resolve '%s'"
msgstr "No es posible resolver '%s'"
@@ -3533,8 +3580,8 @@
msgstr "mientras se leía el bloque MMP"
#: e2fsck/unix.c:1302 e2fsck/unix.c:1354 misc/e2undo.c:236 misc/e2undo.c:281
-#: misc/mke2fs.c:2696 misc/mke2fs.c:2747 misc/tune2fs.c:2713
-#: misc/tune2fs.c:2758 resize/main.c:188 resize/main.c:233
+#: misc/mke2fs.c:2708 misc/mke2fs.c:2759 misc/tune2fs.c:2798
+#: misc/tune2fs.c:2843 resize/main.c:188 resize/main.c:233
#, c-format
msgid ""
"Overwriting existing filesystem; this can be undone using the command:\n"
@@ -3545,13 +3592,13 @@
" e2undo %s %s\n"
"\n"
-#: e2fsck/unix.c:1343 misc/e2undo.c:270 misc/mke2fs.c:2736 misc/tune2fs.c:2747
+#: e2fsck/unix.c:1343 misc/e2undo.c:270 misc/mke2fs.c:2748 misc/tune2fs.c:2832
#: resize/main.c:222
#, c-format
msgid "while trying to delete %s"
msgstr "mientras se intentaba borrar %s"
-#: e2fsck/unix.c:1369 misc/mke2fs.c:2762 resize/main.c:243
+#: e2fsck/unix.c:1369 misc/mke2fs.c:2774 resize/main.c:243
msgid "while trying to setup undo file\n"
msgstr "mientras se intentaba configurar el fichero de anulación\n"
@@ -3648,68 +3695,68 @@
msgid "Get a newer version of e2fsck!"
msgstr "¡Consiga una versión más moderna de e2fsck!"
-#: e2fsck/unix.c:1749
+#: e2fsck/unix.c:1748
#, c-format
msgid "while checking journal for %s"
msgstr "mientras se revisaba el fichero de transacciones para %s"
-#: e2fsck/unix.c:1752
+#: e2fsck/unix.c:1751
msgid "Cannot proceed with file system check"
msgstr "No se puede proceder con la comprobación del sistema de ficheros"
-#: e2fsck/unix.c:1763
+#: e2fsck/unix.c:1762
msgid "Warning: skipping journal recovery because doing a read-only filesystem check.\n"
msgstr "Atención: se omitirá la recuperación del fichero de transacciones debido a que se está haciendo una revisión de sólo lectura del sistema de ficheros.\n"
-#: e2fsck/unix.c:1775
+#: e2fsck/unix.c:1774
#, c-format
msgid "unable to set superblock flags on %s\n"
msgstr "no es posible poner las banderas de superbloque en %s\n"
-#: e2fsck/unix.c:1781
+#: e2fsck/unix.c:1780
#, c-format
msgid "Journal checksum error found in %s\n"
msgstr "Se ha encontrado un error en el fichero de transacciones en %s\n"
-#: e2fsck/unix.c:1785
+#: e2fsck/unix.c:1784
#, c-format
msgid "Journal corrupted in %s\n"
msgstr "Fichero de transacciones corrupto en %s\n"
-#: e2fsck/unix.c:1789
+#: e2fsck/unix.c:1788
#, c-format
msgid "while recovering journal of %s"
msgstr "mientras se recuperaba el fichero de transacciones de %s"
-#: e2fsck/unix.c:1811
+#: e2fsck/unix.c:1810
#, c-format
msgid "%s has unsupported feature(s):"
msgstr "%s tiene características no implementadas:"
-#: e2fsck/unix.c:1826
+#: e2fsck/unix.c:1825
#, c-format
msgid "%s has unsupported encoding: %0x\n"
msgstr "%s tiene una codificación no implementada: %0x\n"
-#: e2fsck/unix.c:1876
+#: e2fsck/unix.c:1875
#, c-format
msgid "%s: %s while reading bad blocks inode\n"
msgstr "%s: %s mientras se leía el nodo-i de los bloques dañados\n"
-#: e2fsck/unix.c:1879
+#: e2fsck/unix.c:1878
msgid "This doesn't bode well, but we'll try to go on...\n"
msgstr "Esto no se ve muy bien, pero se intentará continuar...\n"
-#: e2fsck/unix.c:1919
+#: e2fsck/unix.c:1918
#, c-format
msgid "Creating journal (%d blocks): "
msgstr "Creando el fichero de transacciones (%d bloques): "
-#: e2fsck/unix.c:1929
+#: e2fsck/unix.c:1928
msgid " Done.\n"
msgstr " Hecho.\n"
-#: e2fsck/unix.c:1931
+#: e2fsck/unix.c:1930
msgid ""
"\n"
"*** journal has been regenerated ***\n"
@@ -3717,24 +3764,24 @@
"\n"
"*** el fichero de transacciones se ha regenerado ***\n"
-#: e2fsck/unix.c:1937
+#: e2fsck/unix.c:1936
msgid "aborted"
msgstr "finalizado"
-#: e2fsck/unix.c:1939
+#: e2fsck/unix.c:1938
#, c-format
msgid "%s: e2fsck canceled.\n"
msgstr "%s: se cancela e2fsck.\n"
-#: e2fsck/unix.c:1966
+#: e2fsck/unix.c:1965
msgid "Restarting e2fsck from the beginning...\n"
msgstr "Se reinicia e2fsck desde el principio...\n"
-#: e2fsck/unix.c:1970
+#: e2fsck/unix.c:1969
msgid "while resetting context"
msgstr "mientras se reajusta el contexto"
-#: e2fsck/unix.c:2029
+#: e2fsck/unix.c:2028
#, c-format
msgid ""
"\n"
@@ -3743,12 +3790,12 @@
"\n"
"%s: ***** ERRORES CORREGIDOS DEL SISTEMA DE FICHEROS *****\n"
-#: e2fsck/unix.c:2031
+#: e2fsck/unix.c:2030
#, c-format
msgid "%s: File system was modified.\n"
msgstr "%s: El sistema de ficheros se ha modificado.\n"
-#: e2fsck/unix.c:2035 e2fsck/util.c:71
+#: e2fsck/unix.c:2034 e2fsck/util.c:71
#, c-format
msgid ""
"\n"
@@ -3757,12 +3804,12 @@
"\n"
"%s: ***** EL SISTEMA DE FICHEROS FUE MODIFICADO *****\n"
-#: e2fsck/unix.c:2040
+#: e2fsck/unix.c:2039
#, c-format
msgid "%s: ***** REBOOT SYSTEM *****\n"
msgstr "%s: ***** REINICIE EL SISTEMA *****\n"
-#: e2fsck/unix.c:2050 e2fsck/util.c:77
+#: e2fsck/unix.c:2049 e2fsck/util.c:77
#, c-format
msgid ""
"\n"
@@ -3773,51 +3820,51 @@
"%s: ********** ATENCIÓN: El sistema de ficheros todavía tiene errores ***********\n"
"\n"
-#: e2fsck/util.c:196 misc/util.c:93
+#: e2fsck/util.c:195 misc/util.c:93
msgid "yY"
msgstr "sS"
-#: e2fsck/util.c:197 misc/util.c:112
+#: e2fsck/util.c:196 misc/util.c:112
msgid "nN"
msgstr "nN"
-#: e2fsck/util.c:198
+#: e2fsck/util.c:197
msgid "aA"
msgstr "tT"
-#: e2fsck/util.c:202
+#: e2fsck/util.c:201
msgid " ('a' enables 'yes' to all) "
msgstr " ('t' aplica 'sí' a todo) "
-#: e2fsck/util.c:219
+#: e2fsck/util.c:218
msgid "<y>"
msgstr "<s>"
-#: e2fsck/util.c:221
+#: e2fsck/util.c:220
msgid "<n>"
msgstr "<n>"
-#: e2fsck/util.c:223
+#: e2fsck/util.c:222
msgid " (y/n)"
msgstr " (s/n)"
-#: e2fsck/util.c:246
+#: e2fsck/util.c:245
msgid "cancelled!\n"
msgstr "¡cancelado!\n"
-#: e2fsck/util.c:279
+#: e2fsck/util.c:278
msgid "yes to all\n"
msgstr "sí a todo\n"
-#: e2fsck/util.c:281
+#: e2fsck/util.c:280
msgid "yes\n"
msgstr "sí\n"
-#: e2fsck/util.c:283
+#: e2fsck/util.c:282
msgid "no\n"
msgstr "no\n"
-#: e2fsck/util.c:293
+#: e2fsck/util.c:292
#, c-format
msgid ""
"%s? no\n"
@@ -3826,7 +3873,7 @@
"¿%s? no\n"
"\n"
-#: e2fsck/util.c:297
+#: e2fsck/util.c:296
#, c-format
msgid ""
"%s? yes\n"
@@ -3835,38 +3882,38 @@
"¿%s? sí\n"
"\n"
-#: e2fsck/util.c:301
+#: e2fsck/util.c:300
msgid "yes"
msgstr "sí"
-#: e2fsck/util.c:301
+#: e2fsck/util.c:300
msgid "no"
msgstr "no"
-#: e2fsck/util.c:317
+#: e2fsck/util.c:316
#, c-format
msgid "e2fsck_read_bitmaps: illegal bitmap block(s) for %s"
msgstr "e2fsck_read_bitmaps: bloque(s) no válido(s) de mapas de bits para %s"
-#: e2fsck/util.c:322
+#: e2fsck/util.c:321
msgid "reading inode and block bitmaps"
msgstr "leyendo los mapas de bits del nodo-i y del bloque"
-#: e2fsck/util.c:334
+#: e2fsck/util.c:333
#, c-format
msgid "while retrying to read bitmaps for %s"
msgstr "mientras se intentaban leer los mapas de bits para %s"
-#: e2fsck/util.c:346
+#: e2fsck/util.c:345
msgid "writing block and inode bitmaps"
msgstr "escribiendo los mapas de bits del bloque y del nodo-i"
-#: e2fsck/util.c:351
+#: e2fsck/util.c:350
#, c-format
msgid "while rewriting block and inode bitmaps for %s"
msgstr "mientras se reescribían los mapas de bits de bloques y de nodos-i para %s"
-#: e2fsck/util.c:363
+#: e2fsck/util.c:362
#, c-format
msgid ""
"\n"
@@ -3879,37 +3926,37 @@
"%s: INCONSISTENCIA INESPERADA; EJECUTE fsck MANUALMENTE.\n"
"(i.e., sin las opciones -a o -p)\n"
-#: e2fsck/util.c:444
+#: e2fsck/util.c:442
#, c-format
-msgid "Memory used: %luk/%luk (%luk/%luk), "
-msgstr "Memoria utilizada: %luk/%luk (%luk/%luk), "
+msgid "Memory used: %lluk/%lluk (%lluk/%lluk), "
+msgstr "Memoria utilizada: %lluk/%lluk (%lluk/%lluk), "
#: e2fsck/util.c:448
#, c-format
-msgid "Memory used: %lu, "
-msgstr "Memoria utilizada: %lu, "
+msgid "Memory used: %lluk, "
+msgstr "Memoria utilizada: %lluk, "
-#: e2fsck/util.c:455
+#: e2fsck/util.c:454
#, c-format
msgid "time: %5.2f/%5.2f/%5.2f\n"
msgstr "fecha: %5.2f/%5.2f/%5.2f\n"
-#: e2fsck/util.c:460
+#: e2fsck/util.c:459
#, c-format
msgid "elapsed time: %6.3f\n"
msgstr "tiempo transcurrido: %6.3f\n"
-#: e2fsck/util.c:495 e2fsck/util.c:509
+#: e2fsck/util.c:494 e2fsck/util.c:508
#, c-format
msgid "while reading inode %lu in %s"
msgstr "mientras se leía el nodo-i %lu en %s"
-#: e2fsck/util.c:523 e2fsck/util.c:536
+#: e2fsck/util.c:522 e2fsck/util.c:535
#, c-format
msgid "while writing inode %lu in %s"
msgstr "mientras se escribía el nodo-i %lu en %s"
-#: e2fsck/util.c:792
+#: e2fsck/util.c:793
msgid "UNEXPECTED INCONSISTENCY: the filesystem is being modified while fsck is running.\n"
msgstr "INCONSISTENCIA INESPERADA: se está modificando el sistema de ficheros mientras fsck está corriendo.\n"
@@ -4119,68 +4166,68 @@
#: misc/chattr.c:89
#, c-format
-msgid "Usage: %s [-pRVf] [-+=aAcCdDeijPsStTuF] [-v version] files...\n"
-msgstr "Modo de empleo: %s [-pRVf] [-+=aAcCdDeijPsStTuF] [-v versión] ficheros...\n"
+msgid "Usage: %s [-pRVf] [-+=aAcCdDeijPsStTuFx] [-v version] files...\n"
+msgstr "Modo de empleo: %s [-pRVf] [-+=aAcCdDeijPsStTuFx] [-v versión] ficheros...\n"
-#: misc/chattr.c:160
+#: misc/chattr.c:161
#, c-format
msgid "bad project - %s\n"
msgstr "proyecto incorrecto - %s\n"
-#: misc/chattr.c:174
+#: misc/chattr.c:175
#, c-format
msgid "bad version - %s\n"
msgstr "versión incorrecta - %s\n"
-#: misc/chattr.c:220 misc/lsattr.c:127
+#: misc/chattr.c:221 misc/lsattr.c:127
#, c-format
msgid "while trying to stat %s"
msgstr "mientras se intentaba ver el estado del fichero %s"
-#: misc/chattr.c:227
+#: misc/chattr.c:228
#, c-format
msgid "while reading flags on %s"
msgstr "mientras se estaban leyendo las banderas en %s"
-#: misc/chattr.c:232 misc/chattr.c:244
+#: misc/chattr.c:233 misc/chattr.c:245
#, c-format
msgid "Flags of %s set as "
msgstr "Las banderas de %s están puestas como "
-#: misc/chattr.c:253
+#: misc/chattr.c:254
#, c-format
msgid "while setting flags on %s"
msgstr "mientras se ponían las banderas en %s"
-#: misc/chattr.c:261
+#: misc/chattr.c:262
#, c-format
msgid "Version of %s set as %lu\n"
msgstr "La versión de %s está puesta como %lu\n"
-#: misc/chattr.c:265
+#: misc/chattr.c:266
#, c-format
msgid "while setting version on %s"
msgstr "mientras se estaba poniendo la versión en %s"
-#: misc/chattr.c:272
+#: misc/chattr.c:273
#, c-format
msgid "Project of %s set as %lu\n"
msgstr "El proyecto de %s está puesto como %lu\n"
-#: misc/chattr.c:276
+#: misc/chattr.c:277
#, c-format
msgid "while setting project on %s"
msgstr "mientras se estaba poniendo el proyecto en %s"
-#: misc/chattr.c:298
+#: misc/chattr.c:299
msgid "Couldn't allocate path variable in chattr_dir_proc"
msgstr "No se puede reservar la variable de ruta en chattr_dir_proc"
-#: misc/chattr.c:338
+#: misc/chattr.c:339
msgid "= is incompatible with - and +\n"
msgstr "= es incompatible con - y +\n"
-#: misc/chattr.c:346
+#: misc/chattr.c:347
msgid "Must use '-v', =, - or +\n"
msgstr "Se debe usar '-v', =, - o +\n"
@@ -4189,8 +4236,8 @@
msgid "while reading inode %u"
msgstr "mientras se leía el nodo-i %u"
-#: misc/create_inode.c:90 misc/create_inode.c:288 misc/create_inode.c:353
-#: misc/create_inode.c:391
+#: misc/create_inode.c:90 misc/create_inode.c:290 misc/create_inode.c:355
+#: misc/create_inode.c:393
msgid "while expanding directory"
msgstr "mientras se expandía el directorio"
@@ -4199,143 +4246,147 @@
msgid "while linking \"%s\""
msgstr "mientras se enlazaba \"%s\""
-#: misc/create_inode.c:105 misc/create_inode.c:132 misc/create_inode.c:322
+#: misc/create_inode.c:105 misc/create_inode.c:134 misc/create_inode.c:324
#, c-format
msgid "while writing inode %u"
msgstr "mientras se escribía el nodo-i %u"
-#: misc/create_inode.c:152 misc/create_inode.c:176
+#: misc/create_inode.c:154 misc/create_inode.c:178
#, c-format
msgid "while listing attributes of \"%s\""
msgstr "mientras se listaban los atributos de \"%s\""
-#: misc/create_inode.c:163
+#: misc/create_inode.c:165
#, c-format
msgid "while opening inode %u"
msgstr "mientras se abría el nodo-i %u"
-#: misc/create_inode.c:169 misc/create_inode.c:196 misc/create_inode.c:1043
+#: misc/create_inode.c:171 misc/create_inode.c:198 misc/create_inode.c:1045
#: misc/e2undo.c:182 misc/e2undo.c:479 misc/e2undo.c:485 misc/e2undo.c:491
#: misc/mke2fs.c:359
msgid "while allocating memory"
msgstr "mientras se reservaba memoria"
-#: misc/create_inode.c:189 misc/create_inode.c:205
+#: misc/create_inode.c:191 misc/create_inode.c:207
#, c-format
msgid "while reading attribute \"%s\" of \"%s\""
msgstr "mientras se estaban leyendo los atributos \"%s\" de \"%s\""
-#: misc/create_inode.c:214
+#: misc/create_inode.c:216
#, c-format
msgid "while writing attribute \"%s\" to inode %u"
msgstr "mientras se escribía el atributo \"%s\" del nodo-i %u"
-#: misc/create_inode.c:224
+#: misc/create_inode.c:226
#, c-format
msgid "while closing inode %u"
msgstr "mientras se cerraba el nodo-i %u"
-#: misc/create_inode.c:275
+#: misc/create_inode.c:277
#, c-format
msgid "while allocating inode \"%s\""
msgstr "mientras se reservaba al nodo-i \"%s\""
-#: misc/create_inode.c:294
+#: misc/create_inode.c:296
#, c-format
msgid "while creating inode \"%s\""
msgstr "mientras se creaba el nodo-i \"%s\""
-#: misc/create_inode.c:360
+#: misc/create_inode.c:362
#, c-format
msgid "while creating symlink \"%s\""
msgstr "mientras se creaba el enlace simbólico \"%s\""
-#: misc/create_inode.c:378 misc/create_inode.c:963
+#: misc/create_inode.c:380 misc/create_inode.c:965
#, c-format
msgid "while looking up \"%s\""
msgstr "mientras se buscaba \"%s\""
-#: misc/create_inode.c:398
+#: misc/create_inode.c:400
#, c-format
msgid "while creating directory \"%s\""
msgstr "mientras se creaba el directorio \"%s\""
-#: misc/create_inode.c:627
+#: misc/create_inode.c:629
#, c-format
msgid "while opening \"%s\" to copy"
msgstr "mientras se abría \"%s\" para copiar"
-#: misc/create_inode.c:805
+#: misc/create_inode.c:807
#, c-format
msgid "while changing working directory to \"%s\""
msgstr "mientras se cambiaba el directorio de trabajo a \"%s\""
-#: misc/create_inode.c:815
+#: misc/create_inode.c:817
#, c-format
msgid "while scanning directory \"%s\""
msgstr "mientras se exploraba el directorio \"%s\""
-#: misc/create_inode.c:825
+#: misc/create_inode.c:827
#, c-format
msgid "while lstat \"%s\""
msgstr "mientras se intentaba lstat con \"%s\""
-#: misc/create_inode.c:875
+#: misc/create_inode.c:877
#, c-format
msgid "while creating special file \"%s\""
msgstr "mientras se creaba el fichero especial \"%s\""
-#: misc/create_inode.c:884
+#: misc/create_inode.c:886
msgid "malloc failed"
msgstr "fallo de malloc"
-#: misc/create_inode.c:892
+#: misc/create_inode.c:894
#, c-format
msgid "while trying to read link \"%s\""
msgstr "mientras se intentaba leer el enlace \"%s\""
-#: misc/create_inode.c:899
+#: misc/create_inode.c:901
msgid "symlink increased in size between lstat() and readlink()"
msgstr "el tamaño del enlace simbólico ha aumentado entre lstat() y readlink()"
-#: misc/create_inode.c:910
+#: misc/create_inode.c:912
#, c-format
msgid "while writing symlink\"%s\""
msgstr "mientras se escribía el enlace simbólico \"%s\""
-#: misc/create_inode.c:921
+#: misc/create_inode.c:923
#, c-format
msgid "while writing file \"%s\""
msgstr "mientras se escribía el fichero \"%s\""
-#: misc/create_inode.c:934
+#: misc/create_inode.c:936
#, c-format
msgid "while making dir \"%s\""
msgstr "mientras se creaba el directorio \"%s\""
-#: misc/create_inode.c:952
+#: misc/create_inode.c:954
msgid "while changing directory"
msgstr "mientras se cambiaba de directorio"
-#: misc/create_inode.c:958
+#: misc/create_inode.c:960
#, c-format
msgid "ignoring entry \"%s\""
msgstr "ignorar la entrada \"%s\""
-#: misc/create_inode.c:971
+#: misc/create_inode.c:973
#, c-format
msgid "while setting inode for \"%s\""
msgstr "mientras se estaba poniendo el nodo-i para \"%s\""
-#: misc/create_inode.c:978
+#: misc/create_inode.c:980
#, c-format
msgid "while setting xattrs for \"%s\""
msgstr "mientras se ponían los xattrs para \"%s\""
-#: misc/create_inode.c:1004
+#: misc/create_inode.c:1006
msgid "while saving inode data"
msgstr "mientras se guardaban los datos de nodo-i"
+#: misc/create_inode.c:1056
+msgid "while copying xattrs on root directory"
+msgstr "mientras se copiaban xattrs en el directorio raíz"
+
#: misc/dumpe2fs.c:56
#, c-format
msgid "Usage: %s [-bfghimxV] [-o superblock=<num>] [-o blocksize=<num>] device\n"
@@ -4461,7 +4512,7 @@
msgid "Bad blocks: %u"
msgstr "Bloques dañados: %u"
-#: misc/dumpe2fs.c:373 misc/tune2fs.c:373
+#: misc/dumpe2fs.c:373 misc/tune2fs.c:375
msgid "while reading journal inode"
msgstr "mientras se leía el nodo-i del fichero de transacciones"
@@ -4477,7 +4528,7 @@
msgid "Journal superblock magic number invalid!\n"
msgstr "¡El número mágico del superbloque del fichero de transacciones es inválido!\n"
-#: misc/dumpe2fs.c:409 misc/tune2fs.c:216
+#: misc/dumpe2fs.c:409 misc/tune2fs.c:218
msgid "while reading journal superblock"
msgstr "mientras se leía el superbloque del fichero de transacciones"
@@ -4485,30 +4536,30 @@
msgid "Couldn't find journal superblock magic numbers"
msgstr "No se pueden encontrar los números mágicos del superbloque del fichero de transacciones"
-#: misc/dumpe2fs.c:468
+#: misc/dumpe2fs.c:470
msgid "failed to alloc MMP buffer\n"
msgstr "no se ha podido reservar un búfer MMP\n"
-#: misc/dumpe2fs.c:479
+#: misc/dumpe2fs.c:481
#, c-format
msgid "reading MMP block %llu from '%s'\n"
msgstr "leyendo el bloque MMP %llu desde '%s'\n"
-#: misc/dumpe2fs.c:507 misc/mke2fs.c:800 misc/tune2fs.c:2027
+#: misc/dumpe2fs.c:511 misc/mke2fs.c:798 misc/tune2fs.c:2056
msgid "Couldn't allocate memory to parse options!\n"
msgstr "¡No se puede reservar memoria para analizar sintácticamente las opciones!\n"
-#: misc/dumpe2fs.c:533
+#: misc/dumpe2fs.c:537
#, c-format
msgid "Invalid superblock parameter: %s\n"
msgstr "Parámetro de superbloque no válido: %s\n"
-#: misc/dumpe2fs.c:548
+#: misc/dumpe2fs.c:552
#, c-format
msgid "Invalid blocksize parameter: %s\n"
msgstr "Parámetro de tamaño del bloque no válido: %s\n"
-#: misc/dumpe2fs.c:559
+#: misc/dumpe2fs.c:563
#, c-format
msgid ""
"\n"
@@ -4531,27 +4582,27 @@
"\tsuperblock=<número_del_superbloque>\n"
"\tblocksize=<tamaño_del_bloque>\n"
-#: misc/dumpe2fs.c:649 misc/mke2fs.c:1889
+#: misc/dumpe2fs.c:653 misc/mke2fs.c:1892
#, c-format
msgid "\tUsing %s\n"
msgstr "\tSe emplea %s\n"
-#: misc/dumpe2fs.c:694 misc/e2image.c:1629 misc/tune2fs.c:2913
-#: resize/main.c:416
+#: misc/dumpe2fs.c:698 misc/e2image.c:1629 misc/tune2fs.c:2998
+#: resize/main.c:418
msgid "Couldn't find valid filesystem superblock.\n"
msgstr "No se pudo encontrar un superbloque válido para el sistema de ficheros.\n"
-#: misc/dumpe2fs.c:716
+#: misc/dumpe2fs.c:720
#, c-format
msgid "%s: MMP feature not enabled.\n"
msgstr "%s: característica MMP no habilitada.\n"
-#: misc/dumpe2fs.c:747
+#: misc/dumpe2fs.c:751
#, c-format
msgid "while trying to read '%s' bitmaps\n"
msgstr "mientras se intentaban leer los mapas de bits '%s'\n"
-#: misc/dumpe2fs.c:756
+#: misc/dumpe2fs.c:760
msgid ""
"*** Run e2fsck now!\n"
"\n"
@@ -4561,18 +4612,18 @@
#: misc/e2image.c:107
#, c-format
-msgid "Usage: %s [ -r|Q ] [ -f ] [ -b superblock ] [ -B blocksize][ -fr ] device image-file\n"
-msgstr "Modo de empleo: %s [ -r|Q ] [ -f ] [ -b superbloque ] [ -B tamaño_de_bloque][ -fr ] dispositivo fichero_de_imagen\n"
+msgid "Usage: %s [ -r|-Q ] [ -f ] [ -b superblock ] [ -B blocksize ] device image-file\n"
+msgstr "Modo de empleo: %s [ -r|-Q ] [ -f ] [ -b superbloque ] [ -B tamaño_de_bloque ] dispositivo fichero_de_imagen\n"
#: misc/e2image.c:110
#, c-format
msgid " %s -I device image-file\n"
-msgstr " %s -I dispositivo fichero_de_imagen\n"
+msgstr " %s -I dispositivo fichero_de_imagen\n"
#: misc/e2image.c:111
#, c-format
-msgid " %s -ra [ -cfnp ] [ -o src_offset ] [ -O dest_offset ] src_fs [ dest_fs ]\n"
-msgstr " %s -ra [ -cfnp ] [ -o desplz_orig ] [ -O desplz_dest ] fs_orig [ fs_dest ]\n"
+msgid " %s -ra [ -cfnp ] [ -o src_offset ] [ -O dest_offset ] src_fs [ dest_fs ]\n"
+msgstr " %s -ra [ -cfnp ] [ -o desplz_orig ] [ -O desplz_dest ] fs_orig [ fs_dest ]\n"
#: misc/e2image.c:176 misc/e2image.c:589 misc/e2image.c:595
#: misc/e2image.c:1194
@@ -4831,7 +4882,7 @@
msgid "e2label: not an ext2 filesystem\n"
msgstr "e2label: no es un sistema de ficheros ext2\n"
-#: misc/e2label.c:97 misc/tune2fs.c:3117
+#: misc/e2label.c:97 misc/tune2fs.c:3203
#, c-format
msgid "Warning: label too long, truncating.\n"
msgstr "Atención: la etiqueta es muy larga, se trunca.\n"
@@ -4846,7 +4897,7 @@
msgid "e2label: error writing superblock\n"
msgstr "e2label: error al escribir el superbloque\n"
-#: misc/e2label.c:117 misc/tune2fs.c:1687
+#: misc/e2label.c:117 misc/tune2fs.c:1713
#, c-format
msgid "Usage: e2label device [newlabel]\n"
msgstr "Modo de empleo: e2label dispositivo [nuevabandera]\n"
@@ -5049,7 +5100,7 @@
msgid "byte_offset byte_start byte_end fs_blocks blksz grp mkfs/mount_time sb_uuid label\n"
msgstr "depsplaz_oct comienzo_oct fin_oct bloqs_sf blqtam grp mkfs/hora_mount sb_uuid etiq\n"
-#: misc/findsuper.c:264
+#: misc/findsuper.c:265
#, c-format
msgid ""
"\n"
@@ -5157,51 +5208,51 @@
msgid "%s: too many arguments\n"
msgstr "%s: demasiados argumentos\n"
-#: misc/fuse2fs.c:3745
+#: misc/fuse2fs.c:3740
msgid "Mounting read-only.\n"
msgstr "Montando solo para lectura.\n"
-#: misc/fuse2fs.c:3769
+#: misc/fuse2fs.c:3764
#, c-format
msgid "%s: Allowing users to allocate all blocks. This is dangerous!\n"
msgstr "%s: Se permite a los usuarios reservar todos los bloques. ¡Es peligroso!\n"
-#: misc/fuse2fs.c:3781 misc/fuse2fs.c:3795
+#: misc/fuse2fs.c:3776 misc/fuse2fs.c:3790
#, c-format
msgid "%s: %s.\n"
msgstr "%s: %s.\n"
-#: misc/fuse2fs.c:3782 misc/fuse2fs.c:3797 misc/tune2fs.c:3013
+#: misc/fuse2fs.c:3777 misc/fuse2fs.c:3792 misc/tune2fs.c:3098
#, c-format
msgid "Please run e2fsck -fy %s.\n"
msgstr "Por favor, ejecute 'e2fsck -fy %s'.\n"
-#: misc/fuse2fs.c:3804
+#: misc/fuse2fs.c:3799
msgid "Journal needs recovery; running `e2fsck -E journal_only' is required.\n"
msgstr "Hay que recuperar el fichero de transacciones; hace falta ejecutar `e2fsck -E journal_only'.\n"
-#: misc/fuse2fs.c:3812
+#: misc/fuse2fs.c:3807
#, c-format
msgid "%s: Writing to the journal is not supported.\n"
msgstr "%s: No está contemplado escribir en el fichero de transacciones.\n"
-#: misc/fuse2fs.c:3827
+#: misc/fuse2fs.c:3822
msgid "Warning: Mounting unchecked fs, running e2fsck is recommended.\n"
msgstr "Atención: se está montando un sistema de ficheros sin comprobar; se recomienda ejecutar e2fsck.\n"
-#: misc/fuse2fs.c:3831
+#: misc/fuse2fs.c:3826
msgid "Warning: Maximal mount count reached, running e2fsck is recommended.\n"
msgstr "Atención: se ha llegado al número máximo de montajes; se recomienda ejecutar e2fsck.\n"
-#: misc/fuse2fs.c:3836
+#: misc/fuse2fs.c:3831
msgid "Warning: Check time reached; running e2fsck is recommended.\n"
msgstr "Atención: se ha llegado al tiempo límite de una comprobación; se recomienda ejecutar e2fsck.\n"
-#: misc/fuse2fs.c:3840
+#: misc/fuse2fs.c:3835
msgid "Orphans detected; running e2fsck is recommended.\n"
msgstr "Se han detectado huérfanos; se recomienda ejecutar e2fsck.\n"
-#: misc/fuse2fs.c:3844
+#: misc/fuse2fs.c:3839
msgid "Errors detected; running e2fsck is required.\n"
msgstr "Se han detectado errores; es preciso ejecutar e2fsck.\n"
@@ -5306,7 +5357,7 @@
"\n"
"No se pueden escribir %d bloques en la tabla de nodos-i comenzando en %llu: %s\n"
-#: misc/mke2fs.c:456 misc/mke2fs.c:2809 misc/mke2fs.c:3214
+#: misc/mke2fs.c:456 misc/mke2fs.c:2821 misc/mke2fs.c:3226
msgid "done \n"
msgstr "hecho \n"
@@ -5370,12 +5421,12 @@
msgid "while writing journal superblock"
msgstr "mientras se escribía el superbloque del fichero de transacciones"
-#: misc/mke2fs.c:665
+#: misc/mke2fs.c:664
#, c-format
msgid "Creating filesystem with %llu %dk blocks and %u inodes\n"
msgstr "Se está creando un sistema de ficheros con %llu bloques de %dk y %u nodos-i\n"
-#: misc/mke2fs.c:673
+#: misc/mke2fs.c:672
#, c-format
msgid ""
"warning: %llu blocks unused.\n"
@@ -5384,164 +5435,164 @@
"Atención: hay %llu bloques sin usar.\n"
"\n"
-#: misc/mke2fs.c:678
+#: misc/mke2fs.c:675
#, c-format
-msgid "Filesystem label=%s\n"
-msgstr "Etiqueta del sistema de ficheros=%s\n"
+msgid "Filesystem label=%.*s\n"
+msgstr "Etiqueta del sistema de ficheros=%.*s\n"
-#: misc/mke2fs.c:681
+#: misc/mke2fs.c:679
#, c-format
msgid "OS type: %s\n"
msgstr "Tipo de SO: %s\n"
-#: misc/mke2fs.c:683
+#: misc/mke2fs.c:681
#, c-format
msgid "Block size=%u (log=%u)\n"
msgstr "Tamaño del bloque=%u (log=%u)\n"
-#: misc/mke2fs.c:686
+#: misc/mke2fs.c:684
#, c-format
msgid "Cluster size=%u (log=%u)\n"
msgstr "Tamaño del «cluster»=%u (log=%u)\n"
-#: misc/mke2fs.c:690
+#: misc/mke2fs.c:688
#, c-format
msgid "Fragment size=%u (log=%u)\n"
msgstr "Tamaño del fragmento=%u (log=%u)\n"
-#: misc/mke2fs.c:692
+#: misc/mke2fs.c:690
#, c-format
msgid "Stride=%u blocks, Stripe width=%u blocks\n"
msgstr "Stride=%u bloques, anchura de stripe=%u bloques\n"
-#: misc/mke2fs.c:694
+#: misc/mke2fs.c:692
#, c-format
msgid "%u inodes, %llu blocks\n"
msgstr "%u nodos-i, %llu bloques\n"
-#: misc/mke2fs.c:696
+#: misc/mke2fs.c:694
#, c-format
msgid "%llu blocks (%2.2f%%) reserved for the super user\n"
msgstr "%llu bloques (%2.2f%%) reservados para el superusuario\n"
-#: misc/mke2fs.c:699
+#: misc/mke2fs.c:697
#, c-format
msgid "First data block=%u\n"
msgstr "Primer bloque de datos=%u\n"
-#: misc/mke2fs.c:701
+#: misc/mke2fs.c:699
#, c-format
msgid "Root directory owner=%u:%u\n"
msgstr "Propietario del directorio raíz=%u:%u\n"
-#: misc/mke2fs.c:703
+#: misc/mke2fs.c:701
#, c-format
msgid "Maximum filesystem blocks=%lu\n"
msgstr "Número máximo de bloques del sistema de ficheros=%lu\n"
-#: misc/mke2fs.c:707
+#: misc/mke2fs.c:705
#, c-format
msgid "%u block groups\n"
msgstr "%u grupos de bloques\n"
-#: misc/mke2fs.c:709
+#: misc/mke2fs.c:707
#, c-format
msgid "%u block group\n"
msgstr "%u grupo de bloques\n"
-#: misc/mke2fs.c:711
+#: misc/mke2fs.c:709
#, c-format
msgid "%u blocks per group, %u clusters per group\n"
msgstr "%u bloques por grupo, %u «clusters» por grupo\n"
-#: misc/mke2fs.c:714
+#: misc/mke2fs.c:712
#, c-format
msgid "%u blocks per group, %u fragments per group\n"
msgstr "%u bloques por grupo, %u fragmentos por grupo\n"
-#: misc/mke2fs.c:716
+#: misc/mke2fs.c:714
#, c-format
msgid "%u inodes per group\n"
msgstr "%u nodos-i por grupo\n"
-#: misc/mke2fs.c:725
+#: misc/mke2fs.c:723
#, c-format
msgid "Filesystem UUID: %s\n"
msgstr "UUID del sistema de ficheros: %s\n"
-#: misc/mke2fs.c:726
+#: misc/mke2fs.c:724
msgid "Superblock backups stored on blocks: "
msgstr "Respaldos del superbloque guardados en los bloques: "
-#: misc/mke2fs.c:822
+#: misc/mke2fs.c:820
#, c-format
msgid "%s requires '-O 64bit'\n"
msgstr "%s requiere '-O 64bit'\n"
-#: misc/mke2fs.c:828
+#: misc/mke2fs.c:826
#, c-format
msgid "'%s' must be before 'resize=%u'\n"
msgstr "'%s' debe estar antes de 'resize=%u'\n"
-#: misc/mke2fs.c:841
+#: misc/mke2fs.c:839
#, c-format
msgid "Invalid desc_size: '%s'\n"
msgstr "desc_size no válido: '%s'\n"
-#: misc/mke2fs.c:855
+#: misc/mke2fs.c:853
#, c-format
msgid "Invalid hash seed: %s\n"
msgstr "La semilla «hash» no es válida: %s\n"
-#: misc/mke2fs.c:867
+#: misc/mke2fs.c:865
#, c-format
msgid "Invalid offset: %s\n"
msgstr "Desplazamiento no válido: %s\n"
-#: misc/mke2fs.c:881 misc/tune2fs.c:2055
+#: misc/mke2fs.c:879 misc/tune2fs.c:2084
#, c-format
msgid "Invalid mmp_update_interval: %s\n"
msgstr "mmp_update_interval no válido: %s\n"
-#: misc/mke2fs.c:898
+#: misc/mke2fs.c:896
#, c-format
msgid "Invalid # of backup superblocks: %s\n"
msgstr "Número de superbloques de respaldo no válido: %s\n"
-#: misc/mke2fs.c:920
+#: misc/mke2fs.c:918
#, c-format
msgid "Invalid stride parameter: %s\n"
msgstr "Parámetro de «stride» no válido: %s\n"
-#: misc/mke2fs.c:935
+#: misc/mke2fs.c:933
#, c-format
msgid "Invalid stripe-width parameter: %s\n"
msgstr "Parámetro stripe-width no válido: %s\n"
-#: misc/mke2fs.c:958
+#: misc/mke2fs.c:956
#, c-format
msgid "Invalid resize parameter: %s\n"
msgstr "Parámetro de variación de tamaño no válido: %s\n"
-#: misc/mke2fs.c:965
+#: misc/mke2fs.c:963
msgid "The resize maximum must be greater than the filesystem size.\n"
msgstr "El máximo de la variación de tamaño debe ser mayor que el tamaño del sistema de ficheros.\n"
-#: misc/mke2fs.c:989
+#: misc/mke2fs.c:987
msgid "On-line resizing not supported with revision 0 filesystems\n"
msgstr "El cambio de tamaño en línea no es posible en sistemas de archivos de revisión 0\n"
-#: misc/mke2fs.c:1015 misc/mke2fs.c:1024
+#: misc/mke2fs.c:1013 misc/mke2fs.c:1022
#, c-format
msgid "Invalid root_owner: '%s'\n"
msgstr "root_owner no válido: '%s'\n"
-#: misc/mke2fs.c:1069
+#: misc/mke2fs.c:1067
#, c-format
msgid "Invalid encoding: %s"
msgstr "La codificación no es válida: %s"
-#: misc/mke2fs.c:1087
+#: misc/mke2fs.c:1085
#, c-format
msgid ""
"\n"
@@ -5594,7 +5645,7 @@
"\tquotatype=<tipo(s) de cuota para activar>\n"
"\n"
-#: misc/mke2fs.c:1114
+#: misc/mke2fs.c:1112
#, c-format
msgid ""
"\n"
@@ -5605,17 +5656,17 @@
"Atención: El parámetro «stripe-width» de RAID %u no es un múltiplo par del parámetro «stride» %u.\n"
"\n"
-#: misc/mke2fs.c:1125
+#: misc/mke2fs.c:1123 misc/tune2fs.c:2220
#, c-format
msgid "error: Invalid encoding flag: %s\n"
msgstr "error: Indicador de codificación no válido: %s\n"
-#: misc/mke2fs.c:1131
+#: misc/mke2fs.c:1129 misc/tune2fs.c:2229
#, c-format
msgid "error: An encoding must be explicitly specified when passing encoding-flags\n"
msgstr "error: Debe especificarse explícitamente una codifiación cuando se pasan las banderas de codificación\n"
-#: misc/mke2fs.c:1179
+#: misc/mke2fs.c:1177
#, c-format
msgid ""
"Syntax error in mke2fs config file (%s, line #%d)\n"
@@ -5624,17 +5675,17 @@
"Error de sintaxis en el fichero de configuración de mke2fs (%s, línea #%d)\n"
"\t%s\n"
-#: misc/mke2fs.c:1192 misc/tune2fs.c:1068
+#: misc/mke2fs.c:1190 misc/tune2fs.c:1072
#, c-format
msgid "Invalid filesystem option set: %s\n"
msgstr "Se puso una opción no válida para el sistema de ficheros: %s\n"
-#: misc/mke2fs.c:1204 misc/tune2fs.c:417
+#: misc/mke2fs.c:1202 misc/tune2fs.c:419
#, c-format
msgid "Invalid mount option set: %s\n"
msgstr "Se puso una opción de montaje no válida: %s\n"
-#: misc/mke2fs.c:1340
+#: misc/mke2fs.c:1338
#, c-format
msgid ""
"\n"
@@ -5643,7 +5694,7 @@
"\n"
"El fichero mke2fs.conf no define el tipo de sistema de ficheros %s.\n"
-#: misc/mke2fs.c:1344
+#: misc/mke2fs.c:1342
msgid ""
"You probably need to install an updated mke2fs.conf file.\n"
"\n"
@@ -5651,11 +5702,11 @@
"Probablemente sea necesario instalar un fichero mke2fs.conf actualizado.\n"
"\n"
-#: misc/mke2fs.c:1348
+#: misc/mke2fs.c:1346
msgid "Aborting...\n"
msgstr "Interrumpiendo...\n"
-#: misc/mke2fs.c:1389
+#: misc/mke2fs.c:1387
#, c-format
msgid ""
"\n"
@@ -5666,149 +5717,149 @@
"Atención: el fs_type %s no está definido en mke2fs.conf\n"
"\n"
-#: misc/mke2fs.c:1571
+#: misc/mke2fs.c:1574
msgid "Couldn't allocate memory for new PATH.\n"
msgstr "No se puede reservar memoria para la nueva RUTA.\n"
-#: misc/mke2fs.c:1608
+#: misc/mke2fs.c:1611
#, c-format
msgid "Couldn't init profile successfully (error: %ld).\n"
msgstr "No se puede inicializar correctamente el perfil (error: %ld).\n"
-#: misc/mke2fs.c:1641
+#: misc/mke2fs.c:1644
#, c-format
msgid "invalid block size - %s"
msgstr "tamaño del bloque inválido - %s"
-#: misc/mke2fs.c:1645
+#: misc/mke2fs.c:1648
#, c-format
msgid "Warning: blocksize %d not usable on most systems.\n"
msgstr "Atención: el tamaño del bloque %d no se puede utilizar en muchos sistemas.\n"
-#: misc/mke2fs.c:1661
+#: misc/mke2fs.c:1664
#, c-format
msgid "invalid cluster size - %s"
msgstr "tamaño del «cluster» no válido - %s"
-#: misc/mke2fs.c:1674
+#: misc/mke2fs.c:1677
msgid "'-R' is deprecated, use '-E' instead"
msgstr "'-R' está en desuso; utilice '-E' en su lugar"
-#: misc/mke2fs.c:1688 misc/tune2fs.c:1784
+#: misc/mke2fs.c:1691 misc/tune2fs.c:1810
#, c-format
msgid "bad error behavior - %s"
msgstr "comportamiento de errores incorrecto - %s"
-#: misc/mke2fs.c:1700
+#: misc/mke2fs.c:1703
msgid "Illegal number for blocks per group"
msgstr "Número no válido de bloques por grupo"
-#: misc/mke2fs.c:1705
+#: misc/mke2fs.c:1708
msgid "blocks per group must be multiple of 8"
msgstr "los bloques por grupo deben ser un múltiplo de 8"
-#: misc/mke2fs.c:1713
+#: misc/mke2fs.c:1716
msgid "Illegal number for flex_bg size"
msgstr "Número no válido para el tamaño de flex_bg"
-#: misc/mke2fs.c:1719
+#: misc/mke2fs.c:1722
msgid "flex_bg size must be a power of 2"
msgstr "el tamaño de flex_bg debe ser una potencia de 2"
-#: misc/mke2fs.c:1724
+#: misc/mke2fs.c:1727
#, c-format
msgid "flex_bg size (%lu) must be less than or equal to 2^31"
msgstr "el tamaño de flex_bg (%lu) debe ser menor o igual que 2^31"
-#: misc/mke2fs.c:1734
+#: misc/mke2fs.c:1737
#, c-format
msgid "invalid inode ratio %s (min %d/max %d)"
msgstr "proporción de nodos-i inválida %s (min %d/max %d)"
-#: misc/mke2fs.c:1744
+#: misc/mke2fs.c:1747
#, c-format
msgid "invalid inode size - %s"
msgstr "tamaño de los nodos-i inválido - %s"
-#: misc/mke2fs.c:1757
+#: misc/mke2fs.c:1760
msgid "Warning: -K option is deprecated and should not be used anymore. Use '-E nodiscard' extended option instead!\n"
msgstr "¡Atención: la opción -K está en desuso y no debería utilizarse nunca más. Utilice la opción extendida '-E nodiscard' en su lugar!\n"
-#: misc/mke2fs.c:1768
+#: misc/mke2fs.c:1771
msgid "in malloc for bad_blocks_filename"
msgstr "en malloc para fichero_de_bloques_dañados"
-#: misc/mke2fs.c:1777
+#: misc/mke2fs.c:1780
#, c-format
msgid ""
"Warning: label too long; will be truncated to '%s'\n"
"\n"
msgstr "Atención: la etiqueta es demasiado larga; se trunca a '%s'\n"
-#: misc/mke2fs.c:1786
+#: misc/mke2fs.c:1789
#, c-format
msgid "invalid reserved blocks percent - %s"
msgstr "el porcentaje de bloques reservados es inválido - %s"
-#: misc/mke2fs.c:1801
+#: misc/mke2fs.c:1804
#, c-format
msgid "bad num inodes - %s"
msgstr "número de los nodos-i inválido - %s"
-#: misc/mke2fs.c:1814
+#: misc/mke2fs.c:1817
msgid "while allocating fs_feature string"
msgstr "mientras se reservaba la cadena de fs_feature"
-#: misc/mke2fs.c:1831
+#: misc/mke2fs.c:1834
#, c-format
msgid "bad revision level - %s"
msgstr "nivel de revisión incorrecto - %s"
-#: misc/mke2fs.c:1836
+#: misc/mke2fs.c:1839
#, c-format
msgid "while trying to create revision %d"
msgstr "mientras se intentaba crear la revisión %d"
-#: misc/mke2fs.c:1850
+#: misc/mke2fs.c:1853
msgid "The -t option may only be used once"
msgstr "La opción -t solo puede utilizarse una vez"
-#: misc/mke2fs.c:1858
+#: misc/mke2fs.c:1861
msgid "The -T option may only be used once"
msgstr "La opción -T solo puede utilizarse una vez"
-#: misc/mke2fs.c:1914 misc/mke2fs.c:3298
+#: misc/mke2fs.c:1917 misc/mke2fs.c:3310
#, c-format
msgid "while trying to open journal device %s\n"
msgstr "mientras se intentaba abrir el dispositivo del fichero de transacciones %s\n"
-#: misc/mke2fs.c:1920
+#: misc/mke2fs.c:1923
#, c-format
msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n"
msgstr ""
"El tamaño del bloque del dispositivo del fichero de transacciones (%d) es\n"
"menor que el tamaño del bloque mínimo %d\n"
-#: misc/mke2fs.c:1926
+#: misc/mke2fs.c:1929
#, c-format
msgid "Using journal device's blocksize: %d\n"
msgstr "Utilizando el tamaño de bloque del dispositivo del fichero de transacciones: %d\n"
# The specified number of blocks is invalid.
-#: misc/mke2fs.c:1937
+#: misc/mke2fs.c:1940
#, c-format
msgid "invalid blocks '%s' on device '%s'"
msgstr "bloques no válidos '%s' en el dispositivo '%s'"
-#: misc/mke2fs.c:1967
+#: misc/mke2fs.c:1970
msgid "filesystem"
msgstr "sistema de ficheros"
-#: misc/mke2fs.c:1985 resize/main.c:497
+#: misc/mke2fs.c:1988 resize/main.c:499
msgid "while trying to determine filesystem size"
msgstr "mientras se intentaba determinar el tamaño del sistema de ficheros"
-#: misc/mke2fs.c:1991
+#: misc/mke2fs.c:1994
msgid ""
"Couldn't determine device size; you must specify\n"
"the size of the filesystem\n"
@@ -5817,7 +5868,7 @@
"explícitamente el tamaño del sistema de ficheros\n"
# Se informó que -> Se informó de que
-#: misc/mke2fs.c:1998
+#: misc/mke2fs.c:2001
msgid ""
"Device size reported to be zero. Invalid partition specified, or\n"
"\tpartition table wasn't reread after running fdisk, due to\n"
@@ -5830,48 +5881,48 @@
"\tpartición modificada está ocupada o en uso. Es necesario reiniciar\n"
"\tpara poder releer la tabla de particiones.\n"
-#: misc/mke2fs.c:2015
+#: misc/mke2fs.c:2018
msgid "Filesystem larger than apparent device size."
msgstr "El sistema de ficheros es más grande que el tamaño aparente del dispositivo."
-#: misc/mke2fs.c:2035
+#: misc/mke2fs.c:2038
msgid "Failed to parse fs types list\n"
msgstr "Fallo al analizar sintácticamente la lista de tipos de sf\n"
-#: misc/mke2fs.c:2085
+#: misc/mke2fs.c:2088
msgid "The HURD does not support the filetype feature.\n"
msgstr "El HURD no tiene implementada la opción de tipos de fichero.\n"
-#: misc/mke2fs.c:2090
+#: misc/mke2fs.c:2093
msgid "The HURD does not support the huge_file feature.\n"
msgstr "El HURD no tiene implementada la opción huge_file.\n"
-#: misc/mke2fs.c:2095
+#: misc/mke2fs.c:2098
msgid "The HURD does not support the metadata_csum feature.\n"
msgstr "El HURD no tiene implementada la opción metadata_csum.\n"
-#: misc/mke2fs.c:2100
+#: misc/mke2fs.c:2103
msgid "The HURD does not support the ea_inode feature.\n"
msgstr "El HURD no tiene implementada la opción ea_inode.\n"
-#: misc/mke2fs.c:2110
+#: misc/mke2fs.c:2113
msgid "while trying to determine hardware sector size"
msgstr "mientras se intentaba determinar el tamaño del sector del hardware"
-#: misc/mke2fs.c:2116
+#: misc/mke2fs.c:2119
msgid "while trying to determine physical sector size"
msgstr "mientras se intentaba determinar el tamaño del sector físico"
-#: misc/mke2fs.c:2148
+#: misc/mke2fs.c:2151
msgid "while setting blocksize; too small for device\n"
msgstr "mientras se establecía el tamaño de bloque; demasiado pequeño para el dispositivo\n"
-#: misc/mke2fs.c:2153
+#: misc/mke2fs.c:2156
#, c-format
msgid "Warning: specified blocksize %d is less than device physical sectorsize %d\n"
msgstr "Atención: el tamaño de bloque especificado %d es menor que el tamaño de sector físico del dispositivo %d\n"
-#: misc/mke2fs.c:2177
+#: misc/mke2fs.c:2180
#, c-format
msgid ""
"%s: Size of device (0x%llx blocks) %s too big to be expressed\n"
@@ -5880,7 +5931,7 @@
"%s: Tamaño del dispositivo (0x%llx bloques) %s demasiado grande para expresarse\n"
"\ten 32 bits utilizando un tamaño de bloque de %d.\n"
-#: misc/mke2fs.c:2191
+#: misc/mke2fs.c:2194
#, c-format
msgid ""
"%s: Size of device (0x%llx blocks) %s too big to create\n"
@@ -5889,82 +5940,87 @@
"%s: Tamaño del dispositivo (0x%llx bloques) %s demasiado grande para crear\n"
"\tun sistema de ficheros utilizando un tamaño de bloque de %d.\n"
-#: misc/mke2fs.c:2213
+#: misc/mke2fs.c:2216
msgid "fs_types for mke2fs.conf resolution: "
msgstr "resolución de fs_types para mke2fs.conf: "
-#: misc/mke2fs.c:2220
+#: misc/mke2fs.c:2223
msgid "Filesystem features not supported with revision 0 filesystems\n"
msgstr "Características del sistema de ficheros no disponibles con la revisión 0 de los sistemas de ficheros\n"
-#: misc/mke2fs.c:2228
+#: misc/mke2fs.c:2231
msgid "Sparse superblocks not supported with revision 0 filesystems\n"
msgstr "Superbloques dispersos no disponibles con la revisión 0 de los sistemas de ficheros\n"
-#: misc/mke2fs.c:2238
+#: misc/mke2fs.c:2241
msgid "Journals not supported with revision 0 filesystems\n"
msgstr "Fichero de transacciones no implementado para la revisión 0 de los sistemas de ficheros\n"
-#: misc/mke2fs.c:2251
+#: misc/mke2fs.c:2254
#, c-format
msgid "invalid reserved blocks percent - %lf"
msgstr "el porcentaje de bloques reservados es inválido - %lf"
-#: misc/mke2fs.c:2268
+#: misc/mke2fs.c:2271
msgid "Extents MUST be enabled for a 64-bit filesystem. Pass -O extents to rectify.\n"
msgstr "Los «extents» DEBEN estar activados para un sistema de ficheros de 64 bits. Pase -O extents para rectificar.\n"
-#: misc/mke2fs.c:2288
+#: misc/mke2fs.c:2291
msgid "The cluster size may not be smaller than the block size.\n"
msgstr "El tamaño de «cluster» no puede ser menor que el tamaño de bloque.\n"
-#: misc/mke2fs.c:2294
+#: misc/mke2fs.c:2297
msgid "specifying a cluster size requires the bigalloc feature"
msgstr "para especificar un tamaño de «cluster» hace falta la característica «bigalloc»"
-#: misc/mke2fs.c:2314
+#: misc/mke2fs.c:2317
#, c-format
msgid "warning: Unable to get device geometry for %s\n"
msgstr "atención: no se puede obtener la geometría del dispositivo para %s\n"
-#: misc/mke2fs.c:2317
+#: misc/mke2fs.c:2329
#, c-format
msgid "%s alignment is offset by %lu bytes.\n"
msgstr "el alineamiento de %s está desplazado en %lu bytes.\n"
-#: misc/mke2fs.c:2319
+#: misc/mke2fs.c:2331
#, c-format
msgid "This may result in very poor performance, (re)-partitioning suggested.\n"
msgstr "Esto puede provocar un rendimiento muy bajo; se sugiere (re)particionar.\n"
-#: misc/mke2fs.c:2340
+#: misc/mke2fs.c:2337
+#, c-format
+msgid "%s is capable of DAX but current block size %u is different from system page size %u so filesystem will not support DAX.\n"
+msgstr "%s tiene capacidad DAX pero el tamaño actual %u de bloque difiere del tamaño %u de página del sistema, por lo que el sistema de ficheros no admitirá DAX.\n"
+
+#: misc/mke2fs.c:2361
#, c-format
msgid "%d-byte blocks too big for system (max %d)"
msgstr "los bloques de %d bytes son muy grandes para el sistema (máx %d)"
-#: misc/mke2fs.c:2344
+#: misc/mke2fs.c:2365
#, c-format
msgid "Warning: %d-byte blocks too big for system (max %d), forced to continue\n"
msgstr ""
"Atención: los bloques de %d bytes son muy grandes para el sistema\n"
"(máx %d): continuación forzada\n"
-#: misc/mke2fs.c:2352
+#: misc/mke2fs.c:2373
#, c-format
msgid "Suggestion: Use Linux kernel >= 3.18 for improved stability of the metadata and journal checksum features.\n"
msgstr "Sugerencia: utilice un núcleo de Linux >= 3.18 para disponer de una mejor estabilidad de los metadatos y de suma de comprobación del fichero de transacciones.\n"
-#: misc/mke2fs.c:2398
+#: misc/mke2fs.c:2419
#, c-format
msgid "Unknown filename encoding from profile: %s"
msgstr "Codificación de nombre de fichero desconocida en el perfil: %s"
-#: misc/mke2fs.c:2409
+#: misc/mke2fs.c:2430
#, c-format
msgid "Unknown encoding flags from profile: %s"
msgstr "Banderas de codificación desconocidas en el perfil: %s"
-#: misc/mke2fs.c:2434
+#: misc/mke2fs.c:2455
#, c-format
msgid ""
"\n"
@@ -5979,24 +6035,16 @@
"pero esto podría no ser lo que usted desea.\n"
"\n"
-#: misc/mke2fs.c:2449
+#: misc/mke2fs.c:2470
#, c-format
msgid "%d byte inodes are too small for project quota"
msgstr "los nodos-i de %d octetos son demasiado pequeños para cuota de proyecto"
-#: misc/mke2fs.c:2465
-msgid ""
-"The encrypt and casefold features are not compatible.\n"
-"They can not be both enabled simultaneously.\n"
-msgstr ""
-"Las características de cifrado y «casefold» no son compatibles.\n"
-"No pueden estar activadas las dos a la vez.\n"
-
-#: misc/mke2fs.c:2480
+#: misc/mke2fs.c:2492
msgid "Can't support bigalloc feature without extents feature"
msgstr "No se puede disponer de la característica «bigalloc» sin la característica «extents»"
-#: misc/mke2fs.c:2487
+#: misc/mke2fs.c:2499
msgid ""
"The resize_inode and meta_bg features are not compatible.\n"
"They can not be both enabled simultaneously.\n"
@@ -6004,7 +6052,7 @@
"Las características resize_inode y meta_bg no son compatibles.\n"
"No pueden estar activadas las dos a la vez.\n"
-#: misc/mke2fs.c:2495
+#: misc/mke2fs.c:2507
msgid ""
"\n"
"Warning: the bigalloc feature is still under development\n"
@@ -6016,39 +6064,39 @@
"Véase https://ext4.wiki.kernel.org/index.php/Bigalloc para más información\n"
"\n"
-#: misc/mke2fs.c:2507
+#: misc/mke2fs.c:2519
msgid "reserved online resize blocks not supported on non-sparse filesystem"
msgstr "el cambio de tamaño en línea de los bloques reservados no está implementado para los sistemas de ficheros que no están esparcidos"
-#: misc/mke2fs.c:2516
+#: misc/mke2fs.c:2528
msgid "blocks per group count out of range"
msgstr "la cuenta de bloques por grupo está fuera del intervalo"
-#: misc/mke2fs.c:2538
+#: misc/mke2fs.c:2550
msgid "Flex_bg feature not enabled, so flex_bg size may not be specified"
msgstr "La característica flex_bg no está activada, por lo que no puede especificarse el tamaño de flex_bg"
-#: misc/mke2fs.c:2550
+#: misc/mke2fs.c:2562
#, c-format
msgid "invalid inode size %d (min %d/max %d)"
msgstr "tamaño incorrecto del nodo-i %d (mín %d/máx %d)"
-#: misc/mke2fs.c:2565
+#: misc/mke2fs.c:2577
#, c-format
msgid "%d byte inodes are too small for inline data; specify larger size"
msgstr "los nodos-i de %d octetos son demasiado pequeños para datos en línea; especifique un tamaño mayor"
-#: misc/mke2fs.c:2580
+#: misc/mke2fs.c:2592
#, c-format
msgid "too many inodes (%llu), raise inode ratio?"
msgstr "demasiados nodos-i (%llu), ¿aumentar el ratio de los nodos-i?"
-#: misc/mke2fs.c:2587
+#: misc/mke2fs.c:2599
#, c-format
msgid "too many inodes (%llu), specify < 2^32 inodes"
msgstr "demasiados nodos-i (%llu), especifique menos que 2^32 nodos-i"
-#: misc/mke2fs.c:2601
+#: misc/mke2fs.c:2613
#, c-format
msgid ""
"inode_size (%u) * inodes_count (%u) too big for a\n"
@@ -6059,65 +6107,65 @@
"\tgrande para un sistema de ficheros con %llu bloques; especifique\n"
"\tun ratio mayor de nodos-i (-i) o un menor número de nodos-i (-N).\n"
-#: misc/mke2fs.c:2788
+#: misc/mke2fs.c:2800
msgid "Discarding device blocks: "
msgstr "Descartando los bloques del dispositivo: "
-#: misc/mke2fs.c:2804
+#: misc/mke2fs.c:2816
msgid "failed - "
msgstr "fallo - "
-#: misc/mke2fs.c:2863
+#: misc/mke2fs.c:2875
msgid "while initializing quota context"
msgstr "mientras se inicializaba el contexto de cuota"
-#: misc/mke2fs.c:2870
+#: misc/mke2fs.c:2882
msgid "while writing quota inodes"
msgstr "mientras se escribían los nodos-i de la cuota"
-#: misc/mke2fs.c:2895
+#: misc/mke2fs.c:2907
#, c-format
msgid "bad error behavior in profile - %s"
msgstr "comportamiento de errores incorrecto en el perfil - %s"
-#: misc/mke2fs.c:2971
+#: misc/mke2fs.c:2983
msgid "in malloc for android_sparse_params"
msgstr "en malloc para parámetros_dispersos_de_android"
-#: misc/mke2fs.c:2985
+#: misc/mke2fs.c:2997
msgid "while setting up superblock"
msgstr "mientras se ajustaba el superbloque"
-#: misc/mke2fs.c:3001
+#: misc/mke2fs.c:3013
msgid "Extents are not enabled. The file extent tree can be checksummed, whereas block maps cannot. Not enabling extents reduces the coverage of metadata checksumming. Pass -O extents to rectify.\n"
msgstr "Los «extents» no están activados. Es posible calcular la suma de comprobación de los árboles «extent» de ficheros, no de los mapas de bloques. No activar los «extents» reduce la cobertura de las sumas de comprobación de metadatos. Pase -O «extents» para rectificar.\n"
-#: misc/mke2fs.c:3008
+#: misc/mke2fs.c:3020
msgid "64-bit filesystem support is not enabled. The larger fields afforded by this feature enable full-strength checksumming. Pass -O 64bit to rectify.\n"
msgstr "No está activado que se admitan sistemas de ficheros de 64 bits. Los campos más grandes ofrecidos por esta característica permiten la suma de comprobación más potente. Pase -O 64bit para rectificar.\n"
-#: misc/mke2fs.c:3016
+#: misc/mke2fs.c:3028
msgid "The metadata_csum_seed feature requires the metadata_csum feature.\n"
msgstr "La característica metadata_csum_seed requiere la característica metadata_csum.\n"
-#: misc/mke2fs.c:3040
+#: misc/mke2fs.c:3052
msgid "Discard succeeded and will return 0s - skipping inode table wipe\n"
msgstr "El descarte ha sido correcto y devolverá 0s - se salta el borrado de la tabla de nodos-i\n"
-#: misc/mke2fs.c:3139
+#: misc/mke2fs.c:3151
#, c-format
msgid "unknown os - %s"
msgstr "sistema operativo desconocido - %s"
-#: misc/mke2fs.c:3202
+#: misc/mke2fs.c:3214
msgid "Allocating group tables: "
msgstr "Reservando las tablas de grupo: "
-#: misc/mke2fs.c:3210
+#: misc/mke2fs.c:3222
msgid "while trying to allocate filesystem tables"
msgstr "mientras se intentaba reservar las tablas del sistema de ficheros"
-#: misc/mke2fs.c:3219
+#: misc/mke2fs.c:3231
msgid ""
"\n"
"\twhile converting subcluster bitmap"
@@ -6125,30 +6173,30 @@
"\n"
"\tmientras se convertía el mapa de bits de «subcluster»"
-#: misc/mke2fs.c:3225
+#: misc/mke2fs.c:3237
#, c-format
msgid "%s may be further corrupted by superblock rewrite\n"
msgstr "%s puede corromperse aún más por reescritura de superbloque\n"
-#: misc/mke2fs.c:3266
+#: misc/mke2fs.c:3278
#, c-format
msgid "while zeroing block %llu at end of filesystem"
msgstr "mientras se inicializaba a cero el bloque %llu al final del sistema de ficheros"
-#: misc/mke2fs.c:3279
+#: misc/mke2fs.c:3291
msgid "while reserving blocks for online resize"
msgstr "mientras se reservaban los bloques para el cambio de tamaño en línea"
-#: misc/mke2fs.c:3291 misc/tune2fs.c:1492
+#: misc/mke2fs.c:3303 misc/tune2fs.c:1516
msgid "journal"
msgstr "fichero de transacciones"
-#: misc/mke2fs.c:3303
+#: misc/mke2fs.c:3315
#, c-format
msgid "Adding journal to device %s: "
msgstr "Añadiendo el fichero de transacciones al dispositivo %s: "
-#: misc/mke2fs.c:3310
+#: misc/mke2fs.c:3322
#, c-format
msgid ""
"\n"
@@ -6157,21 +6205,21 @@
"\n"
"\tmientras se intentaba añadir el fichero de transacciones al dispositivo %s"
-#: misc/mke2fs.c:3315 misc/mke2fs.c:3344 misc/mke2fs.c:3382
-#: misc/mk_hugefiles.c:600 misc/tune2fs.c:1521 misc/tune2fs.c:1540
+#: misc/mke2fs.c:3327 misc/mke2fs.c:3356 misc/mke2fs.c:3394
+#: misc/mk_hugefiles.c:600 misc/tune2fs.c:1545 misc/tune2fs.c:1564
msgid "done\n"
msgstr "hecho\n"
-#: misc/mke2fs.c:3321
+#: misc/mke2fs.c:3333
msgid "Skipping journal creation in super-only mode\n"
msgstr "Se omite la creación del fichero de transacciones en modo solo-super\n"
-#: misc/mke2fs.c:3331
+#: misc/mke2fs.c:3343
#, c-format
msgid "Creating journal (%u blocks): "
msgstr "Creando el fichero de transacciones (%u bloques): "
-#: misc/mke2fs.c:3340
+#: misc/mke2fs.c:3352
msgid ""
"\n"
"\twhile trying to create journal"
@@ -6179,7 +6227,7 @@
"\n"
"\tmientras se intentaba crear el fichero de transacciones"
-#: misc/mke2fs.c:3352 misc/tune2fs.c:1133
+#: misc/mke2fs.c:3364 misc/tune2fs.c:1137
msgid ""
"\n"
"Error while enabling multiple mount protection feature."
@@ -6187,28 +6235,28 @@
"\n"
"Error mientras se activaba la característica de protección de montaje múltiple."
-#: misc/mke2fs.c:3357
+#: misc/mke2fs.c:3369
#, c-format
msgid "Multiple mount protection is enabled with update interval %d seconds.\n"
msgstr "La protección de montaje múltiple está activada con un intervalo de actualización de %d segundos.\n"
-#: misc/mke2fs.c:3373
+#: misc/mke2fs.c:3385
msgid "Copying files into the device: "
msgstr "Copiando ficheros al dispositivo: "
-#: misc/mke2fs.c:3379
+#: misc/mke2fs.c:3391
msgid "while populating file system"
msgstr "mientras se poblaba el sistema de ficheros"
-#: misc/mke2fs.c:3386
+#: misc/mke2fs.c:3398
msgid "Writing superblocks and filesystem accounting information: "
msgstr "Escribiendo superbloques y la información contable del sistema de ficheros: "
-#: misc/mke2fs.c:3393
+#: misc/mke2fs.c:3405
msgid "while writing out and closing file system"
msgstr "mientras se escribía y se cerraba el sistema de ficheros"
-#: misc/mke2fs.c:3396
+#: misc/mke2fs.c:3408
msgid ""
"done\n"
"\n"
@@ -6284,7 +6332,7 @@
msgid "%s: h=%3d s=%3d c=%4d start=%8d size=%8lu end=%8d\n"
msgstr "%s: h=%3d s=%3d c=%4d inicio=%8d tamaño=%8lu fin=%8d\n"
-#: misc/tune2fs.c:119
+#: misc/tune2fs.c:120
msgid ""
"\n"
"This operation requires a freshly checked filesystem.\n"
@@ -6292,15 +6340,15 @@
"\n"
"Esta operación requiere un systema de ficheros recién comprobado.\n"
-#: misc/tune2fs.c:121
+#: misc/tune2fs.c:122
msgid "Please run e2fsck -f on the filesystem.\n"
msgstr "Por favor, ejecute e2fsck -f sobre el sistema de ficheros.\n"
-#: misc/tune2fs.c:123
+#: misc/tune2fs.c:124
msgid "Please run e2fsck -fD on the filesystem.\n"
msgstr "Por favor, ejecute e2fsck -fD sobre el sistema de ficheros.\n"
-#: misc/tune2fs.c:136
+#: misc/tune2fs.c:137
#, c-format
msgid ""
"Usage: %s [-c max_mounts_count] [-e errors_behavior] [-f] [-g group]\n"
@@ -6321,20 +6369,20 @@
"\t[-E opción-extendida[,...]] [-T última-fecha-de-revisón] [-U UUID]\n"
"\t[-I nuevo-tamaño-de-nodo-i] [-z fichero-deshacer] dispositivo\n"
-#: misc/tune2fs.c:223
+#: misc/tune2fs.c:225
msgid "Journal superblock not found!\n"
msgstr "¡No se encontró el superbloque del fichero de transacciones!\n"
-#: misc/tune2fs.c:281
+#: misc/tune2fs.c:283
msgid "while trying to open external journal"
msgstr "mientras se intentaba abrir el fichero de transacciones externo"
-#: misc/tune2fs.c:287 misc/tune2fs.c:2804
+#: misc/tune2fs.c:289 misc/tune2fs.c:2889
#, c-format
msgid "%s is not a journal device.\n"
msgstr "%s no es un dispositivo con fichero de transacciones.\n"
-#: misc/tune2fs.c:296 misc/tune2fs.c:2813
+#: misc/tune2fs.c:298 misc/tune2fs.c:2898
#, c-format
msgid ""
"Journal superblock is corrupted, nr_users\n"
@@ -6343,13 +6391,13 @@
"El superbloque del fichero de transacciones está corrupto;\n"
"nr_users es demasiado grande (%d).\n"
-#: misc/tune2fs.c:303 misc/tune2fs.c:2820
+#: misc/tune2fs.c:305 misc/tune2fs.c:2905
msgid "Filesystem's UUID not found on journal device.\n"
msgstr ""
"No se encontró el UUID del sistema de ficheros en el fichero de\n"
"transacciones del dispositivo.\n"
-#: misc/tune2fs.c:327
+#: misc/tune2fs.c:329
msgid ""
"Cannot locate journal device. It was NOT removed\n"
"Use -f option to remove missing journal device.\n"
@@ -6357,52 +6405,52 @@
"No se puede localizar el dispositivo del fichero de transacciones. NO se eliminó\n"
"Utilice la opción -f para eliminar el dispositivo del fichero de transacciones perdido.\n"
-#: misc/tune2fs.c:336
+#: misc/tune2fs.c:338
msgid "Journal removed\n"
msgstr "Fichero de transacciones eliminado\n"
-#: misc/tune2fs.c:380
+#: misc/tune2fs.c:382
msgid "while reading bitmaps"
msgstr "mientras se leían los mapas de bits"
-#: misc/tune2fs.c:388
+#: misc/tune2fs.c:390
msgid "while clearing journal inode"
msgstr "mientras se borraba el nodo-i del fichero de transacciones"
-#: misc/tune2fs.c:399
+#: misc/tune2fs.c:401
msgid "while writing journal inode"
msgstr "mientras se escribía el nodo-i del fichero de transacciones"
-#: misc/tune2fs.c:435 misc/tune2fs.c:458 misc/tune2fs.c:471
+#: misc/tune2fs.c:437 misc/tune2fs.c:462 misc/tune2fs.c:475
msgid "(and reboot afterwards!)\n"
msgstr "(¡y reinicie después!)\n"
-#: misc/tune2fs.c:486
+#: misc/tune2fs.c:490
#, c-format
msgid "After running e2fsck, please run `resize2fs %s %s"
msgstr "Después de ejecutar e2fsck, por favor, ejecute `resize2fs %s %s"
-#: misc/tune2fs.c:489
+#: misc/tune2fs.c:493
#, c-format
msgid "Please run `resize2fs %s %s"
msgstr "Por favor, ejecute `resize2fs %s %s"
-#: misc/tune2fs.c:493
+#: misc/tune2fs.c:497
#, c-format
msgid " -z \"%s\""
msgstr " -z \"%s\""
-#: misc/tune2fs.c:495
+#: misc/tune2fs.c:499
#, c-format
msgid "' to enable 64-bit mode.\n"
msgstr "' para activar el modo de 64 bits.\n"
-#: misc/tune2fs.c:497
+#: misc/tune2fs.c:501
#, c-format
msgid "' to disable 64-bit mode.\n"
msgstr "' para desactivar el modo de 64 bits.\n"
-#: misc/tune2fs.c:1035
+#: misc/tune2fs.c:1039
msgid ""
"WARNING: Could not confirm kernel support for metadata_csum_seed.\n"
" This requires Linux >= v4.4.\n"
@@ -6410,17 +6458,17 @@
"ATENCIÓN: no se ha podido confirmar la capacidad del núcleo para metadata_csum_seed.\n"
" Se requiere Linux >= v4.4.\n"
-#: misc/tune2fs.c:1071
+#: misc/tune2fs.c:1075
#, c-format
msgid "Clearing filesystem feature '%s' not supported.\n"
msgstr "No se puede desactivar la característica '%s' del sistema de ficheros.\n"
-#: misc/tune2fs.c:1077
+#: misc/tune2fs.c:1081
#, c-format
msgid "Setting filesystem feature '%s' not supported.\n"
msgstr "El ajuste de la característica '%s' del sistema de ficheros no está implementado.\n"
-#: misc/tune2fs.c:1086
+#: misc/tune2fs.c:1090
msgid ""
"The has_journal feature may only be cleared when the filesystem is\n"
"unmounted or mounted read-only.\n"
@@ -6428,7 +6476,7 @@
"La bandera 'has_journal' sólo puede ser borrada cuando el sistema de\n"
"ficheros no está montado o está montado en modo de sólo lectura.\n"
-#: misc/tune2fs.c:1094
+#: misc/tune2fs.c:1098
msgid ""
"The needs_recovery flag is set. Please run e2fsck before clearing\n"
"the has_journal flag.\n"
@@ -6436,7 +6484,7 @@
"La bandera 'needs_recovery' está puesta. Por favor ejecute e2fsck antes\n"
"de deactivar la bandera 'has_journal'.\n"
-#: misc/tune2fs.c:1112
+#: misc/tune2fs.c:1116
msgid ""
"Setting filesystem feature 'sparse_super' not supported\n"
"for filesystems with the meta_bg feature enabled.\n"
@@ -6444,7 +6492,7 @@
"La característica 'sparse_super' no se puede activar\n"
"en sistemas de ficheros que tengan la característica meta_bg activada.\n"
-#: misc/tune2fs.c:1125
+#: misc/tune2fs.c:1129
msgid ""
"The multiple mount protection feature can't\n"
"be set if the filesystem is mounted or\n"
@@ -6454,12 +6502,12 @@
"ponerse si el sistema de ficheros está montado o es\n"
"de solo lectura.\n"
-#: misc/tune2fs.c:1143
+#: misc/tune2fs.c:1147
#, c-format
msgid "Multiple mount protection has been enabled with update interval %ds.\n"
msgstr "Se ha activado la protección de montaje múltiple con un intervalo de actualización de %ds.\n"
-#: misc/tune2fs.c:1152
+#: misc/tune2fs.c:1156
msgid ""
"The multiple mount protection feature cannot\n"
"be disabled if the filesystem is readonly.\n"
@@ -6467,20 +6515,20 @@
"La característica de montaje múltiple no se puede\n"
"desactivar si el sistema de ficheros es de solo lectura.\n"
-#: misc/tune2fs.c:1160
+#: misc/tune2fs.c:1164
msgid "Error while reading bitmaps\n"
msgstr "Error mientras se leían los mapas de bits\n"
-#: misc/tune2fs.c:1169
+#: misc/tune2fs.c:1173
#, c-format
msgid "Magic number in MMP block does not match. expected: %x, actual: %x\n"
msgstr "El número mágico en el bloque MMP no cuadra. esperado: %x, real: %x\n"
-#: misc/tune2fs.c:1174
+#: misc/tune2fs.c:1178
msgid "while reading MMP block."
msgstr "mientras se leía el bloque MMP."
-#: misc/tune2fs.c:1206
+#: misc/tune2fs.c:1210
msgid ""
"Clearing the flex_bg flag would cause the the filesystem to be\n"
"inconsistent.\n"
@@ -6488,7 +6536,7 @@
"Borrar la bandera flex_bg provocaría que el sistema de ficheros se\n"
"volviera inconsistente.\n"
-#: misc/tune2fs.c:1217
+#: misc/tune2fs.c:1221
msgid ""
"The huge_file feature may only be cleared when the filesystem is\n"
"unmounted or mounted read-only.\n"
@@ -6496,46 +6544,54 @@
"La característica 'huge_file' sólo puede ser borrada cuando el sistema de\n"
"ficheros no está montado o está en modo de sólo lectura.\n"
-#: misc/tune2fs.c:1228
+#: misc/tune2fs.c:1232
msgid "Enabling checksums could take some time."
msgstr "Podría tardarse un poco en activar la suma de comprobación."
-#: misc/tune2fs.c:1230
+#: misc/tune2fs.c:1235
msgid "Cannot enable metadata_csum on a mounted filesystem!\n"
msgstr "¡No puede activarse metadata_csum en un sistema de ficheros montado!\n"
-#: misc/tune2fs.c:1236
+#: misc/tune2fs.c:1241
msgid "Extents are not enabled. The file extent tree can be checksummed, whereas block maps cannot. Not enabling extents reduces the coverage of metadata checksumming. Re-run with -O extent to rectify.\n"
msgstr "Los «extents» no están activados. Puede calcularse la suma de comprobación del árbol «extent» de ficheros, no de mapas de bloques. No activar los «extents» reduce la cobertura de la suma de comprobación de metadatos. Ejecute otra vez con -O «extent» para rectificar.\n"
-#: misc/tune2fs.c:1243
+#: misc/tune2fs.c:1248
msgid "64-bit filesystem support is not enabled. The larger fields afforded by this feature enable full-strength checksumming. Run resize2fs -b to rectify.\n"
msgstr "No está activado que se admitan sistemas de ficheros de 64 bits. Los campos más grandes ofrecidos por esta característica permiten la suma de comprobación más potente. Ejecute resize2fs -b para rectificar.\n"
-#: misc/tune2fs.c:1269
+#: misc/tune2fs.c:1274
msgid "Disabling checksums could take some time."
msgstr "Podría tardarse un rato en desactivar la suma de comprobación."
-#: misc/tune2fs.c:1271
+#: misc/tune2fs.c:1277
msgid "Cannot disable metadata_csum on a mounted filesystem!\n"
msgstr "¡No se puede desactivar metadata_csum en un sistema de ficheros montado!\n"
-#: misc/tune2fs.c:1334
+#: misc/tune2fs.c:1318
+msgid "Cannot enable uninit_bg on a mounted filesystem!\n"
+msgstr "¡No se puede activar uninit_bg en un sistema de ficheros montado!\n"
+
+#: misc/tune2fs.c:1333
+msgid "Cannot disable uninit_bg on a mounted filesystem!\n"
+msgstr "¡No se puede desactivar uninit_bg en un sistema de ficheros montado!\n"
+
+#: misc/tune2fs.c:1352
#, c-format
msgid "Cannot enable 64-bit mode while mounted!\n"
msgstr "¡No se puede activar el modo de 64 bits cuando está montado!\n"
-#: misc/tune2fs.c:1344
+#: misc/tune2fs.c:1362
#, c-format
msgid "Cannot disable 64-bit mode while mounted!\n"
msgstr "¡No se puede desactivar el modo de 64 bits cuando está montado!\n"
-#: misc/tune2fs.c:1374
+#: misc/tune2fs.c:1392
#, c-format
msgid "Cannot enable project feature; inode size too small.\n"
msgstr "No se puede activar la característica del proyecto; el tamaño del nodo-i es demasiado pequeño.\n"
-#: misc/tune2fs.c:1395
+#: misc/tune2fs.c:1413
msgid ""
"\n"
"Warning: '^quota' option overrides '-Q'arguments.\n"
@@ -6543,13 +6599,11 @@
"\n"
"Atención: la opción '^quota' deja sin efecto los argumentos '-Q'.\n"
-#: misc/tune2fs.c:1405
-msgid "Cannot enable encrypt feature on filesystems with the encoding feature enabled.\n"
-msgstr ""
-"No es posible activar la característica de cifrado en sistemas de ficheros que tengan\n"
-"la característica de codificación activada.\n"
+#: misc/tune2fs.c:1430 misc/tune2fs.c:2182
+msgid "The casefold feature may only be enabled when the filesystem is unmounted.\n"
+msgstr "La característica casefold sólo puede activarse cuando el sistema de ficheros no está montado.\n"
-#: misc/tune2fs.c:1419
+#: misc/tune2fs.c:1442
msgid ""
"Setting feature 'metadata_csum_seed' is only supported\n"
"on filesystems with the metadata_csum feature enabled.\n"
@@ -6557,7 +6611,7 @@
"La característica 'metadata_csum_seed' solo se puede activar\n"
"en sistemas de ficheros que tengan activada la característica meta_csum.\n"
-#: misc/tune2fs.c:1437
+#: misc/tune2fs.c:1460
msgid ""
"UUID has changed since enabling metadata_csum. Filesystem must be unmounted \n"
"to safely rewrite all metadata to match the new UUID.\n"
@@ -6566,15 +6620,15 @@
"sistema de ficheros para que puedan reescribirse sin peligro todos los metadatos \n"
"y casen con el nuevo UUID.\n"
-#: misc/tune2fs.c:1443
+#: misc/tune2fs.c:1466
msgid "Recalculating checksums could take some time."
msgstr "Podría tardarse un poco en recalcular las sumas de comprobación."
-#: misc/tune2fs.c:1485
+#: misc/tune2fs.c:1509
msgid "The filesystem already has a journal.\n"
msgstr "El sistema de ficheros ya tiene un fichero de transacciones.\n"
-#: misc/tune2fs.c:1505
+#: misc/tune2fs.c:1529
#, c-format
msgid ""
"\n"
@@ -6583,21 +6637,21 @@
"\n"
"\tmientras se intentaba abrir el fichero de transacciones en %s\n"
-#: misc/tune2fs.c:1509
+#: misc/tune2fs.c:1533
#, c-format
msgid "Creating journal on device %s: "
msgstr "Creando un fichero de transacciones en el dispositivo %s: "
-#: misc/tune2fs.c:1517
+#: misc/tune2fs.c:1541
#, c-format
msgid "while adding filesystem to journal on %s"
msgstr "mientras se agregaba un sistema de ficheros al fichero de transacciones en %s"
-#: misc/tune2fs.c:1523
+#: misc/tune2fs.c:1547
msgid "Creating journal inode: "
msgstr "Creando el nodo-i del fichero de transacciones: "
-#: misc/tune2fs.c:1537
+#: misc/tune2fs.c:1561
msgid ""
"\n"
"\twhile trying to create journal file"
@@ -6605,31 +6659,31 @@
"\n"
"\tmientras intentaba crear el fichero de transacciones"
-#: misc/tune2fs.c:1575
+#: misc/tune2fs.c:1599
#, c-format
msgid "Cannot enable project quota; inode size too small.\n"
msgstr "No se puede activar la cuota del proyecto; el tamaño del nodo-i es demasiado pequeño.\n"
-#: misc/tune2fs.c:1588
+#: misc/tune2fs.c:1612
msgid "while initializing quota context in support library"
msgstr "mientras se inicializaba el contexto de cuota en la biblioteca de soporte"
-#: misc/tune2fs.c:1603
+#: misc/tune2fs.c:1627
#, c-format
msgid "while updating quota limits (%d)"
msgstr "mientras se actualizaban los límites de cuota (%d)"
-#: misc/tune2fs.c:1611
+#: misc/tune2fs.c:1637
#, c-format
msgid "while writing quota file (%d)"
msgstr "mientras se escribía el fichero de cuota (%d)"
-#: misc/tune2fs.c:1629
+#: misc/tune2fs.c:1655
#, c-format
msgid "while removing quota file (%d)"
msgstr "mientras se borraba el fichero de cuota (%d)"
-#: misc/tune2fs.c:1672
+#: misc/tune2fs.c:1698
msgid ""
"\n"
"Bad quota options specified.\n"
@@ -6651,97 +6705,117 @@
"\n"
"\n"
-#: misc/tune2fs.c:1730
+#: misc/tune2fs.c:1756
#, c-format
msgid "Couldn't parse date/time specifier: %s"
msgstr "No se puede analizar sintácticamente el especificador de fecha/hora: %s"
-#: misc/tune2fs.c:1755 misc/tune2fs.c:1768
+#: misc/tune2fs.c:1781 misc/tune2fs.c:1794
#, c-format
msgid "bad mounts count - %s"
msgstr "cuenta de montajes incorrectos - %s"
-#: misc/tune2fs.c:1811
+#: misc/tune2fs.c:1837
#, c-format
msgid "bad gid/group name - %s"
msgstr "nombre del gid/grupo incorrecto - %s"
-#: misc/tune2fs.c:1844
+#: misc/tune2fs.c:1870
#, c-format
msgid "bad interval - %s"
msgstr "intervalo incorrecto - %s"
-#: misc/tune2fs.c:1873
+#: misc/tune2fs.c:1899
#, c-format
msgid "bad reserved block ratio - %s"
msgstr "proporción de bloques reservados incorrecta - %s"
-#: misc/tune2fs.c:1888
+#: misc/tune2fs.c:1914
msgid "-o may only be specified once"
msgstr "-o solo puede especificarse una vez"
-#: misc/tune2fs.c:1897
+#: misc/tune2fs.c:1923
msgid "-O may only be specified once"
msgstr "-O sólo se puede especificar una vez"
-#: misc/tune2fs.c:1914
+#: misc/tune2fs.c:1940
#, c-format
msgid "bad reserved blocks count - %s"
msgstr "cuenta de bloques reservados incorrecta - %s"
-#: misc/tune2fs.c:1943
+#: misc/tune2fs.c:1969
#, c-format
msgid "bad uid/user name - %s"
msgstr "nombre de uid/usuario incorrecto - %s"
-#: misc/tune2fs.c:1960
+#: misc/tune2fs.c:1986
#, c-format
msgid "bad inode size - %s"
msgstr "tamaño de nodo-i no válido - %s"
-#: misc/tune2fs.c:1967
+#: misc/tune2fs.c:1993
#, c-format
msgid "Inode size must be a power of two- %s"
msgstr "El tamaño de nodo-i debe ser potencia de dos - %s"
-#: misc/tune2fs.c:2064
+#: misc/tune2fs.c:2093
#, c-format
msgid "mmp_update_interval too big: %lu\n"
msgstr "mmp_update_interval demasiado grande: %lu\n"
-#: misc/tune2fs.c:2069
+#: misc/tune2fs.c:2098
#, c-format
msgid "Setting multiple mount protection update interval to %lu second\n"
msgid_plural "Setting multiple mount protection update interval to %lu seconds\n"
msgstr[0] "Se pone el intervalo de actualización de protección de montaje múltiple a %lu segundo\n"
msgstr[1] "Se pone el intervalo de actualización de protección de montaje múltiple a %lu segundos\n"
-#: misc/tune2fs.c:2078
+#: misc/tune2fs.c:2107
#, c-format
msgid "Setting filesystem error flag to force fsck.\n"
msgstr "Se pone el indicador de error del sistema de ficheros para forzar fsck.\n"
-#: misc/tune2fs.c:2096
+#: misc/tune2fs.c:2125
#, c-format
msgid "Invalid RAID stride: %s\n"
msgstr "«Stride» de RAID no válido: %s\n"
-#: misc/tune2fs.c:2111
+#: misc/tune2fs.c:2140
#, c-format
msgid "Invalid RAID stripe-width: %s\n"
msgstr "«stripe-width» de RAID no válido: %s\n"
-#: misc/tune2fs.c:2126
+#: misc/tune2fs.c:2155
#, c-format
msgid "Invalid hash algorithm: %s\n"
msgstr "Algoritmo «hash» no válido: %s\n"
-#: misc/tune2fs.c:2132
+#: misc/tune2fs.c:2161
#, c-format
msgid "Setting default hash algorithm to %s (%d)\n"
msgstr "Poniendo el algoritmo «hash» predeterminado a %s (%d)\n"
-#: misc/tune2fs.c:2151
+#: misc/tune2fs.c:2188
+#, c-format
+msgid "Cannot alter existing encoding\n"
+msgstr "No se puede alterar la condificación existente\n"
+
+#: misc/tune2fs.c:2194
+#, c-format
+msgid "Invalid encoding: %s\n"
+msgstr "La codificación no es válida: %s\n"
+
+#: misc/tune2fs.c:2200
+#, c-format
+msgid "Setting encoding to '%s'\n"
+msgstr "Se pone la condificación '%s'\n"
+
+#: misc/tune2fs.c:2224
+#, c-format
+msgid "Setting encoding_flags to '%s'\n"
+msgstr "Se ponen encoding_flags a '%s' \n"
+
+#: misc/tune2fs.c:2234
msgid ""
"\n"
"Bad options specified.\n"
@@ -6759,6 +6833,8 @@
"\tforce_fsck\n"
"\ttest_fs\n"
"\t^test_fs\n"
+"\tencoding=<encoding>\n"
+"\tencoding_flags=<flags>\n"
msgstr ""
"\n"
"Las opciones especificadas son incorrectas.\n"
@@ -6776,32 +6852,34 @@
"\tforce_fsck\n"
"\ttest_fs\n"
"\t^test_fs\n"
+"\tencoding=<condificación>\n"
+"\tencoding_flags=<banderas>\n"
-#: misc/tune2fs.c:2622
+#: misc/tune2fs.c:2707
msgid "Failed to read inode bitmap\n"
msgstr "Fallo mientras se leía el mapa de bits del nodo-i\n"
-#: misc/tune2fs.c:2627
+#: misc/tune2fs.c:2712
msgid "Failed to read block bitmap\n"
msgstr "Fallo leyendo el mapa de bits del bloque\n"
-#: misc/tune2fs.c:2644 resize/resize2fs.c:1277
+#: misc/tune2fs.c:2729 resize/resize2fs.c:1277
msgid "blocks to be moved"
msgstr "bloques por ser movidos"
-#: misc/tune2fs.c:2647
+#: misc/tune2fs.c:2732
msgid "Failed to allocate block bitmap when increasing inode size\n"
msgstr "Fallo reservando el mapa de bits del bloque al incrementar el tamaño de nodo-i\n"
-#: misc/tune2fs.c:2653
+#: misc/tune2fs.c:2738
msgid "Not enough space to increase inode size \n"
msgstr "No hay espacio suficiente para aumentar el tamaño de nodo-i \n"
-#: misc/tune2fs.c:2658
+#: misc/tune2fs.c:2743
msgid "Failed to relocate blocks during inode resize \n"
msgstr "Fallo mientras se reservaban los bloques para el cambio de tamaño de nodo-i \n"
-#: misc/tune2fs.c:2690
+#: misc/tune2fs.c:2775
msgid ""
"Error in resizing the inode size.\n"
"Run e2undo to undo the file system changes. \n"
@@ -6809,7 +6887,7 @@
"Error al cambiar el tamaño del nodo-i.\n"
"Ejecute e2undo para deshacer los cambios del sistema de ficheros. \n"
-#: misc/tune2fs.c:2900
+#: misc/tune2fs.c:2985
msgid ""
"If you are sure the filesystem is not in use on any node, run:\n"
"'tune2fs -f -E clear_mmp {device}'\n"
@@ -6817,7 +6895,7 @@
"Si se sabe con certeza que el sistema de ficheros no está en uso en ningún\n"
"modo, ejecute 'tune2fs -f -E clear_mmp {device}'\n"
-#: misc/tune2fs.c:2907
+#: misc/tune2fs.c:2992
#, c-format
msgid ""
"MMP block magic is bad. Try to fix it by running:\n"
@@ -6826,29 +6904,29 @@
"El número mágico del bloque MMP es incorrecto. Trate de arreglarlo ejecutando:\n"
"'e2fsck -f %s'\n"
-#: misc/tune2fs.c:2919
+#: misc/tune2fs.c:3004
msgid "Cannot modify a journal device.\n"
msgstr "No se puede modificar el dispositivo de un fichero de transacciones.\n"
-#: misc/tune2fs.c:2932
+#: misc/tune2fs.c:3017
#, c-format
msgid "The inode size is already %lu\n"
msgstr "El tamaño del nodo-i ya es %lu\n"
-#: misc/tune2fs.c:2939
+#: misc/tune2fs.c:3024
msgid "Shrinking inode size is not supported\n"
msgstr "No es posible reducir el tamaño del nodo-i\n"
-#: misc/tune2fs.c:2944
+#: misc/tune2fs.c:3029
#, c-format
msgid "Invalid inode size %lu (max %d)\n"
msgstr "Tamaño incorrecto del nodo-i %lu (máx %d)\n"
-#: misc/tune2fs.c:2950
+#: misc/tune2fs.c:3035
msgid "Resizing inodes could take some time."
msgstr "Podría tardarse un rato en cambiar el tamaño de los nodos-i."
-#: misc/tune2fs.c:2998
+#: misc/tune2fs.c:3084
#, c-format
msgid ""
"Warning: The journal is dirty. You may wish to replay the journal like:\n"
@@ -6865,57 +6943,57 @@
"después ejecute otra vez esta orden. De lo contrario, podrían perderse los cambios\n"
"al recuperar el fichero de transacciones.\n"
-#: misc/tune2fs.c:3009
+#: misc/tune2fs.c:3093
#, c-format
msgid "Recovering journal.\n"
msgstr "Recuperando el fichero de transacciones.\n"
-#: misc/tune2fs.c:3028
+#: misc/tune2fs.c:3114
#, c-format
msgid "Setting maximal mount count to %d\n"
msgstr "Se pone la cuenta de montajes máxima a %d\n"
-#: misc/tune2fs.c:3034
+#: misc/tune2fs.c:3120
#, c-format
msgid "Setting current mount count to %d\n"
msgstr "Se pone la cuenta de montajes actual a %d\n"
-#: misc/tune2fs.c:3039
+#: misc/tune2fs.c:3125
#, c-format
msgid "Setting error behavior to %d\n"
msgstr "Se pone el comportamiento de errores a %d\n"
-#: misc/tune2fs.c:3044
+#: misc/tune2fs.c:3130
#, c-format
msgid "Setting reserved blocks gid to %lu\n"
msgstr "Se pone el gid de los bloques reservados a %lu\n"
-#: misc/tune2fs.c:3049
+#: misc/tune2fs.c:3135
#, c-format
msgid "interval between checks is too big (%lu)"
msgstr "el intervalo entre revisiones es demasiado grande (%lu)"
-#: misc/tune2fs.c:3056
+#: misc/tune2fs.c:3142
#, c-format
msgid "Setting interval between checks to %lu seconds\n"
msgstr "Se pone el intervalo entre revisiones en %lu segundos\n"
-#: misc/tune2fs.c:3063
+#: misc/tune2fs.c:3149
#, c-format
msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n"
msgstr "Se pone el porcentaje de bloques reservados a %g%% (%llu bloques)\n"
-#: misc/tune2fs.c:3069
+#: misc/tune2fs.c:3155
#, c-format
msgid "reserved blocks count is too big (%llu)"
msgstr "la cantidad de bloques reservados es demasiado grande (%llu)"
-#: misc/tune2fs.c:3076
+#: misc/tune2fs.c:3162
#, c-format
msgid "Setting reserved blocks count to %llu\n"
msgstr "Se pone la cantidad de bloques reservados a %llu\n"
-#: misc/tune2fs.c:3081
+#: misc/tune2fs.c:3167
msgid ""
"\n"
"The filesystem already has sparse superblocks.\n"
@@ -6923,7 +7001,7 @@
"\n"
"El sistema de ficheros ya tiene superbloques dispersos.\n"
-#: misc/tune2fs.c:3084
+#: misc/tune2fs.c:3170
msgid ""
"\n"
"Setting the sparse superblock flag not supported\n"
@@ -6933,7 +7011,7 @@
"La característica de superbloques dispersos no se puede activar\n"
"en sistemas de ficheros que tengan la característica meta_bg activada.\n"
-#: misc/tune2fs.c:3094
+#: misc/tune2fs.c:3180
#, c-format
msgid ""
"\n"
@@ -6942,7 +7020,7 @@
"\n"
"La bandera de superbloques dispersos está puesta. %s"
-#: misc/tune2fs.c:3099
+#: misc/tune2fs.c:3185
msgid ""
"\n"
"Clearing the sparse superblock flag not supported.\n"
@@ -6950,49 +7028,49 @@
"\n"
"No es posible quitar la bandera de superbloques dispersos.\n"
-#: misc/tune2fs.c:3107
+#: misc/tune2fs.c:3193
#, c-format
msgid "Setting time filesystem last checked to %s\n"
msgstr "Se pone la hora de la última revisión al sistema de ficheros a %s\n"
-#: misc/tune2fs.c:3113
+#: misc/tune2fs.c:3199
#, c-format
msgid "Setting reserved blocks uid to %lu\n"
msgstr "Se pone el uid de los bloques reservados a %lu\n"
-#: misc/tune2fs.c:3145
+#: misc/tune2fs.c:3231
msgid "Error in using clear_mmp. It must be used with -f\n"
msgstr "Error al utilizar clear_mmp. Debe utilizarse con -f\n"
-#: misc/tune2fs.c:3163
+#: misc/tune2fs.c:3249
msgid "The quota feature may only be changed when the filesystem is unmounted.\n"
msgstr "La característica de cuota sólo puede cambiarse cuando el sistema de ficheros no está montado.\n"
-#: misc/tune2fs.c:3181
+#: misc/tune2fs.c:3269
msgid "Setting the UUID on this filesystem could take some time."
msgstr "Podría tardarse un rato en establecer el UUID en este sistema de ficheros."
-#: misc/tune2fs.c:3196
+#: misc/tune2fs.c:3286
msgid "The UUID may only be changed when the filesystem is unmounted.\n"
msgstr "El UUID solo puede cambiarse cuando el sistema de ficheros no está montado.\n"
-#: misc/tune2fs.c:3199
+#: misc/tune2fs.c:3289
msgid "If you only use kernels newer than v4.4, run 'tune2fs -O metadata_csum_seed' and re-run this command.\n"
msgstr "Si solo utiliza núcleos más recientes que v4.4, ejecute 'tune2fs -O metadata_csum_seed' y ejecute otra vez esta orden.\n"
-#: misc/tune2fs.c:3229
+#: misc/tune2fs.c:3320
msgid "Invalid UUID format\n"
msgstr "Formato del UUID no válido\n"
-#: misc/tune2fs.c:3245
+#: misc/tune2fs.c:3336
msgid "Need to update journal superblock.\n"
msgstr "Hace falta actualizar el superbloque del fichero de transacciones.\n"
-#: misc/tune2fs.c:3267
+#: misc/tune2fs.c:3358
msgid "The inode size may only be changed when the filesystem is unmounted.\n"
msgstr "El tamaño de nodo-i solo puede cambiarse cuando el sistema de ficheros no está montado.\n"
-#: misc/tune2fs.c:3274
+#: misc/tune2fs.c:3365
msgid ""
"Changing the inode size not supported for filesystems with the flex_bg\n"
"feature enabled.\n"
@@ -7000,26 +7078,26 @@
"No es posible cambiar el tamaño de nodo-i en sistemas de ficheros que tengan\n"
"la característica flex_bg activada.\n"
-#: misc/tune2fs.c:3292
+#: misc/tune2fs.c:3383
#, c-format
msgid "Setting inode size %lu\n"
msgstr "Se pone el tamaño de nodo-i %lu\n"
-#: misc/tune2fs.c:3296
+#: misc/tune2fs.c:3387
msgid "Failed to change inode size\n"
msgstr "Fallo mientras se cambiaba el tamaño de nodo-i\n"
-#: misc/tune2fs.c:3310
+#: misc/tune2fs.c:3401
#, c-format
msgid "Setting stride size to %d\n"
msgstr "Configurando el tamaño de «stride» a %d\n"
-#: misc/tune2fs.c:3315
+#: misc/tune2fs.c:3406
#, c-format
msgid "Setting stripe width to %d\n"
msgstr "Configurando la anchura de «stripe» a %d\n"
-#: misc/tune2fs.c:3322
+#: misc/tune2fs.c:3413
#, c-format
msgid "Setting extended default mount options to '%s'\n"
msgstr "Se ponen las opciones de montaje extendidas predeterminadas a '%s'\n"
@@ -7321,17 +7399,17 @@
"bajo su cuenta y riesgo! Utilice la opción «force» si desea seguir adelante de todos modos.\n"
"\n"
-#: resize/main.c:366
+#: resize/main.c:368
#, c-format
msgid "while opening %s"
msgstr "mientras se abría %s"
-#: resize/main.c:374
+#: resize/main.c:376
#, c-format
msgid "while getting stat information for %s"
msgstr "mientras se estaba obteniendo información del estado de %s"
-#: resize/main.c:451
+#: resize/main.c:453
#, c-format
msgid ""
"Please run 'e2fsck -f %s' first.\n"
@@ -7340,30 +7418,34 @@
"Por favor ejecute antes 'e2fsck -f %s'.\n"
"\n"
-#: resize/main.c:470
+#: resize/main.c:472
#, c-format
msgid "Estimated minimum size of the filesystem: %llu\n"
msgstr "Tamaño mínimo estimado del sistema de ficheros: %llu\n"
-#: resize/main.c:507
+#: resize/main.c:509
#, c-format
msgid "Invalid new size: %s\n"
msgstr "El nuevo tamaño no es válido: %s\n"
-#: resize/main.c:526
+#: resize/main.c:528
msgid "New size too large to be expressed in 32 bits\n"
msgstr "El nuevo tamaño es demasiado grande para poder expresarse en 32 bits\n"
-#: resize/main.c:534
+#: resize/main.c:541
+msgid "New size results in too many block group descriptors.\n"
+msgstr "El nuevo tamaño da lugar a demasiados descriptores del grupo de bloques.\n"
+
+#: resize/main.c:548
#, c-format
msgid "New size smaller than minimum (%llu)\n"
msgstr "El nuevo tamaño es menor que el mínimo (%llu)\n"
-#: resize/main.c:540
+#: resize/main.c:554
msgid "Invalid stride length"
msgstr "Longitud de «stride» no válida"
-#: resize/main.c:564
+#: resize/main.c:578
#, c-format
msgid ""
"The containing partition (or device) is only %llu (%dk) blocks.\n"
@@ -7374,27 +7456,27 @@
"Y se ha solicitado un nuevo tamaño de %llu bloques.\n"
"\n"
-#: resize/main.c:571
+#: resize/main.c:585
#, c-format
msgid "Cannot set and unset 64bit feature.\n"
msgstr "No se puede poner y quitar la característica 64bit.\n"
-#: resize/main.c:575
+#: resize/main.c:589
#, c-format
msgid "Cannot change the 64bit feature on a filesystem that is larger than 2^32 blocks.\n"
msgstr "No se puede cambiar la característica 64bit en un sistema de ficheros mayor de 2^32 bloques.\n"
-#: resize/main.c:581
+#: resize/main.c:595
#, c-format
msgid "Cannot change the 64bit feature while the filesystem is mounted.\n"
msgstr "No se puede cambiar la característica 64bit cuando el sistema de ficheros está montado.\n"
-#: resize/main.c:587
+#: resize/main.c:601
#, c-format
msgid "Please enable the extents feature with tune2fs before enabling the 64bit feature.\n"
msgstr "Por favor, active la característica «extents» con tune2fs antes de activar la característica 64bit.\n"
-#: resize/main.c:593
+#: resize/main.c:607
#, c-format
msgid ""
"The filesystem is already %llu (%dk) blocks long. Nothing to do!\n"
@@ -7403,37 +7485,37 @@
"El sistema de ficheros ya tiene %llu bloques (%dk) de longitud. ¡No hay que hacer nada!\n"
"\n"
-#: resize/main.c:600
+#: resize/main.c:614
#, c-format
msgid "The filesystem is already 64-bit.\n"
msgstr "El sistema de ficheros ya es de 64 bits.\n"
-#: resize/main.c:605
+#: resize/main.c:619
#, c-format
msgid "The filesystem is already 32-bit.\n"
msgstr "El sistema de ficheros ya es de 32 bits.\n"
-#: resize/main.c:613
+#: resize/main.c:627
#, c-format
msgid "Converting the filesystem to 64-bit.\n"
msgstr "Se convierte el sistema de ficheros a 64 bits.\n"
-#: resize/main.c:615
+#: resize/main.c:629
#, c-format
msgid "Converting the filesystem to 32-bit.\n"
msgstr "Se convierte el sistema de ficheros a 32 bits.\n"
-#: resize/main.c:617
+#: resize/main.c:631
#, c-format
msgid "Resizing the filesystem on %s to %llu (%dk) blocks.\n"
msgstr "Cambiando el tamaño del sistema de ficheros en %s a %llu (%dk) bloques.\n"
-#: resize/main.c:626
+#: resize/main.c:640
#, c-format
msgid "while trying to resize %s"
msgstr "mientras se intentaba modificar el tamaño %s"
-#: resize/main.c:629
+#: resize/main.c:643
#, c-format
msgid ""
"Please run 'e2fsck -fy %s' to fix the filesystem\n"
@@ -7442,7 +7524,7 @@
"Por favor, ejecute 'e2fsck -fy %s' para arreglar el sistema de ficheros\n"
"después de la operación de cambio de tamaño interrumpida.\n"
-#: resize/main.c:635
+#: resize/main.c:649
#, c-format
msgid ""
"The filesystem on %s is now %llu (%dk) blocks long.\n"
@@ -7451,7 +7533,7 @@
"El sistema de ficheros en %s tiene ahora %llu bloques (de %dk).\n"
"\n"
-#: resize/main.c:650
+#: resize/main.c:664
#, c-format
msgid "while trying to truncate %s"
msgstr "mientras se intentaba truncar %s"
@@ -7553,8 +7635,8 @@
msgstr "Esto nunca debería suceder: ¡El nodo-i de cambio de tamaño está corrupto!\n"
#: lib/ext2fs/ext2_err.c:11
-msgid "EXT2FS Library version 1.45.3"
-msgstr "Biblioteca EXT2FS versión 1.45.3"
+msgid "EXT2FS Library version 1.45.6"
+msgstr "Biblioteca EXT2FS versión 1.45.6"
#: lib/ext2fs/ext2_err.c:12
msgid "Wrong magic number for ext2_filsys structure"
@@ -8268,6 +8350,10 @@
msgid "Inode containing extended attribute value is corrupted"
msgstr "El nodo-i que contiene el valor de un atributo extendido está corrupto"
+#: lib/ext2fs/ext2_err.c:190
+msgid "Group descriptors not loaded"
+msgstr "Descriptores de grupo no cargados"
+
#: lib/support/prof_err.c:11
msgid "Profile version 0.0"
msgstr "Versión de «profile» 0.0"
@@ -8392,47 +8478,47 @@
msgid "Bad magic value in profile_file_data_t"
msgstr "Valor mágico incorrecto en profile_file_data_t"
-#: lib/support/plausible.c:118
+#: lib/support/plausible.c:114
#, c-format
-msgid "\tlast mounted on %s on %s"
-msgstr "\túltima fecha de montaje de %s %s"
+msgid "\tlast mounted on %.*s on %s"
+msgstr "\túltima fecha de montaje en %.*s %s"
-#: lib/support/plausible.c:121
+#: lib/support/plausible.c:117
#, c-format
msgid "\tlast mounted on %s"
msgstr "\túltima fecha de montaje %s"
-#: lib/support/plausible.c:124
+#: lib/support/plausible.c:120
#, c-format
msgid "\tcreated on %s"
msgstr "\tfecha de creación %s"
-#: lib/support/plausible.c:127
+#: lib/support/plausible.c:123
#, c-format
msgid "\tlast modified on %s"
msgstr "\tfecha de última modificación %s"
-#: lib/support/plausible.c:161
+#: lib/support/plausible.c:157
#, c-format
msgid "Found a %s partition table in %s\n"
msgstr "Se ha encontrado una tabla de particiones %s en %s\n"
-#: lib/support/plausible.c:191
+#: lib/support/plausible.c:187
#, c-format
msgid "The file %s does not exist and no size was specified.\n"
msgstr "El fichero %s no existe y no se ha especificado ningún tamaño.\n"
-#: lib/support/plausible.c:199
+#: lib/support/plausible.c:195
#, c-format
msgid "Creating regular file %s\n"
msgstr "Creando el fichero ordinario %s\n"
-#: lib/support/plausible.c:202
+#: lib/support/plausible.c:198
#, c-format
msgid "Could not open %s: %s\n"
msgstr "No se puede abrir %s: %s\n"
-#: lib/support/plausible.c:205
+#: lib/support/plausible.c:201
msgid ""
"\n"
"The device apparently does not exist; did you specify it correctly?\n"
@@ -8440,26 +8526,38 @@
"\n"
"En apariencia, el dispositivo no existe; ¿Se especificó correctamente?\n"
-#: lib/support/plausible.c:227
+#: lib/support/plausible.c:223
#, c-format
msgid "%s is not a block special device.\n"
msgstr "%s no es un dispositivo especial de bloques.\n"
-#: lib/support/plausible.c:249
+#: lib/support/plausible.c:245
#, c-format
msgid "%s contains a %s file system labelled '%s'\n"
msgstr "%s contiene un sistema de ficheros %s etiquetado '%s'\n"
-#: lib/support/plausible.c:252
+#: lib/support/plausible.c:248
#, c-format
msgid "%s contains a %s file system\n"
msgstr "%s contiene un sistema de ficheros %s\n"
-#: lib/support/plausible.c:276
+#: lib/support/plausible.c:272
#, c-format
msgid "%s contains `%s' data\n"
msgstr "%s contiene datos `%s'\n"
+#~ msgid ""
+#~ "The encrypt and casefold features are not compatible.\n"
+#~ "They can not be both enabled simultaneously.\n"
+#~ msgstr ""
+#~ "Las características de cifrado y «casefold» no son compatibles.\n"
+#~ "No pueden estar activadas las dos a la vez.\n"
+
+#~ msgid "Cannot enable encrypt feature on filesystems with the encoding feature enabled.\n"
+#~ msgstr ""
+#~ "No es posible activar la característica de cifrado en sistemas de ficheros que tengan\n"
+#~ "la característica de codificación activada.\n"
+
#~ msgid "while opening directory \"%s\""
#~ msgstr "mientras se abría el directorio \"%s\""
diff --git a/resize/extent.c b/resize/extent.c
index e5ca16c..4177c6f 100644
--- a/resize/extent.c
+++ b/resize/extent.c
@@ -201,10 +201,15 @@
fputs(_("# Extent dump:\n"), out);
fprintf(out, _("#\tNum=%llu, Size=%llu, Cursor=%llu, Sorted=%llu\n"),
- extent->num, extent->size, extent->cursor, extent->sorted);
+ (unsigned long long) extent->num,
+ (unsigned long long) extent->size,
+ (unsigned long long) extent->cursor,
+ (unsigned long long) extent->sorted);
for (i=0, ent=extent->list; i < extent->num; i++, ent++) {
- fprintf(out, "#\t\t %llu -> %llu (%llu)\n", ent->old_loc,
- ent->new_loc, ent->size);
+ fprintf(out, "#\t\t %llu -> %llu (%llu)\n",
+ (unsigned long long) ent->old_loc,
+ (unsigned long long) ent->new_loc,
+ (unsigned long long) ent->size);
}
}
diff --git a/resize/main.c b/resize/main.c
index dce03f9..ccfd289 100644
--- a/resize/main.c
+++ b/resize/main.c
@@ -470,7 +470,7 @@
if (print_min_size) {
printf(_("Estimated minimum size of the filesystem: %llu\n"),
- min_size);
+ (unsigned long long) min_size);
exit(0);
}
@@ -545,7 +545,8 @@
if (!force && new_size < min_size) {
com_err(program_name, 0,
- _("New size smaller than minimum (%llu)\n"), min_size);
+ _("New size smaller than minimum (%llu)\n"),
+ (unsigned long long) min_size);
exit(1);
}
if (use_stride >= 0) {
@@ -577,8 +578,8 @@
if (!force && (new_size > max_size)) {
fprintf(stderr, _("The containing partition (or device)"
" is only %llu (%dk) blocks.\nYou requested a new size"
- " of %llu blocks.\n\n"), max_size,
- blocksize / 1024, new_size);
+ " of %llu blocks.\n\n"), (unsigned long long) max_size,
+ blocksize / 1024, (unsigned long long) new_size);
exit(1);
}
if ((flags & RESIZE_DISABLE_64BIT) && (flags & RESIZE_ENABLE_64BIT)) {
@@ -605,7 +606,8 @@
}
} else if (new_size == ext2fs_blocks_count(fs->super)) {
fprintf(stderr, _("The filesystem is already %llu (%dk) "
- "blocks long. Nothing to do!\n\n"), new_size,
+ "blocks long. Nothing to do!\n\n"),
+ (unsigned long long) new_size,
blocksize / 1024);
exit(0);
}
@@ -636,7 +638,8 @@
else
printf(_("Resizing the filesystem on "
"%s to %llu (%dk) blocks.\n"),
- device_name, new_size, blocksize / 1024);
+ device_name, (unsigned long long) new_size,
+ blocksize / 1024);
retval = resize_fs(fs, &new_size, flags,
((flags & RESIZE_PERCENT_COMPLETE) ?
resize_progress_func : 0));
@@ -653,7 +656,7 @@
exit(1);
}
printf(_("The filesystem on %s is now %llu (%dk) blocks long.\n\n"),
- device_name, new_size, blocksize / 1024);
+ device_name, (unsigned long long) new_size, blocksize / 1024);
if ((st_buf.st_size > new_file_size) &&
(fd > 0)) {
diff --git a/resize/online.c b/resize/online.c
index 2caf946..eef7c0b 100644
--- a/resize/online.c
+++ b/resize/online.c
@@ -218,7 +218,8 @@
}
printf(_("Performing an on-line resize of %s to %llu (%dk) blocks.\n"),
- fs->device_name, *new_size, fs->blocksize / 1024);
+ fs->device_name, (unsigned long long) *new_size,
+ fs->blocksize / 1024);
size = fs->group_desc_count * sb->s_blocks_per_group +
sb->s_first_data_block;
diff --git a/resize/resize2fs.c b/resize/resize2fs.c
index 270e4de..a0d08e5 100644
--- a/resize/resize2fs.c
+++ b/resize/resize2fs.c
@@ -177,9 +177,9 @@
#ifdef RESIZE2FS_DEBUG
if (rfs->flags & RESIZE_DEBUG_BMOVE)
printf("Number of free blocks: %llu/%llu, Needed: %llu\n",
- ext2fs_free_blocks_count(rfs->old_fs->super),
- ext2fs_free_blocks_count(rfs->new_fs->super),
- rfs->needed_blocks);
+ (unsigned long long) ext2fs_free_blocks_count(rfs->old_fs->super),
+ (unsigned long long) ext2fs_free_blocks_count(rfs->new_fs->super),
+ (unsigned long long) rfs->needed_blocks);
#endif
init_resource_track(&rtrack, "block_mover", fs->io);
@@ -758,7 +758,7 @@
new_inodes =(unsigned long long) fs->super->s_inodes_per_group * fs->group_desc_count;
if (new_inodes > ~0U) {
fprintf(stderr, _("inodes (%llu) must be less than %u\n"),
- new_inodes, ~0U);
+ (unsigned long long) new_inodes, ~0U);
return EXT2_ET_TOO_MANY_INODES;
}
fs->super->s_inodes_count = fs->super->s_inodes_per_group *
@@ -1243,7 +1243,8 @@
* nothing other than standard metadata in use.
*/
return;
- } else if (ext2fs_test_block_bitmap2(rfs->old_fs->block_map, blk) &&
+ } else if (blk < ext2fs_blocks_count(rfs->old_fs->super) &&
+ ext2fs_test_block_bitmap2(rfs->old_fs->block_map, blk) &&
!ext2fs_test_block_bitmap2(meta_bmap, blk)) {
ext2fs_mark_block_bitmap2(rfs->move_blocks, blk);
rfs->needed_blocks++;
@@ -1510,7 +1511,8 @@
if (ext2fs_block_bitmap_loc(old_fs, i) !=
(blk = ext2fs_block_bitmap_loc(fs, i))) {
ext2fs_block_alloc_stats2(fs, blk, +1);
- if (ext2fs_test_block_bitmap2(old_fs->block_map, blk) &&
+ if (blk < ext2fs_blocks_count(old_fs->super) &&
+ ext2fs_test_block_bitmap2(old_fs->block_map, blk) &&
!ext2fs_test_block_bitmap2(meta_bmap, blk))
ext2fs_mark_block_bitmap2(rfs->move_blocks,
blk);
@@ -1518,7 +1520,8 @@
if (ext2fs_inode_bitmap_loc(old_fs, i) !=
(blk = ext2fs_inode_bitmap_loc(fs, i))) {
ext2fs_block_alloc_stats2(fs, blk, +1);
- if (ext2fs_test_block_bitmap2(old_fs->block_map, blk) &&
+ if (blk < ext2fs_blocks_count(old_fs->super) &&
+ ext2fs_test_block_bitmap2(old_fs->block_map, blk) &&
!ext2fs_test_block_bitmap2(meta_bmap, blk))
ext2fs_mark_block_bitmap2(rfs->move_blocks,
blk);
@@ -1544,7 +1547,8 @@
for (blk = ext2fs_inode_table_loc(fs, i), j=0;
j < fs->inode_blocks_per_group ; j++, blk++) {
ext2fs_block_alloc_stats2(fs, blk, +1);
- if (ext2fs_test_block_bitmap2(old_fs->block_map, blk) &&
+ if (blk < ext2fs_blocks_count(old_fs->super) &&
+ ext2fs_test_block_bitmap2(old_fs->block_map, blk) &&
!ext2fs_test_block_bitmap2(meta_bmap, blk))
ext2fs_mark_block_bitmap2(rfs->move_blocks,
blk);
@@ -1644,7 +1648,8 @@
#ifdef RESIZE2FS_DEBUG
if (rfs->flags & 0xF)
- printf("get_alloc_block allocating %llu\n", blk);
+ printf("get_alloc_block allocating %llu\n",
+ (unsigned long long) blk);
#endif
ext2fs_mark_block_bitmap2(rfs->old_fs->block_map, blk);
@@ -1750,7 +1755,9 @@
#ifdef RESIZE2FS_DEBUG
if (rfs->flags & RESIZE_DEBUG_BMOVE)
printf("Moving %llu blocks %llu->%llu\n",
- size, old_blk, new_blk);
+ (unsigned long long) size,
+ (unsigned long long) old_blk,
+ (unsigned long long) new_blk);
#endif
do {
c = size;
@@ -1843,8 +1850,9 @@
#ifdef RESIZE2FS_DEBUG
if (pb->rfs->flags & RESIZE_DEBUG_BMOVE)
printf("ino=%u, blockcnt=%lld, %llu->%llu\n",
- pb->old_ino, blockcnt, block,
- new_block);
+ pb->old_ino, (long long) blockcnt,
+ (unsigned long long) block,
+ (unsigned long long) new_block);
#endif
block = new_block;
}
@@ -2460,7 +2468,8 @@
#ifdef RESIZE2FS_DEBUG
if (rfs->flags & RESIZE_DEBUG_ITABLEMOVE)
printf("Itable move group %d block %llu->%llu (diff %lld)\n",
- i, old_blk, new_blk, diff);
+ i, (unsigned long long) old_blk,
+ (unsigned long long) new_blk, diff);
#endif
if (!diff)
@@ -2934,7 +2943,8 @@
}
#ifdef RESIZE2FS_DEBUG
if (flags & RESIZE_DEBUG_MIN_CALC)
- printf("fs requires %llu data blocks.\n", data_needed);
+ printf("fs requires %llu data blocks.\n",
+ (unsigned long long) data_needed);
#endif
/*
@@ -2977,7 +2987,7 @@
#ifdef RESIZE2FS_DEBUG
if (flags & RESIZE_DEBUG_MIN_CALC)
printf("With %d group(s), we have %llu blocks available.\n",
- groups, data_blocks);
+ groups, (unsigned long long) data_blocks);
#endif
/*
@@ -3030,8 +3040,10 @@
if (flags & RESIZE_DEBUG_MIN_CALC)
printf("Added %d extra group(s), "
"blks_needed %llu, data_blocks %llu, "
- "last_start %llu\n", extra_grps, blks_needed,
- data_blocks, last_start);
+ "last_start %llu\n", extra_grps,
+ (unsigned long long) blks_needed,
+ (unsigned long long) data_blocks,
+ (unsigned long long) last_start);
#endif
}
@@ -3046,7 +3058,8 @@
#ifdef RESIZE2FS_DEBUG
if (flags & RESIZE_DEBUG_MIN_CALC)
- printf("Last group's overhead is %llu\n", overhead);
+ printf("Last group's overhead is %llu\n",
+ (unsigned long long) overhead);
#endif
/*
@@ -3059,7 +3072,7 @@
#ifdef RESIZE2FS_DEBUG
if (flags & RESIZE_DEBUG_MIN_CALC)
printf("Need %llu data blocks in last group\n",
- remainder);
+ (unsigned long long) remainder);
#endif
/*
* 50 is a magic number that mkfs/resize uses to see if its
@@ -3077,7 +3090,8 @@
overhead += fs->super->s_first_data_block;
#ifdef RESIZE2FS_DEBUG
if (flags & RESIZE_DEBUG_MIN_CALC)
- printf("Final size of last group is %lld\n", overhead);
+ printf("Final size of last group is %llu\n",
+ (unsigned long long) overhead);
#endif
/* Add extra slack for bigalloc file systems */
@@ -3104,7 +3118,8 @@
#ifdef RESIZE2FS_DEBUG
if (flags & RESIZE_DEBUG_MIN_CALC)
- printf("Estimated blocks needed: %llu\n", blks_needed);
+ printf("Estimated blocks needed: %llu\n",
+ (unsigned long long) blks_needed);
#endif
/*
@@ -3139,7 +3154,8 @@
#ifdef RESIZE2FS_DEBUG
if (flags & RESIZE_DEBUG_MIN_CALC)
- printf("Extents safety margin: %llu\n", safe_margin);
+ printf("Extents safety margin: %llu\n",
+ (unsigned long long) safe_margin);
#endif
blks_needed += safe_margin;
}
diff --git a/resize/test_extent.c b/resize/test_extent.c
index 5e9aed7..11ad132 100644
--- a/resize/test_extent.c
+++ b/resize/test_extent.c
@@ -88,7 +88,8 @@
goto handle_error;
} else if (!strcmp(cmd, "lookup")) {
num2 = ext2fs_extent_translate(extent, num1);
- fprintf(out, "# Answer: %llu%s\n", num2,
+ fprintf(out, "# Answer: %llu%s\n",
+ (unsigned long long) num2,
num2 ? "" : " (not found)");
} else if (!strcmp(cmd, "dump")) {
ext2fs_extent_dump(extent, out);
@@ -104,7 +105,9 @@
if (!size)
break;
fprintf(out, "# %llu -> %llu (%llu)\n",
- num1, num2, size);
+ (unsigned long long) num1,
+ (unsigned long long) num2,
+ (unsigned long long) size);
}
} else
fputs("# Syntax error\n", out);
diff --git a/tests/m_rootdir_acl/script b/tests/m_rootdir_acl/script
index 3e8860c..2a2a4c6 100644
--- a/tests/m_rootdir_acl/script
+++ b/tests/m_rootdir_acl/script
@@ -40,7 +40,7 @@
other::r-x
default:user::rwx
default:group::r-x
-default:group:adm:r-x
+default:group:4:r-x
default:mask::r-x
default:other::r-x
EOF
diff --git a/tests/t_write_subdirectory/name b/tests/t_write_subdirectory/name
new file mode 100644
index 0000000..740c409
--- /dev/null
+++ b/tests/t_write_subdirectory/name
@@ -0,0 +1 @@
+debugfs write creates file in subdirectory
diff --git a/tests/t_write_subdirectory/script b/tests/t_write_subdirectory/script
new file mode 100644
index 0000000..bb354f8
--- /dev/null
+++ b/tests/t_write_subdirectory/script
@@ -0,0 +1,29 @@
+FSCK_OPT=-nf
+
+$MKE2FS -q -F -o Linux -I 256 -b 4096 $TMPFILE 10000 > $test_name.log 2>&1
+status=$?
+if [ "$status" != 0 ] ; then
+ echo "mke2fs failed" > $test_name.failed
+ echo "$test_name: $test_description: failed"
+ return $status
+fi
+
+touch $TMPFILE.1
+cat <<- EOF | $DEBUGFS -w $TMPFILE >> $test_name.log 2>&1
+ mkdir aaa
+ mkdir aaa/bbb
+ write $TMPFILE.1 aaa/bbb/ccc
+EOF
+rm -f $TMPFILE.1
+
+$FSCK $FSCK_OPT $TMPFILE >> $test_name.log 2>&1
+status=$?
+if [ "$status" = 0 ] ; then
+ echo "$test_name: $test_description: ok"
+ touch $test_name.ok
+else
+ echo "e2fsck with failed with $status" > $test_name.failed
+ echo "$test_name: $test_description: failed"
+ return $status
+fi
+rm -f $TMPFILE
diff --git a/tests/u_bounce_io/expect.1 b/tests/u_bounce_io/expect.1
new file mode 100644
index 0000000..a11cb9b
--- /dev/null
+++ b/tests/u_bounce_io/expect.1
@@ -0,0 +1,106 @@
+Creating filesystem with 65536 1k blocks and 16384 inodes
+Superblock backups stored on blocks:
+ 8193, 24577, 40961, 57345
+
+Allocating group tables: done
+Writing inode tables: done
+Writing superblocks and filesystem accounting information: done
+
+Filesystem features: ext_attr resize_inode dir_index filetype sparse_super
+Pass 1: Checking inodes, blocks, and sizes
+Pass 2: Checking directory structure
+Pass 3: Checking directory connectivity
+Pass 4: Checking reference counts
+Pass 5: Checking group summary information
+test_filesys: 11/16384 files (0.0% non-contiguous), 3364/65536 blocks
+Exit status is 0
+Filesystem volume name: <none>
+Last mounted on: <not available>
+Filesystem magic number: 0xEF53
+Filesystem revision #: 1 (dynamic)
+Filesystem features: ext_attr resize_inode dir_index filetype sparse_super
+Default mount options: (none)
+Filesystem state: clean
+Errors behavior: Continue
+Filesystem OS type: Linux
+Inode count: 16384
+Block count: 65536
+Reserved block count: 3276
+Overhead clusters: 3350
+Free blocks: 62172
+Free inodes: 16373
+First block: 1
+Block size: 1024
+Fragment size: 1024
+Reserved GDT blocks: 255
+Blocks per group: 8192
+Fragments per group: 8192
+Inodes per group: 2048
+Inode blocks per group: 256
+Mount count: 0
+Check interval: 15552000 (6 months)
+Reserved blocks uid: 0
+Reserved blocks gid: 0
+First inode: 11
+Inode size: 128
+Default directory hash: half_md4
+
+
+Group 0: (Blocks 1-8192)
+ Primary superblock at 1, Group descriptors at 2-2
+ Reserved GDT blocks at 3-257
+ Block bitmap at 258 (+257), Inode bitmap at 259 (+258)
+ Inode table at 260-515 (+259)
+ 7663 free blocks, 2037 free inodes, 2 directories
+ Free blocks: 530-8192
+ Free inodes: 12-2048
+Group 1: (Blocks 8193-16384)
+ Backup superblock at 8193, Group descriptors at 8194-8194
+ Reserved GDT blocks at 8195-8449
+ Block bitmap at 8450 (+257), Inode bitmap at 8451 (+258)
+ Inode table at 8452-8707 (+259)
+ 7677 free blocks, 2048 free inodes, 0 directories
+ Free blocks: 8708-16384
+ Free inodes: 2049-4096
+Group 2: (Blocks 16385-24576)
+ Block bitmap at 16385 (+0), Inode bitmap at 16386 (+1)
+ Inode table at 16387-16642 (+2)
+ 7934 free blocks, 2048 free inodes, 0 directories
+ Free blocks: 16643-24576
+ Free inodes: 4097-6144
+Group 3: (Blocks 24577-32768)
+ Backup superblock at 24577, Group descriptors at 24578-24578
+ Reserved GDT blocks at 24579-24833
+ Block bitmap at 24834 (+257), Inode bitmap at 24835 (+258)
+ Inode table at 24836-25091 (+259)
+ 7677 free blocks, 2048 free inodes, 0 directories
+ Free blocks: 25092-32768
+ Free inodes: 6145-8192
+Group 4: (Blocks 32769-40960)
+ Block bitmap at 32769 (+0), Inode bitmap at 32770 (+1)
+ Inode table at 32771-33026 (+2)
+ 7934 free blocks, 2048 free inodes, 0 directories
+ Free blocks: 33027-40960
+ Free inodes: 8193-10240
+Group 5: (Blocks 40961-49152)
+ Backup superblock at 40961, Group descriptors at 40962-40962
+ Reserved GDT blocks at 40963-41217
+ Block bitmap at 41218 (+257), Inode bitmap at 41219 (+258)
+ Inode table at 41220-41475 (+259)
+ 7677 free blocks, 2048 free inodes, 0 directories
+ Free blocks: 41476-49152
+ Free inodes: 10241-12288
+Group 6: (Blocks 49153-57344)
+ Block bitmap at 49153 (+0), Inode bitmap at 49154 (+1)
+ Inode table at 49155-49410 (+2)
+ 7934 free blocks, 2048 free inodes, 0 directories
+ Free blocks: 49411-57344
+ Free inodes: 12289-14336
+Group 7: (Blocks 57345-65535)
+ Backup superblock at 57345, Group descriptors at 57346-57346
+ Reserved GDT blocks at 57347-57601
+ Block bitmap at 57602 (+257), Inode bitmap at 57603 (+258)
+ Inode table at 57604-57859 (+259)
+ 7676 free blocks, 2048 free inodes, 0 directories
+ Free blocks: 57860-65535
+ Free inodes: 14337-16384
diff --git a/tests/u_bounce_io/script b/tests/u_bounce_io/script
new file mode 100644
index 0000000..5dd6329
--- /dev/null
+++ b/tests/u_bounce_io/script
@@ -0,0 +1,9 @@
+DESCRIPTION="bounce I/O in unix_io"
+DUMPE2FS_IGNORE_80COL=1
+export DUMPE2FS_IGNORE_80COL
+UNIX_IO_FORCE_BOUNCE=yes
+export UNIX_IO_FORCE_BOUNCE
+FS_SIZE=65536
+. $cmd_dir/run_mke2fs
+unset DUMPE2FS_IGNORE_80COL
+unset UNIX_IO_FORCE_BOUNCE
diff --git a/version.h b/version.h
index a45d995..e27de3c 100644
--- a/version.h
+++ b/version.h
@@ -7,5 +7,5 @@
* file may be redistributed under the GNU Public License v2.
*/
-#define E2FSPROGS_VERSION "1.46.1"
-#define E2FSPROGS_DATE "9-Feb-2021"
+#define E2FSPROGS_VERSION "1.46.2"
+#define E2FSPROGS_DATE "28-Feb-2021"