aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2020-03-21 22:34:30 -0400
committerTheodore Ts'o <tytso@mit.edu>2020-03-21 22:34:30 -0400
commit8fd92e9af006da392d667775b8bbe0db9e8639d2 (patch)
tree0916e5d01faee9f883b62c80e436f53764acfbcb
parent1126208873090c4a85c123b325a81d1505ed2f17 (diff)
parent29d22c467547f11f4db31331549ee4e304eeb220 (diff)
downloade2fsprogs-8fd92e9af006da392d667775b8bbe0db9e8639d2.tar.gz
Merge tag 'v1.45.6' into next
v1.45.6
-rw-r--r--README2
l---------RELEASE-NOTES2
-rw-r--r--contrib/android/basefs_allocator.c121
-rw-r--r--contrib/android/fsmap.c58
-rw-r--r--debian/changelog26
-rw-r--r--debian/libext2fs2.symbols2
-rw-r--r--debugfs/Android.bp1
-rw-r--r--doc/RelNotes/v1.45.6.txt62
-rw-r--r--doc/libext2fs.texinfo8
-rw-r--r--e2fsck/Android.bp10
-rw-r--r--e2fsprogs.lsm8
-rw-r--r--e2fsprogs.spec2
-rw-r--r--lib/Android.bp1
-rw-r--r--lib/blkid/Android.bp1
-rw-r--r--lib/e2p/Android.bp1
-rw-r--r--lib/e2p/e2p.h2
-rw-r--r--lib/e2p/feature.c18
-rw-r--r--lib/et/Android.bp1
-rw-r--r--lib/ext2fs/Android.bp1
-rw-r--r--lib/ext2fs/gen_bitmap.c4
-rw-r--r--lib/support/Android.bp1
-rw-r--r--lib/uuid/Android.bp1
-rw-r--r--misc/Android.bp33
-rw-r--r--misc/mke2fs.8.in11
-rw-r--r--misc/tune2fs.8.in8
-rw-r--r--po/e2fsprogs.pot627
-rw-r--r--po/ms.po284
-rw-r--r--resize/Android.bp48
-rw-r--r--util/android_types.h4
-rwxr-xr-xutil/gen-android-files7
-rw-r--r--version.h2
31 files changed, 832 insertions, 525 deletions
diff --git a/README b/README
index 75cd2fc13..3304a4d98 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
- This is the new version (1.45.5) of the second extended file
+ This is the new version (1.45.6) 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 df4968224..9387cc6db 120000
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -1 +1 @@
-doc/RelNotes/v1.45.5.txt \ No newline at end of file
+doc/RelNotes/v1.45.6.txt \ No newline at end of file
diff --git a/contrib/android/basefs_allocator.c b/contrib/android/basefs_allocator.c
index 658a75147..5c92ddc2d 100644
--- a/contrib/android/basefs_allocator.c
+++ b/contrib/android/basefs_allocator.c
@@ -9,6 +9,8 @@
struct base_fs_allocator {
struct ext2fs_hashmap *entries;
struct basefs_entry *cur_entry;
+ /* The next expected logical block to allocate for cur_entry. */
+ blk64_t next_lblk;
/* Blocks which are definitely owned by a single inode in BaseFS. */
ext2fs_block_bitmap exclusive_block_map;
/* Blocks which are available to the first inode that requests it. */
@@ -39,6 +41,28 @@ static void fs_free_blocks_range(ext2_filsys fs,
}
}
+/*
+ * Free any blocks in the bitmap that were reserved but never used. This is
+ * needed to free dedup_block_map and ensure the free block bitmap is
+ * internally consistent.
+ */
+static void fs_free_blocks_bitmap(ext2_filsys fs, ext2fs_block_bitmap bitmap)
+{
+ blk64_t block = 0;
+ blk64_t start = fs->super->s_first_data_block;
+ blk64_t end = ext2fs_blocks_count(fs->super) - 1;
+ errcode_t retval;
+
+ for (;;) {
+ retval = ext2fs_find_first_set_block_bitmap2(bitmap, start, end,
+ &block);
+ if (retval)
+ break;
+ ext2fs_unmark_block_bitmap2(fs->block_map, block);
+ start = block + 1;
+ }
+}
+
static void basefs_allocator_free(ext2_filsys fs,
struct base_fs_allocator *allocator)
{
@@ -53,6 +77,7 @@ static void basefs_allocator_free(ext2_filsys fs,
}
ext2fs_hashmap_free(entries);
}
+ fs_free_blocks_bitmap(fs, allocator->dedup_block_map);
ext2fs_free_block_bitmap(allocator->exclusive_block_map);
ext2fs_free_block_bitmap(allocator->dedup_block_map);
free(allocator);
@@ -191,29 +216,66 @@ out:
}
/* Try and acquire the next usable block from the Base FS map. */
-static int get_next_block(ext2_filsys fs, struct base_fs_allocator *allocator,
- struct block_range_list* list, blk64_t *ret)
+static errcode_t get_next_block(ext2_filsys fs, struct base_fs_allocator *allocator,
+ struct block_range_list* list, blk64_t *ret)
{
blk64_t block;
ext2fs_block_bitmap exclusive_map = allocator->exclusive_block_map;
ext2fs_block_bitmap dedup_map = allocator->dedup_block_map;
- while (list->head) {
+ if (!list->head)
+ return EXT2_ET_BLOCK_ALLOC_FAIL;
+
+ block = consume_next_block(list);
+ if (block >= ext2fs_blocks_count(fs->super))
+ return EXT2_ET_BLOCK_ALLOC_FAIL;
+ if (ext2fs_test_block_bitmap2(exclusive_map, block)) {
+ ext2fs_unmark_block_bitmap2(exclusive_map, block);
+ *ret = block;
+ return 0;
+ }
+ if (ext2fs_test_block_bitmap2(dedup_map, block)) {
+ ext2fs_unmark_block_bitmap2(dedup_map, block);
+ *ret = block;
+ return 0;
+ }
+ return EXT2_ET_BLOCK_ALLOC_FAIL;
+}
+
+/*
+ * BaseFS lists blocks in logical block order. However, the allocator hook is
+ * only called if a block needs to be allocated. In the case of a deduplicated
+ * block, or a hole, the hook is not invoked. This means the next block
+ * allocation request will be out of sequence. For example, consider if BaseFS
+ * specifies the following (0 being a hole):
+ * 1 2 3 0 4 5
+ *
+ * If the new file has a hole at logical block 0, we could accidentally
+ * shift the entire expected block list as follows:
+ * 0 1 2 0 3 4
+ *
+ * To account for this, we track the next expected logical block in the
+ * allocator. If the current request is for a later logical block, we skip and
+ * free the intermediate physical blocks that would have been allocated. This
+ * ensures the original block assignment is respected.
+ */
+static void skip_blocks(ext2_filsys fs, struct base_fs_allocator *allocator,
+ struct blk_alloc_ctx *ctx)
+{
+ blk64_t block;
+ struct block_range_list *list = &allocator->cur_entry->blocks;
+ ext2fs_block_bitmap exclusive_map = allocator->exclusive_block_map;
+
+ while (list->head && allocator->next_lblk < ctx->lblk) {
block = consume_next_block(list);
if (block >= ext2fs_blocks_count(fs->super))
continue;
if (ext2fs_test_block_bitmap2(exclusive_map, block)) {
ext2fs_unmark_block_bitmap2(exclusive_map, block);
- *ret = block;
- return 0;
- }
- if (ext2fs_test_block_bitmap2(dedup_map, block)) {
- ext2fs_unmark_block_bitmap2(dedup_map, block);
- *ret = block;
- return 0;
+ ext2fs_unmark_block_bitmap2(fs->block_map, block);
}
+ allocator->next_lblk++;
}
- return -1;
}
static errcode_t basefs_block_allocator(ext2_filsys fs, blk64_t goal,
@@ -225,6 +287,10 @@ static errcode_t basefs_block_allocator(ext2_filsys fs, blk64_t goal,
ext2fs_block_bitmap dedup_map = allocator->dedup_block_map;
if (e && ctx && (ctx->flags & BLOCK_ALLOC_DATA)) {
+ if (allocator->next_lblk < ctx->lblk)
+ skip_blocks(fs, allocator, ctx);
+ allocator->next_lblk = ctx->lblk + 1;
+
if (!get_next_block(fs, allocator, &e->blocks, ret))
return 0;
}
@@ -234,17 +300,28 @@ static errcode_t basefs_block_allocator(ext2_filsys fs, blk64_t goal,
ext2fs_mark_block_bitmap2(fs->block_map, *ret);
return 0;
}
- if (retval == EXT2_ET_BLOCK_ALLOC_FAIL) {
- /* Try to steal a block from the dedup pool. */
- retval = ext2fs_find_first_set_block_bitmap2(dedup_map,
- fs->super->s_first_data_block,
- ext2fs_blocks_count(fs->super) - 1, ret);
- if (!retval) {
- ext2fs_unmark_block_bitmap2(dedup_map, *ret);
+ if (retval != EXT2_ET_BLOCK_ALLOC_FAIL)
+ return retval;
+
+ /* Try to steal a block from the dedup pool. */
+ retval = ext2fs_find_first_set_block_bitmap2(dedup_map,
+ fs->super->s_first_data_block,
+ ext2fs_blocks_count(fs->super) - 1, ret);
+ if (!retval) {
+ ext2fs_unmark_block_bitmap2(dedup_map, *ret);
+ return 0;
+ }
+
+ /*
+ * As a last resort, take any block from our file's list. This
+ * risks bloating the diff, but means we are more likely to
+ * successfully build an image.
+ */
+ while (e->blocks.head) {
+ if (!get_next_block(fs, allocator, &e->blocks, ret))
return 0;
- }
}
- return retval;
+ return EXT2_ET_BLOCK_ALLOC_FAIL;
}
void base_fs_alloc_cleanup(ext2_filsys fs)
@@ -264,10 +341,12 @@ errcode_t base_fs_alloc_set_target(ext2_filsys fs, const char *target_path,
if (mode != S_IFREG)
return 0;
- if (allocator)
+ if (allocator) {
allocator->cur_entry = ext2fs_hashmap_lookup(allocator->entries,
target_path,
strlen(target_path));
+ allocator->next_lblk = 0;
+ }
return 0;
}
diff --git a/contrib/android/fsmap.c b/contrib/android/fsmap.c
index 36adb7f0a..9ee8472dc 100644
--- a/contrib/android/fsmap.c
+++ b/contrib/android/fsmap.c
@@ -23,11 +23,51 @@ static int walk_block(ext2_filsys fs EXT2FS_ATTR((unused)), blk64_t *blocknr,
return format->add_block(fs, *blocknr, blockcnt < 0, format->private);
}
+static errcode_t ino_iter_extents(ext2_filsys fs, ext2_ino_t ino,
+ ext2_extent_handle_t extents,
+ struct walk_ext_priv_data *pdata)
+{
+ blk64_t block;
+ errcode_t retval;
+ blk64_t next_lblk = 0;
+ int op = EXT2_EXTENT_ROOT;
+ struct ext2fs_extent extent;
+ struct fsmap_format *format = pdata->format;
+
+ for (;;) {
+ retval = ext2fs_extent_get(extents, op, &extent);
+ if (retval)
+ break;
+
+ op = EXT2_EXTENT_NEXT;
+
+ if ((extent.e_flags & EXT2_EXTENT_FLAGS_SECOND_VISIT) ||
+ !(extent.e_flags & EXT2_EXTENT_FLAGS_LEAF))
+ continue;
+
+ for (; next_lblk < extent.e_lblk; next_lblk++)
+ format->add_block(fs, 0, 0, format->private);
+
+ block = extent.e_pblk;
+ for (; next_lblk < extent.e_lblk + extent.e_len; next_lblk++)
+ format->add_block(fs, block++, 0, format->private);
+ }
+
+ if (retval == EXT2_ET_EXTENT_NO_NEXT)
+ retval = 0;
+ if (retval) {
+ com_err(__func__, retval, ("getting extents of ino \"%u\""),
+ ino);
+ }
+ return retval;
+}
+
static errcode_t ino_iter_blocks(ext2_filsys fs, ext2_ino_t ino,
struct walk_ext_priv_data *pdata)
{
errcode_t retval;
struct ext2_inode inode;
+ ext2_extent_handle_t extents;
struct fsmap_format *format = pdata->format;
retval = ext2fs_read_inode(fs, ino, &inode);
@@ -38,10 +78,20 @@ static errcode_t ino_iter_blocks(ext2_filsys fs, ext2_ino_t ino,
return format->inline_data(&(inode.i_block[0]),
format->private);
- retval = ext2fs_block_iterate3(fs, ino, 0, NULL, walk_block, pdata);
- if (retval)
- com_err(__func__, retval, _("listing blocks of ino \"%u\""),
- ino);
+ retval = ext2fs_extent_open(fs, ino, &extents);
+ if (retval == EXT2_ET_INODE_NOT_EXTENT) {
+ retval = ext2fs_block_iterate3(fs, ino, BLOCK_FLAG_READ_ONLY,
+ NULL, walk_block, pdata);
+ if (retval) {
+ com_err(__func__, retval, _("listing blocks of ino \"%u\""),
+ ino);
+ }
+ return retval;
+ }
+
+ retval = ino_iter_extents(fs, ino, extents, pdata);
+
+ ext2fs_extent_free(extents);
return retval;
}
diff --git a/debian/changelog b/debian/changelog
index b388f1231..4fd1eca47 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,27 @@
+e2fsprogs (1.45.6-1) unstable; urgency=medium
+
+ * New upstream release
+ * Fixed a number of potential out of bounds memory accesses caused by
+ fuzzed / malicious file systems.
+ * Fix a spurious complaint from e2fsck when a directory which previously
+ had more than 32000 subdirectories has the number of subdirectories
+ drops below 32000.
+ * Improve e2fsck's ability to deal with file systems with a *very* large
+ number of directories.
+ * Debugfs will ignore lines in its command files which start with a
+ comment character ("#").
+ * Fix debugfs so it correctly prints inode numbers > 2**31.
+ * Filefrag now supports very large files (with > 4 billion blocks), as
+ well as block sizes up to 1 GiB.
+ * Mke2fs -d now correctly sets permission with files where the owner
+ permissions are not rwx.
+ * Updated and clarified various man pages
+ (Closes: #953493, #953494, #951808)
+ * Drop as unneeded libattr1-dev as a build dependency (Closes: #953926)
+ * Update the Malay translation from the translation project.
+
+ -- Theodore Y. Ts'o <tytso@mit.edu> Fri, 20 Mar 2020 23:49:33 -0400
+
e2fsprogs (1.45.5-2) unstable; urgency=medium
* Fix com_err support on Hurd, which has POSIX E* error code starting at
@@ -9,7 +33,7 @@ e2fsprogs (1.45.5-2) unstable; urgency=medium
e2fsprogs (1.45.5-1) unstable; urgency=medium
- * New upstream feature
+ * New upstream release
* E2fsck will no longer force a full file system check if time-based
forced checks are disabled and the last mount time or last write time in
the superblock are in the future.
diff --git a/debian/libext2fs2.symbols b/debian/libext2fs2.symbols
index 024630fad..e4952481a 100644
--- a/debian/libext2fs2.symbols
+++ b/debian/libext2fs2.symbols
@@ -6,6 +6,7 @@ libe2p.so.2 libext2fs2 #MINVER#
e2p_encmode2string@Base 1.43
e2p_encoding2str@Base 1.45.1
e2p_feature2string@Base 1.37
+ e2p_feature_to_string@Base 1.45.6
e2p_get_encoding_flags@Base 1.45
e2p_hash2string@Base 1.37
e2p_is_null_uuid@Base 1.37
@@ -480,6 +481,7 @@ libext2fs.so.2 libext2fs2 #MINVER#
ext2fs_read_inode_full@Base 1.37
ext2fs_remove_exit_fn@Base 1.43
ext2fs_reserve_super_and_bgd@Base 1.37
+ ext2fs_resize_array@Base 1.45.6
ext2fs_resize_block_bitmap2@Base 1.42
ext2fs_resize_block_bitmap@Base 1.37
ext2fs_resize_generic_bitmap@Base 1.37
diff --git a/debugfs/Android.bp b/debugfs/Android.bp
index 9f9a9f0ce..b9f299b5f 100644
--- a/debugfs/Android.bp
+++ b/debugfs/Android.bp
@@ -66,6 +66,7 @@ cc_binary {
cc_binary {
name: "debugfs_static",
static_executable: true,
+ host_supported: true,
defaults: ["debugfs-defaults"],
static_libs: debugfs_libs,
diff --git a/doc/RelNotes/v1.45.6.txt b/doc/RelNotes/v1.45.6.txt
new file mode 100644
index 000000000..ac822bfba
--- /dev/null
+++ b/doc/RelNotes/v1.45.6.txt
@@ -0,0 +1,62 @@
+E2fsprogs 1.45.6 (March 20, 2020)
+==================================
+
+Updates/Fixes since v1.45.5:
+
+UI and Features
+---------------
+
+Debugfs will ignore lines in its command files which start with a
+comment character ("#").
+
+
+Fixes
+-----
+
+Fixed a number of potential out of bounds memory accesses caused by
+fuzzed / malicious file systems. (Addresses Google Bug: #147849134)
+
+Fix a spurious complaint from e2fsck when a directory which previously
+had more than 32000 subdirectories has the number of subdirectories
+drops below 32000.
+
+Fix an ismounted check when an LVM device is renamed while the device is
+mounted.
+
+Mke2fs -d now correctly sets permission with files where the owner
+permissions are not rwx.
+
+Improve e2fsck's ability to deal with file systems with very large
+number of directories, such that various data structures take more than
+2GiB of memory. Use better structure packing to improve the memory
+efficiency of these data structures.
+
+Fix debugfs so it correctly prints inode numbers > 2**31.
+
+Filefrag now supports very large files (with > 4 billion blocks), as
+well as block sizes up to 1 GiB.
+
+Updated and clarified various man pages. (Addresses Debian Bugs:
+#953493, #953494, #951808)
+
+
+
+Performance, Internal Implementation, Development Support etc.
+--------------------------------------------------------------
+
+Reserved the error code EXT2_ET_NO_GDESC (which will be used in
+e2fsprogs v1.46+)
+
+Added a thread-safe variant of e2p_feature2string(),
+e2p_feature_to_string() to the libe2p library.
+
+Fixed portability problems caused by gcc 10.
+
+Fixed portability problem in libcom_err with GNU Hurd.
+
+Fixed various Debian packaging issues. (Addresses-Debian-Bug: #953926)
+
+Synchronized changes from Android's AOSP e2fsprogs tree.
+
+Update the Malay translation from the translation project.
+
diff --git a/doc/libext2fs.texinfo b/doc/libext2fs.texinfo
index 3ad28efa0..51012eb63 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.45.5)
+@settitle The EXT2FS Library (version 1.45.6)
@synindex tp fn
@comment %**end of header
@@ -60,8 +60,8 @@ by the author.
@title The EXT2FS Library
@subtitle The EXT2FS Library
-@subtitle Version 1.45.5
-@subtitle January 2020
+@subtitle Version 1.45.6
+@subtitle March 2020
@author by Theodore Ts'o
@@ -101,7 +101,7 @@ by the Foundation.
@top The EXT2FS Library
-This manual documents the EXT2FS Library, version 1.45.5.
+This manual documents the EXT2FS Library, version 1.45.6.
@menu
* Introduction to the EXT2FS Library::
diff --git a/e2fsck/Android.bp b/e2fsck/Android.bp
index 5c802ac6d..d410a5e39 100644
--- a/e2fsck/Android.bp
+++ b/e2fsck/Android.bp
@@ -67,3 +67,13 @@ cc_binary {
static_libs: e2fsck_libs,
}
+
+cc_binary {
+ name: "e2fsck_ramdisk",
+ stem: "e2fsck",
+ static_executable: true,
+ ramdisk: true,
+ defaults: ["e2fsck-defaults"],
+ system_shared_libs: [],
+ static_libs: e2fsck_libs,
+}
diff --git a/e2fsprogs.lsm b/e2fsprogs.lsm
index e90b44e93..fe9d65e7b 100644
--- a/e2fsprogs.lsm
+++ b/e2fsprogs.lsm
@@ -1,15 +1,15 @@
Begin3
Title: EXT2 Filesystem utilities
-Version: 1.45.5
-Entered-date: 2020-01-07
+Version: 1.45.6
+Entered-date: 2020-03-20
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
- 7756kB e2fsprogs-1.45.5.tar.gz
- 1kB e2fsprogs-1.45.5.lsm
+ 7756kB e2fsprogs-1.45.6.tar.gz
+ 1kB e2fsprogs-1.45.6.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
Copying-policy: GPL-2/LGPL-2
diff --git a/e2fsprogs.spec b/e2fsprogs.spec
index ca35cc270..7026601bb 100644
--- a/e2fsprogs.spec
+++ b/e2fsprogs.spec
@@ -5,7 +5,7 @@
Summary: Utilities for managing ext2/ext3/ext4 filesystems
Name: e2fsprogs
-Version: 1.45.4
+Version: 1.45.6
Release: 0
License: GPLv2
Group: System Environment/Base
diff --git a/lib/Android.bp b/lib/Android.bp
index 77f69da77..d877475a5 100644
--- a/lib/Android.bp
+++ b/lib/Android.bp
@@ -7,6 +7,7 @@ cc_library_headers {
name: "libext2-headers",
host_supported: true,
vendor_available: true,
+ ramdisk_available: true,
recovery_available: true,
target: {
windows: {
diff --git a/lib/blkid/Android.bp b/lib/blkid/Android.bp
index 5a02736aa..ccfdf8b98 100644
--- a/lib/blkid/Android.bp
+++ b/lib/blkid/Android.bp
@@ -3,6 +3,7 @@
cc_library {
name: "libext2_blkid",
host_supported: true,
+ ramdisk_available: true,
recovery_available: true,
unique_host_soname: true,
defaults: ["e2fsprogs-defaults"],
diff --git a/lib/e2p/Android.bp b/lib/e2p/Android.bp
index d74ba6856..aa09ad060 100644
--- a/lib/e2p/Android.bp
+++ b/lib/e2p/Android.bp
@@ -3,6 +3,7 @@
cc_library {
name: "libext2_e2p",
host_supported: true,
+ ramdisk_available: true,
recovery_available: true,
unique_host_soname: true,
defaults: ["e2fsprogs-defaults"],
diff --git a/lib/e2p/e2p.h b/lib/e2p/e2p.h
index c3a6b2587..ae7dd74dd 100644
--- a/lib/e2p/e2p.h
+++ b/lib/e2p/e2p.h
@@ -50,6 +50,8 @@ int setversion (int fd, unsigned long version);
void e2p_list_journal_super(FILE *f, char *journal_sb_buf,
int exp_block_size, int flags);
+void e2p_feature_to_string(int compat, unsigned int mask, char *buf,
+ size_t buf_len);
const char *e2p_feature2string(int compat, unsigned int mask);
const char *e2p_jrnl_feature2string(int compat, unsigned int mask);
int e2p_string2feature(char *string, int *compat, unsigned int *mask);
diff --git a/lib/e2p/feature.c b/lib/e2p/feature.c
index 965ba33be..229106021 100644
--- a/lib/e2p/feature.c
+++ b/lib/e2p/feature.c
@@ -137,17 +137,20 @@ static struct feature jrnl_feature_list[] = {
{ 0, 0, 0 },
};
-const char *e2p_feature2string(int compat, unsigned int mask)
+void e2p_feature_to_string(int compat, unsigned int mask, char *buf,
+ size_t buf_len)
{
struct feature *f;
- static char buf[20];
char fchar;
int fnum;
for (f = feature_list; f->string; f++) {
if ((compat == f->compat) &&
- (mask == f->mask))
- return f->string;
+ (mask == f->mask)) {
+ strncpy(buf, f->string, buf_len);
+ buf[buf_len - 1] = 0;
+ return;
+ }
}
switch (compat) {
case E2P_FEATURE_COMPAT:
@@ -165,6 +168,13 @@ const char *e2p_feature2string(int compat, unsigned int mask)
}
for (fnum = 0; mask >>= 1; fnum++);
sprintf(buf, "FEATURE_%c%d", fchar, fnum);
+}
+
+const char *e2p_feature2string(int compat, unsigned int mask)
+{
+ static char buf[20];
+
+ e2p_feature_to_string(compat, mask, buf, sizeof(buf) / sizeof(buf[0]));
return buf;
}
diff --git a/lib/et/Android.bp b/lib/et/Android.bp
index 3414639a7..7df5bf600 100644
--- a/lib/et/Android.bp
+++ b/lib/et/Android.bp
@@ -3,6 +3,7 @@
cc_library {
name: "libext2_com_err",
host_supported: true,
+ ramdisk_available: true,
recovery_available: true,
unique_host_soname: true,
defaults: ["e2fsprogs-defaults"],
diff --git a/lib/ext2fs/Android.bp b/lib/ext2fs/Android.bp
index 909c4fa89..8a46c025f 100644
--- a/lib/ext2fs/Android.bp
+++ b/lib/ext2fs/Android.bp
@@ -3,6 +3,7 @@
cc_library {
name: "libext2fs",
host_supported: true,
+ ramdisk_available: true,
recovery_available: true,
unique_host_soname: true,
defaults: ["e2fsprogs-defaults"],
diff --git a/lib/ext2fs/gen_bitmap.c b/lib/ext2fs/gen_bitmap.c
index c94c21b66..1536d4b3e 100644
--- a/lib/ext2fs/gen_bitmap.c
+++ b/lib/ext2fs/gen_bitmap.c
@@ -418,7 +418,7 @@ errcode_t ext2fs_get_generic_bitmap_range(ext2fs_generic_bitmap gen_bmap,
if ((start < bmap->start) || (start+num-1 > bmap->real_end))
return EXT2_ET_INVALID_ARGUMENT;
- memcpy(out, bmap->bitmap + (start >> 3), (num+7) >> 3);
+ memcpy(out, bmap->bitmap + ((start - bmap->start) >> 3), (num+7) >> 3);
return 0;
}
@@ -435,7 +435,7 @@ errcode_t ext2fs_set_generic_bitmap_range(ext2fs_generic_bitmap gen_bmap,
if ((start < bmap->start) || (start+num-1 > bmap->real_end))
return EXT2_ET_INVALID_ARGUMENT;
- memcpy(bmap->bitmap + (start >> 3), in, (num+7) >> 3);
+ memcpy(bmap->bitmap + ((start - bmap->start) >> 3), in, (num+7) >> 3);
return 0;
}
diff --git a/lib/support/Android.bp b/lib/support/Android.bp
index 2bc07b7f8..14f2f2397 100644
--- a/lib/support/Android.bp
+++ b/lib/support/Android.bp
@@ -3,6 +3,7 @@
cc_library {
name: "libext2_quota",
host_supported: true,
+ ramdisk_available: true,
recovery_available: true,
unique_host_soname: true,
defaults: ["e2fsprogs-defaults"],
diff --git a/lib/uuid/Android.bp b/lib/uuid/Android.bp
index 7d4dfcacc..37b44673f 100644
--- a/lib/uuid/Android.bp
+++ b/lib/uuid/Android.bp
@@ -3,6 +3,7 @@
cc_library {
name: "libext2_uuid",
host_supported: true,
+ ramdisk_available: true,
recovery_available: true,
vendor_available: true,
unique_host_soname: true,
diff --git a/misc/Android.bp b/misc/Android.bp
index dea2f9fe4..a93bea4d5 100644
--- a/misc/Android.bp
+++ b/misc/Android.bp
@@ -143,6 +143,16 @@ cc_binary {
static_libs: tune2fs_libs,
}
+cc_binary {
+ name: "tune2fs_ramdisk",
+ stem: "tune2fs",
+ static_executable: true,
+ ramdisk: true,
+ defaults: ["tune2fs-defaults"],
+ system_shared_libs: [],
+ static_libs: tune2fs_libs,
+}
+
cc_library_static {
name: "libtune2fs",
defaults: ["tune2fs-defaults"],
@@ -174,7 +184,7 @@ cc_binary {
// Build chattr
cc_binary {
- name: "chattr",
+ name: "chattr-e2fsprogs",
host_supported: true,
defaults: ["e2fsprogs-defaults"],
@@ -201,7 +211,7 @@ lsattr_libs = [
]
cc_binary {
- name: "lsattr",
+ name: "lsattr-e2fsprogs",
host_supported: true,
defaults: ["lsattr-defaults"],
@@ -288,3 +298,22 @@ cc_binary {
],
system_shared_libs: ["libc", "libdl"],
}
+
+//##########################################################################
+// Build e2freefrag
+
+cc_binary {
+ name: "e2freefrag",
+ host_supported: true,
+ defaults: ["e2fsprogs-defaults"],
+
+ srcs: [
+ "e2freefrag.c",
+ ],
+ header_libs: ["libext2-headers"],
+ shared_libs: [
+ "libext2fs",
+ "libext2_com_err",
+ ],
+ system_shared_libs: ["libc", "libdl"],
+}
diff --git a/misc/mke2fs.8.in b/misc/mke2fs.8.in
index 5bcee25ec..e6bfc6d6f 100644
--- a/misc/mke2fs.8.in
+++ b/misc/mke2fs.8.in
@@ -484,13 +484,10 @@ space in the filesystem and can also negatively impact performance.
It is not
possible to change this value after the filesystem is created.
.IP
-In kernels after 2.6.10 and some
-earlier vendor kernels it is possible to utilize inodes larger than
-128 bytes to store
-extended attributes for improved performance.
-Extended attributes
-stored in large inodes are not visible with older kernels, and such
-filesystems will not be mountable with 2.4 kernels at all.
+File systems with an inode size of 128 bytes do not support timestamps
+beyond January 19, 2038. Inodes which are 256 bytes or larger will
+support extended timestamps, project id's, and the ability to store some
+extended attributes in the inode table for improved performance.
.IP
The default inode size is controlled by the
.BR mke2fs.conf (5)
diff --git a/misc/tune2fs.8.in b/misc/tune2fs.8.in
index 74eebb6a8..3cf1f5eda 100644
--- a/misc/tune2fs.8.in
+++ b/misc/tune2fs.8.in
@@ -299,7 +299,13 @@ consistency first using
.BR e2fsck (8).
This operation can also take a while and the file system can be
corrupted and data lost if it is interrupted while in the middle of
-converting the file system.
+converting the file system. Backing up the file system before changing
+inode size is recommended.
+.IP
+File systems with an inode size of 128 bytes do not support timestamps
+beyond January 19, 2038. Inodes which are 256 bytes or larger will
+support extended timestamps, project id's, and the ability to store some
+extended attributes in the inode table for improved performance.
.TP
.B \-j
Add an ext3 journal to the filesystem. If the
diff --git a/po/e2fsprogs.pot b/po/e2fsprogs.pot
index 0ad3b291f..a5c9115ee 100644
--- a/po/e2fsprogs.pot
+++ b/po/e2fsprogs.pot
@@ -77,9 +77,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: e2fsprogs v1.45.5\n"
+"Project-Id-Version: e2fsprogs v1.45.6\n"
"Report-Msgid-Bugs-To: tytso@alum.mit.edu\n"
-"POT-Creation-Date: 2020-01-05 23:49-0500\n"
+"POT-Creation-Date: 2020-03-20 23:47-0400\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"
@@ -105,7 +105,7 @@ msgstr ""
#: 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:2808 misc/tune2fs.c:2907 resize/main.c:414
#, c-format
@@ -130,7 +130,7 @@ msgstr ""
msgid "Warning: illegal block %u found in bad block inode. Cleared.\n"
msgstr ""
-#: e2fsck/dirinfo.c:331
+#: e2fsck/dirinfo.c:332
msgid "while freeing dir_info tdb file"
msgstr ""
@@ -162,15 +162,15 @@ msgstr ""
msgid "Error writing block %lu (%s). "
msgstr ""
-#: e2fsck/emptydir.c:57
+#: e2fsck/emptydir.c:56
msgid "empty dirblocks"
msgstr ""
-#: e2fsck/emptydir.c:62
+#: e2fsck/emptydir.c:61
msgid "empty dir map"
msgstr ""
-#: e2fsck/emptydir.c:98
+#: e2fsck/emptydir.c:97
#, c-format
msgid "Empty directory block %u (#%d) in inode %u\n"
msgstr ""
@@ -180,12 +180,12 @@ msgstr ""
msgid "%s: %s filename nblocks blocksize\n"
msgstr ""
-#: e2fsck/extend.c:44
+#: e2fsck/extend.c:45
#, c-format
msgid "Illegal number of blocks!\n"
msgstr ""
-#: e2fsck/extend.c:50
+#: e2fsck/extend.c:51
#, c-format
msgid "Couldn't allocate block buffer (size=%d)\n"
msgstr ""
@@ -527,7 +527,7 @@ msgstr ""
msgid "while hashing entry with e_value_inum = %u"
msgstr ""
-#: e2fsck/pass1.c:775 e2fsck/pass2.c:1009
+#: e2fsck/pass1.c:775 e2fsck/pass2.c:1010
msgid "reading directory block"
msgstr ""
@@ -605,11 +605,11 @@ msgstr ""
msgid "inode table"
msgstr ""
-#: e2fsck/pass2.c:307
+#: e2fsck/pass2.c:308
msgid "Pass 2"
msgstr ""
-#: e2fsck/pass2.c:1082 e2fsck/pass2.c:1249
+#: e2fsck/pass2.c:1083 e2fsck/pass2.c:1250
msgid "Can not continue."
msgstr ""
@@ -629,7 +629,7 @@ msgstr ""
msgid "inode loop detection bitmap"
msgstr ""
-#: e2fsck/pass4.c:277
+#: e2fsck/pass4.c:289
msgid "Pass 4"
msgstr ""
@@ -2759,57 +2759,62 @@ msgstr ""
msgid "@d exceeds max links, but no DIR_NLINK feature in @S.\n"
msgstr ""
-#: e2fsck/problem.c:2016
+#: e2fsck/problem.c:2014
+#. @-expanded: directory inode %i ref count set to overflow but could be exact value %N.
+msgid "@d @i %i ref count set to overflow but could be exact value %N. "
+msgstr ""
+
+#: e2fsck/problem.c:2021
#. @-expanded: Pass 5: Checking group summary information\n
msgid "Pass 5: Checking @g summary information\n"
msgstr ""
-#: e2fsck/problem.c:2021
+#: e2fsck/problem.c:2026
#. @-expanded: Padding at end of inode bitmap is not set.
msgid "Padding at end of @i @B is not set. "
msgstr ""
-#: e2fsck/problem.c:2026
+#: e2fsck/problem.c:2031
#. @-expanded: Padding at end of block bitmap is not set.
msgid "Padding at end of @b @B is not set. "
msgstr ""
-#: e2fsck/problem.c:2031
+#: e2fsck/problem.c:2036
#. @-expanded: block bitmap differences:
msgid "@b @B differences: "
msgstr ""
-#: e2fsck/problem.c:2053
+#: e2fsck/problem.c:2058
#. @-expanded: inode bitmap differences:
msgid "@i @B differences: "
msgstr ""
-#: e2fsck/problem.c:2075
+#: e2fsck/problem.c:2080
#. @-expanded: Free inodes count wrong for group #%g (%i, counted=%j).\n
msgid "Free @is count wrong for @g #%g (%i, counted=%j).\n"
msgstr ""
-#: e2fsck/problem.c:2080
+#: e2fsck/problem.c:2085
#. @-expanded: Directories count wrong for group #%g (%i, counted=%j).\n
msgid "Directories count wrong for @g #%g (%i, counted=%j).\n"
msgstr ""
-#: e2fsck/problem.c:2085
+#: e2fsck/problem.c:2090
#. @-expanded: Free inodes count wrong (%i, counted=%j).\n
msgid "Free @is count wrong (%i, counted=%j).\n"
msgstr ""
-#: e2fsck/problem.c:2090
+#: e2fsck/problem.c:2095
#. @-expanded: Free blocks count wrong for group #%g (%b, counted=%c).\n
msgid "Free @bs count wrong for @g #%g (%b, counted=%c).\n"
msgstr ""
-#: e2fsck/problem.c:2095
+#: e2fsck/problem.c:2100
#. @-expanded: Free blocks count wrong (%b, counted=%c).\n
msgid "Free @bs count wrong (%b, counted=%c).\n"
msgstr ""
-#: e2fsck/problem.c:2100
+#: e2fsck/problem.c:2105
#. @-expanded: PROGRAMMING ERROR: filesystem (#%N) bitmap endpoints (%b, %c) don't match calculated bitmap
#. @-expanded: endpoints (%i, %j)\n
msgid ""
@@ -2817,81 +2822,81 @@ msgid ""
"endpoints (%i, %j)\n"
msgstr ""
-#: e2fsck/problem.c:2106
+#: e2fsck/problem.c:2111
msgid "Internal error: fudging end of bitmap (%N)\n"
msgstr ""
-#: e2fsck/problem.c:2112
+#: e2fsck/problem.c:2117
#, no-c-format
#. @-expanded: Error copying in replacement inode bitmap: %m\n
msgid "Error copying in replacement @i @B: %m\n"
msgstr ""
-#: e2fsck/problem.c:2118
+#: e2fsck/problem.c:2123
#, no-c-format
#. @-expanded: Error copying in replacement block bitmap: %m\n
msgid "Error copying in replacement @b @B: %m\n"
msgstr ""
-#: e2fsck/problem.c:2148
+#: e2fsck/problem.c:2153
#, no-c-format
#. @-expanded: group %g block(s) in use but group is marked BLOCK_UNINIT\n
msgid "@g %g @b(s) in use but @g is marked BLOCK_UNINIT\n"
msgstr ""
-#: e2fsck/problem.c:2154
+#: e2fsck/problem.c:2159
#, no-c-format
#. @-expanded: group %g inode(s) in use but group is marked INODE_UNINIT\n
msgid "@g %g @i(s) in use but @g is marked INODE_UNINIT\n"
msgstr ""
-#: e2fsck/problem.c:2160
+#: e2fsck/problem.c:2165
#, no-c-format
#. @-expanded: group %g inode bitmap does not match checksum.\n
msgid "@g %g @i @B does not match checksum.\n"
msgstr ""
-#: e2fsck/problem.c:2166
+#: e2fsck/problem.c:2171
#, no-c-format
#. @-expanded: group %g block bitmap does not match checksum.\n
msgid "@g %g @b @B does not match checksum.\n"
msgstr ""
-#: e2fsck/problem.c:2173
+#: e2fsck/problem.c:2178
#. @-expanded: Recreate journal
msgid "Recreate @j"
msgstr ""
-#: e2fsck/problem.c:2178
+#: e2fsck/problem.c:2183
msgid "Update quota info for quota type %N"
msgstr ""
-#: e2fsck/problem.c:2184
+#: e2fsck/problem.c:2189
#, no-c-format
#. @-expanded: Error setting block group checksum info: %m\n
msgid "Error setting @b @g checksum info: %m\n"
msgstr ""
-#: e2fsck/problem.c:2190
+#: e2fsck/problem.c:2195
#, no-c-format
msgid "Error writing file system info: %m\n"
msgstr ""
-#: e2fsck/problem.c:2196
+#: e2fsck/problem.c:2201
#, no-c-format
msgid "Error flushing writes to storage device: %m\n"
msgstr ""
-#: e2fsck/problem.c:2201
+#: e2fsck/problem.c:2206
msgid "Error writing quota info for quota type %N: %m\n"
msgstr ""
-#: e2fsck/problem.c:2364
+#: e2fsck/problem.c:2369
#, c-format
msgid "Unhandled error code (0x%x)!\n"
msgstr ""
-#: e2fsck/problem.c:2494 e2fsck/problem.c:2498
+#: e2fsck/problem.c:2499 e2fsck/problem.c:2503
msgid "IGNORED"
msgstr ""
@@ -2901,7 +2906,7 @@ msgstr ""
#: e2fsck/scantest.c:79
#, c-format
-msgid "Memory used: %d, elapsed time: %6.3f/%6.3f/%6.3f\n"
+msgid "Memory used: %lu, elapsed time: %6.3f/%6.3f/%6.3f\n"
msgstr ""
#: e2fsck/scantest.c:98
@@ -3100,7 +3105,7 @@ msgid_plural "%12u files\n"
msgstr[0] ""
msgstr[1] ""
-#: e2fsck/unix.c:238 misc/badblocks.c:1002 misc/tune2fs.c:2998 misc/util.c:129
+#: e2fsck/unix.c:238 misc/badblocks.c:1002 misc/tune2fs.c:2997 misc/util.c:129
#: resize/main.c:354
#, c-format
msgid "while determining whether %s is mounted."
@@ -3328,7 +3333,7 @@ msgid "while reading MMP block"
msgstr ""
#: 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:2725
+#: misc/mke2fs.c:2694 misc/mke2fs.c:2745 misc/tune2fs.c:2725
#: misc/tune2fs.c:2770 resize/main.c:188 resize/main.c:233
#, c-format
msgid ""
@@ -3337,13 +3342,13 @@ msgid ""
"\n"
msgstr ""
-#: e2fsck/unix.c:1343 misc/e2undo.c:270 misc/mke2fs.c:2736 misc/tune2fs.c:2759
+#: e2fsck/unix.c:1343 misc/e2undo.c:270 misc/mke2fs.c:2734 misc/tune2fs.c:2759
#: resize/main.c:222
#, c-format
msgid "while trying to delete %s"
msgstr ""
-#: e2fsck/unix.c:1369 misc/mke2fs.c:2762 resize/main.c:243
+#: e2fsck/unix.c:1369 misc/mke2fs.c:2760 resize/main.c:243
msgid "while trying to setup undo file\n"
msgstr ""
@@ -3430,117 +3435,117 @@ msgstr ""
msgid "Get a newer version of e2fsck!"
msgstr ""
-#: e2fsck/unix.c:1749
+#: e2fsck/unix.c:1748
#, c-format
msgid "while checking journal for %s"
msgstr ""
-#: e2fsck/unix.c:1752
+#: e2fsck/unix.c:1751
msgid "Cannot proceed with file system check"
msgstr ""
-#: e2fsck/unix.c:1763
+#: e2fsck/unix.c:1762
msgid ""
"Warning: skipping journal recovery because doing a read-only filesystem "
"check.\n"
msgstr ""
-#: e2fsck/unix.c:1775
+#: e2fsck/unix.c:1774
#, c-format
msgid "unable to set superblock flags on %s\n"
msgstr ""
-#: e2fsck/unix.c:1781
+#: e2fsck/unix.c:1780
#, c-format
msgid "Journal checksum error found in %s\n"
msgstr ""
-#: e2fsck/unix.c:1785
+#: e2fsck/unix.c:1784
#, c-format
msgid "Journal corrupted in %s\n"
msgstr ""
-#: e2fsck/unix.c:1789
+#: e2fsck/unix.c:1788
#, c-format
msgid "while recovering journal of %s"
msgstr ""
-#: e2fsck/unix.c:1811
+#: e2fsck/unix.c:1810
#, c-format
msgid "%s has unsupported feature(s):"
msgstr ""
-#: e2fsck/unix.c:1826
+#: e2fsck/unix.c:1825
#, c-format
msgid "%s has unsupported encoding: %0x\n"
msgstr ""
-#: e2fsck/unix.c:1876
+#: e2fsck/unix.c:1875
#, c-format
msgid "%s: %s while reading bad blocks inode\n"
msgstr ""
-#: e2fsck/unix.c:1879
+#: e2fsck/unix.c:1878
msgid "This doesn't bode well, but we'll try to go on...\n"
msgstr ""
-#: e2fsck/unix.c:1919
+#: e2fsck/unix.c:1918
#, c-format
msgid "Creating journal (%d blocks): "
msgstr ""
-#: e2fsck/unix.c:1929
+#: e2fsck/unix.c:1928
msgid " Done.\n"
msgstr ""
-#: e2fsck/unix.c:1931
+#: e2fsck/unix.c:1930
msgid ""
"\n"
"*** journal has been regenerated ***\n"
msgstr ""
-#: e2fsck/unix.c:1937
+#: e2fsck/unix.c:1936
msgid "aborted"
msgstr ""
-#: e2fsck/unix.c:1939
+#: e2fsck/unix.c:1938
#, c-format
msgid "%s: e2fsck canceled.\n"
msgstr ""
-#: e2fsck/unix.c:1966
+#: e2fsck/unix.c:1965
msgid "Restarting e2fsck from the beginning...\n"
msgstr ""
-#: e2fsck/unix.c:1970
+#: e2fsck/unix.c:1969
msgid "while resetting context"
msgstr ""
-#: e2fsck/unix.c:2029
+#: e2fsck/unix.c:2028
#, c-format
msgid ""
"\n"
"%s: ***** FILE SYSTEM ERRORS CORRECTED *****\n"
msgstr ""
-#: e2fsck/unix.c:2031
+#: e2fsck/unix.c:2030
#, c-format
msgid "%s: File system was modified.\n"
msgstr ""
-#: e2fsck/unix.c:2035 e2fsck/util.c:71
+#: e2fsck/unix.c:2034 e2fsck/util.c:71
#, c-format
msgid ""
"\n"
"%s: ***** FILE SYSTEM WAS MODIFIED *****\n"
msgstr ""
-#: e2fsck/unix.c:2040
+#: e2fsck/unix.c:2039
#, c-format
msgid "%s: ***** REBOOT SYSTEM *****\n"
msgstr ""
-#: e2fsck/unix.c:2050 e2fsck/util.c:77
+#: e2fsck/unix.c:2049 e2fsck/util.c:77
#, c-format
msgid ""
"\n"
@@ -3548,96 +3553,96 @@ msgid ""
"\n"
msgstr ""
-#: e2fsck/util.c:196 misc/util.c:93
+#: e2fsck/util.c:195 misc/util.c:93
msgid "yY"
msgstr ""
-#: e2fsck/util.c:197 misc/util.c:112
+#: e2fsck/util.c:196 misc/util.c:112
msgid "nN"
msgstr ""
-#: e2fsck/util.c:198
+#: e2fsck/util.c:197
msgid "aA"
msgstr ""
-#: e2fsck/util.c:202
+#: e2fsck/util.c:201
msgid " ('a' enables 'yes' to all) "
msgstr ""
-#: e2fsck/util.c:219
+#: e2fsck/util.c:218
msgid "<y>"
msgstr ""
-#: e2fsck/util.c:221
+#: e2fsck/util.c:220
msgid "<n>"
msgstr ""
-#: e2fsck/util.c:223
+#: e2fsck/util.c:222
msgid " (y/n)"
msgstr ""
-#: e2fsck/util.c:246
+#: e2fsck/util.c:245
msgid "cancelled!\n"
msgstr ""
-#: e2fsck/util.c:279
+#: e2fsck/util.c:278
msgid "yes to all\n"
msgstr ""
-#: e2fsck/util.c:281
+#: e2fsck/util.c:280
msgid "yes\n"
msgstr ""
-#: e2fsck/util.c:283
+#: e2fsck/util.c:282
msgid "no\n"
msgstr ""
-#: e2fsck/util.c:293
+#: e2fsck/util.c:292
#, c-format
msgid ""
"%s? no\n"
"\n"
msgstr ""
-#: e2fsck/util.c:297
+#: e2fsck/util.c:296
#, c-format
msgid ""
"%s? yes\n"
"\n"
msgstr ""
-#: e2fsck/util.c:301
+#: e2fsck/util.c:300
msgid "yes"
msgstr ""
-#: e2fsck/util.c:301
+#: e2fsck/util.c:300
msgid "no"
msgstr ""
-#: e2fsck/util.c:317
+#: e2fsck/util.c:316
#, c-format
msgid "e2fsck_read_bitmaps: illegal bitmap block(s) for %s"
msgstr ""
-#: e2fsck/util.c:322
+#: e2fsck/util.c:321
msgid "reading inode and block bitmaps"
msgstr ""
-#: e2fsck/util.c:334
+#: e2fsck/util.c:333
#, c-format
msgid "while retrying to read bitmaps for %s"
msgstr ""
-#: e2fsck/util.c:346
+#: e2fsck/util.c:345
msgid "writing block and inode bitmaps"
msgstr ""
-#: e2fsck/util.c:351
+#: e2fsck/util.c:350
#, c-format
msgid "while rewriting block and inode bitmaps for %s"
msgstr ""
-#: e2fsck/util.c:363
+#: e2fsck/util.c:362
#, c-format
msgid ""
"\n"
@@ -3646,37 +3651,37 @@ msgid ""
"\t(i.e., without -a or -p options)\n"
msgstr ""
-#: e2fsck/util.c:444
+#: e2fsck/util.c:442
#, c-format
-msgid "Memory used: %luk/%luk (%luk/%luk), "
+msgid "Memory used: %lluk/%lluk (%lluk/%lluk), "
msgstr ""
#: e2fsck/util.c:448
#, c-format
-msgid "Memory used: %lu, "
+msgid "Memory used: %lluk, "
msgstr ""
-#: e2fsck/util.c:455
+#: e2fsck/util.c:454
#, c-format
msgid "time: %5.2f/%5.2f/%5.2f\n"
msgstr ""
-#: e2fsck/util.c:460
+#: e2fsck/util.c:459
#, c-format
msgid "elapsed time: %6.3f\n"
msgstr ""
-#: 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 ""
-#: 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 ""
-#: e2fsck/util.c:792
+#: e2fsck/util.c:793
msgid ""
"UNEXPECTED INCONSISTENCY: the filesystem is being modified while fsck is "
"running.\n"
@@ -4234,30 +4239,30 @@ msgstr ""
msgid "Couldn't find journal superblock magic numbers"
msgstr ""
-#: misc/dumpe2fs.c:468
+#: misc/dumpe2fs.c:470
msgid "failed to alloc MMP buffer\n"
msgstr ""
-#: misc/dumpe2fs.c:479
+#: misc/dumpe2fs.c:481
#, c-format
msgid "reading MMP block %llu from '%s'\n"
msgstr ""
-#: misc/dumpe2fs.c:507 misc/mke2fs.c:800 misc/tune2fs.c:2039
+#: misc/dumpe2fs.c:511 misc/mke2fs.c:798 misc/tune2fs.c:2039
msgid "Couldn't allocate memory to parse options!\n"
msgstr ""
-#: misc/dumpe2fs.c:533
+#: misc/dumpe2fs.c:537
#, c-format
msgid "Invalid superblock parameter: %s\n"
msgstr ""
-#: misc/dumpe2fs.c:548
+#: misc/dumpe2fs.c:552
#, c-format
msgid "Invalid blocksize parameter: %s\n"
msgstr ""
-#: misc/dumpe2fs.c:559
+#: misc/dumpe2fs.c:563
#, c-format
msgid ""
"\n"
@@ -4271,27 +4276,27 @@ msgid ""
"\tblocksize=<blocksize>\n"
msgstr ""
-#: misc/dumpe2fs.c:649 misc/mke2fs.c:1889
+#: misc/dumpe2fs.c:653 misc/mke2fs.c:1887
#, c-format
msgid "\tUsing %s\n"
msgstr ""
-#: misc/dumpe2fs.c:694 misc/e2image.c:1629 misc/tune2fs.c:2925
+#: misc/dumpe2fs.c:698 misc/e2image.c:1629 misc/tune2fs.c:2925
#: resize/main.c:416
msgid "Couldn't find valid filesystem superblock.\n"
msgstr ""
-#: misc/dumpe2fs.c:716
+#: misc/dumpe2fs.c:720
#, c-format
msgid "%s: MMP feature not enabled.\n"
msgstr ""
-#: misc/dumpe2fs.c:747
+#: misc/dumpe2fs.c:751
#, c-format
msgid "while trying to read '%s' bitmaps\n"
msgstr ""
-#: misc/dumpe2fs.c:756
+#: misc/dumpe2fs.c:760
msgid ""
"*** Run e2fsck now!\n"
"\n"
@@ -4571,7 +4576,7 @@ msgstr ""
msgid "e2label: not an ext2 filesystem\n"
msgstr ""
-#: misc/e2label.c:97 misc/tune2fs.c:3129
+#: misc/e2label.c:97 misc/tune2fs.c:3128
#, c-format
msgid "Warning: label too long, truncating.\n"
msgstr ""
@@ -4791,7 +4796,7 @@ msgid ""
"mount_time sb_uuid label\n"
msgstr ""
-#: misc/findsuper.c:264
+#: misc/findsuper.c:265
#, c-format
msgid ""
"\n"
@@ -4906,7 +4911,7 @@ msgstr ""
msgid "%s: %s.\n"
msgstr ""
-#: misc/fuse2fs.c:3777 misc/fuse2fs.c:3792 misc/tune2fs.c:3025
+#: misc/fuse2fs.c:3777 misc/fuse2fs.c:3792 misc/tune2fs.c:3024
#, c-format
msgid "Please run e2fsck -fy %s.\n"
msgstr ""
@@ -5029,7 +5034,7 @@ msgid ""
"Could not write %d blocks in inode table starting at %llu: %s\n"
msgstr ""
-#: misc/mke2fs.c:456 misc/mke2fs.c:2809 misc/mke2fs.c:3214
+#: misc/mke2fs.c:456 misc/mke2fs.c:2807 misc/mke2fs.c:3212
msgid "done \n"
msgstr ""
@@ -5093,176 +5098,176 @@ msgstr ""
msgid "while writing journal superblock"
msgstr ""
-#: misc/mke2fs.c:665
+#: misc/mke2fs.c:664
#, c-format
msgid "Creating filesystem with %llu %dk blocks and %u inodes\n"
msgstr ""
-#: misc/mke2fs.c:673
+#: misc/mke2fs.c:672
#, c-format
msgid ""
"warning: %llu blocks unused.\n"
"\n"
msgstr ""
-#: misc/mke2fs.c:678
+#: misc/mke2fs.c:675
#, c-format
-msgid "Filesystem label=%s\n"
+msgid "Filesystem label=%.*s\n"
msgstr ""
-#: misc/mke2fs.c:681
+#: misc/mke2fs.c:679
#, c-format
msgid "OS type: %s\n"
msgstr ""
-#: misc/mke2fs.c:683
+#: misc/mke2fs.c:681
#, c-format
msgid "Block size=%u (log=%u)\n"
msgstr ""
-#: misc/mke2fs.c:686
+#: misc/mke2fs.c:684
#, c-format
msgid "Cluster size=%u (log=%u)\n"
msgstr ""
-#: misc/mke2fs.c:690
+#: misc/mke2fs.c:688
#, c-format
msgid "Fragment size=%u (log=%u)\n"
msgstr ""
-#: misc/mke2fs.c:692
+#: misc/mke2fs.c:690
#, c-format
msgid "Stride=%u blocks, Stripe width=%u blocks\n"
msgstr ""
-#: misc/mke2fs.c:694
+#: misc/mke2fs.c:692
#, c-format
msgid "%u inodes, %llu blocks\n"
msgstr ""
-#: misc/mke2fs.c:696
+#: misc/mke2fs.c:694
#, c-format
msgid "%llu blocks (%2.2f%%) reserved for the super user\n"
msgstr ""
-#: misc/mke2fs.c:699
+#: misc/mke2fs.c:697
#, c-format
msgid "First data block=%u\n"
msgstr ""
-#: misc/mke2fs.c:701
+#: misc/mke2fs.c:699
#, c-format
msgid "Root directory owner=%u:%u\n"
msgstr ""
-#: misc/mke2fs.c:703
+#: misc/mke2fs.c:701
#, c-format
msgid "Maximum filesystem blocks=%lu\n"
msgstr ""
-#: misc/mke2fs.c:707
+#: misc/mke2fs.c:705
#, c-format
msgid "%u block groups\n"
msgstr ""
-#: misc/mke2fs.c:709
+#: misc/mke2fs.c:707
#, c-format
msgid "%u block group\n"
msgstr ""
-#: misc/mke2fs.c:711
+#: misc/mke2fs.c:709
#, c-format
msgid "%u blocks per group, %u clusters per group\n"
msgstr ""
-#: misc/mke2fs.c:714
+#: misc/mke2fs.c:712
#, c-format
msgid "%u blocks per group, %u fragments per group\n"
msgstr ""
-#: misc/mke2fs.c:716
+#: misc/mke2fs.c:714
#, c-format
msgid "%u inodes per group\n"
msgstr ""
-#: misc/mke2fs.c:725
+#: misc/mke2fs.c:723
#, c-format
msgid "Filesystem UUID: %s\n"
msgstr ""
-#: misc/mke2fs.c:726
+#: misc/mke2fs.c:724
msgid "Superblock backups stored on blocks: "
msgstr ""
-#: misc/mke2fs.c:822
+#: misc/mke2fs.c:820
#, c-format
msgid "%s requires '-O 64bit'\n"
msgstr ""
-#: misc/mke2fs.c:828
+#: misc/mke2fs.c:826
#, c-format
msgid "'%s' must be before 'resize=%u'\n"
msgstr ""
-#: misc/mke2fs.c:841
+#: misc/mke2fs.c:839
#, c-format
msgid "Invalid desc_size: '%s'\n"
msgstr ""
-#: misc/mke2fs.c:855
+#: misc/mke2fs.c:853
#, c-format
msgid "Invalid hash seed: %s\n"
msgstr ""
-#: misc/mke2fs.c:867
+#: misc/mke2fs.c:865
#, c-format
msgid "Invalid offset: %s\n"
msgstr ""
-#: misc/mke2fs.c:881 misc/tune2fs.c:2067
+#: misc/mke2fs.c:879 misc/tune2fs.c:2067
#, c-format
msgid "Invalid mmp_update_interval: %s\n"
msgstr ""
-#: misc/mke2fs.c:898
+#: misc/mke2fs.c:896
#, c-format
msgid "Invalid # of backup superblocks: %s\n"
msgstr ""
-#: misc/mke2fs.c:920
+#: misc/mke2fs.c:918
#, c-format
msgid "Invalid stride parameter: %s\n"
msgstr ""
-#: misc/mke2fs.c:935
+#: misc/mke2fs.c:933
#, c-format
msgid "Invalid stripe-width parameter: %s\n"
msgstr ""
-#: misc/mke2fs.c:958
+#: misc/mke2fs.c:956
#, c-format
msgid "Invalid resize parameter: %s\n"
msgstr ""
-#: misc/mke2fs.c:965
+#: misc/mke2fs.c:963
msgid "The resize maximum must be greater than the filesystem size.\n"
msgstr ""
-#: misc/mke2fs.c:989
+#: misc/mke2fs.c:987
msgid "On-line resizing not supported with revision 0 filesystems\n"
msgstr ""
-#: 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 ""
-#: misc/mke2fs.c:1069
+#: misc/mke2fs.c:1067
#, c-format
msgid "Invalid encoding: %s"
msgstr ""
-#: misc/mke2fs.c:1087
+#: misc/mke2fs.c:1085
#, c-format
msgid ""
"\n"
@@ -5291,7 +5296,7 @@ msgid ""
"\n"
msgstr ""
-#: misc/mke2fs.c:1114
+#: misc/mke2fs.c:1112
#, c-format
msgid ""
"\n"
@@ -5299,52 +5304,52 @@ msgid ""
"\n"
msgstr ""
-#: misc/mke2fs.c:1125
+#: misc/mke2fs.c:1123
#, c-format
msgid "error: Invalid encoding flag: %s\n"
msgstr ""
-#: misc/mke2fs.c:1131
+#: misc/mke2fs.c:1129
#, c-format
msgid ""
"error: An encoding must be explicitly specified when passing encoding-flags\n"
msgstr ""
-#: misc/mke2fs.c:1179
+#: misc/mke2fs.c:1177
#, c-format
msgid ""
"Syntax error in mke2fs config file (%s, line #%d)\n"
"\t%s\n"
msgstr ""
-#: misc/mke2fs.c:1192 misc/tune2fs.c:1068
+#: misc/mke2fs.c:1190 misc/tune2fs.c:1068
#, c-format
msgid "Invalid filesystem option set: %s\n"
msgstr ""
-#: misc/mke2fs.c:1204 misc/tune2fs.c:417
+#: misc/mke2fs.c:1202 misc/tune2fs.c:417
#, c-format
msgid "Invalid mount option set: %s\n"
msgstr ""
-#: misc/mke2fs.c:1340
+#: misc/mke2fs.c:1338
#, c-format
msgid ""
"\n"
"Your mke2fs.conf file does not define the %s filesystem type.\n"
msgstr ""
-#: misc/mke2fs.c:1344
+#: misc/mke2fs.c:1342
msgid ""
"You probably need to install an updated mke2fs.conf file.\n"
"\n"
msgstr ""
-#: misc/mke2fs.c:1348
+#: misc/mke2fs.c:1346
msgid "Aborting...\n"
msgstr ""
-#: misc/mke2fs.c:1389
+#: misc/mke2fs.c:1387
#, c-format
msgid ""
"\n"
@@ -5352,154 +5357,154 @@ msgid ""
"\n"
msgstr ""
-#: misc/mke2fs.c:1571
+#: misc/mke2fs.c:1569
msgid "Couldn't allocate memory for new PATH.\n"
msgstr ""
-#: misc/mke2fs.c:1608
+#: misc/mke2fs.c:1606
#, c-format
msgid "Couldn't init profile successfully (error: %ld).\n"
msgstr ""
-#: misc/mke2fs.c:1641
+#: misc/mke2fs.c:1639
#, c-format
msgid "invalid block size - %s"
msgstr ""
-#: misc/mke2fs.c:1645
+#: misc/mke2fs.c:1643
#, c-format
msgid "Warning: blocksize %d not usable on most systems.\n"
msgstr ""
-#: misc/mke2fs.c:1661
+#: misc/mke2fs.c:1659
#, c-format
msgid "invalid cluster size - %s"
msgstr ""
-#: misc/mke2fs.c:1674
+#: misc/mke2fs.c:1672
msgid "'-R' is deprecated, use '-E' instead"
msgstr ""
-#: misc/mke2fs.c:1688 misc/tune2fs.c:1796
+#: misc/mke2fs.c:1686 misc/tune2fs.c:1796
#, c-format
msgid "bad error behavior - %s"
msgstr ""
-#: misc/mke2fs.c:1700
+#: misc/mke2fs.c:1698
msgid "Illegal number for blocks per group"
msgstr ""
-#: misc/mke2fs.c:1705
+#: misc/mke2fs.c:1703
msgid "blocks per group must be multiple of 8"
msgstr ""
-#: misc/mke2fs.c:1713
+#: misc/mke2fs.c:1711
msgid "Illegal number for flex_bg size"
msgstr ""
-#: misc/mke2fs.c:1719
+#: misc/mke2fs.c:1717
msgid "flex_bg size must be a power of 2"
msgstr ""
-#: misc/mke2fs.c:1724
+#: misc/mke2fs.c:1722
#, c-format
msgid "flex_bg size (%lu) must be less than or equal to 2^31"
msgstr ""
-#: misc/mke2fs.c:1734
+#: misc/mke2fs.c:1732
#, c-format
msgid "invalid inode ratio %s (min %d/max %d)"
msgstr ""
-#: misc/mke2fs.c:1744
+#: misc/mke2fs.c:1742
#, c-format
msgid "invalid inode size - %s"
msgstr ""
-#: misc/mke2fs.c:1757
+#: misc/mke2fs.c:1755
msgid ""
"Warning: -K option is deprecated and should not be used anymore. Use '-E "
"nodiscard' extended option instead!\n"
msgstr ""
-#: misc/mke2fs.c:1768
+#: misc/mke2fs.c:1766
msgid "in malloc for bad_blocks_filename"
msgstr ""
-#: misc/mke2fs.c:1777
+#: misc/mke2fs.c:1775
#, c-format
msgid ""
"Warning: label too long; will be truncated to '%s'\n"
"\n"
msgstr ""
-#: misc/mke2fs.c:1786
+#: misc/mke2fs.c:1784
#, c-format
msgid "invalid reserved blocks percent - %s"
msgstr ""
-#: misc/mke2fs.c:1801
+#: misc/mke2fs.c:1799
#, c-format
msgid "bad num inodes - %s"
msgstr ""
-#: misc/mke2fs.c:1814
+#: misc/mke2fs.c:1812
msgid "while allocating fs_feature string"
msgstr ""
-#: misc/mke2fs.c:1831
+#: misc/mke2fs.c:1829
#, c-format
msgid "bad revision level - %s"
msgstr ""
-#: misc/mke2fs.c:1836
+#: misc/mke2fs.c:1834
#, c-format
msgid "while trying to create revision %d"
msgstr ""
-#: misc/mke2fs.c:1850
+#: misc/mke2fs.c:1848
msgid "The -t option may only be used once"
msgstr ""
-#: misc/mke2fs.c:1858
+#: misc/mke2fs.c:1856
msgid "The -T option may only be used once"
msgstr ""
-#: misc/mke2fs.c:1914 misc/mke2fs.c:3298
+#: misc/mke2fs.c:1912 misc/mke2fs.c:3296
#, c-format
msgid "while trying to open journal device %s\n"
msgstr ""
-#: misc/mke2fs.c:1920
+#: misc/mke2fs.c:1918
#, c-format
msgid "Journal dev blocksize (%d) smaller than minimum blocksize %d\n"
msgstr ""
-#: misc/mke2fs.c:1926
+#: misc/mke2fs.c:1924
#, c-format
msgid "Using journal device's blocksize: %d\n"
msgstr ""
-#: misc/mke2fs.c:1937
+#: misc/mke2fs.c:1935
#, c-format
msgid "invalid blocks '%s' on device '%s'"
msgstr ""
-#: misc/mke2fs.c:1967
+#: misc/mke2fs.c:1965
msgid "filesystem"
msgstr ""
-#: misc/mke2fs.c:1985 resize/main.c:497
+#: misc/mke2fs.c:1983 resize/main.c:497
msgid "while trying to determine filesystem size"
msgstr ""
-#: misc/mke2fs.c:1991
+#: misc/mke2fs.c:1989
msgid ""
"Couldn't determine device size; you must specify\n"
"the size of the filesystem\n"
msgstr ""
-#: misc/mke2fs.c:1998
+#: misc/mke2fs.c:1996
msgid ""
"Device size reported to be zero. Invalid partition specified, or\n"
"\tpartition table wasn't reread after running fdisk, due to\n"
@@ -5507,142 +5512,142 @@ msgid ""
"\tto re-read your partition table.\n"
msgstr ""
-#: misc/mke2fs.c:2015
+#: misc/mke2fs.c:2013
msgid "Filesystem larger than apparent device size."
msgstr ""
-#: misc/mke2fs.c:2035
+#: misc/mke2fs.c:2033
msgid "Failed to parse fs types list\n"
msgstr ""
-#: misc/mke2fs.c:2085
+#: misc/mke2fs.c:2083
msgid "The HURD does not support the filetype feature.\n"
msgstr ""
-#: misc/mke2fs.c:2090
+#: misc/mke2fs.c:2088
msgid "The HURD does not support the huge_file feature.\n"
msgstr ""
-#: misc/mke2fs.c:2095
+#: misc/mke2fs.c:2093
msgid "The HURD does not support the metadata_csum feature.\n"
msgstr ""
-#: misc/mke2fs.c:2100
+#: misc/mke2fs.c:2098
msgid "The HURD does not support the ea_inode feature.\n"
msgstr ""
-#: misc/mke2fs.c:2110
+#: misc/mke2fs.c:2108
msgid "while trying to determine hardware sector size"
msgstr ""
-#: misc/mke2fs.c:2116
+#: misc/mke2fs.c:2114
msgid "while trying to determine physical sector size"
msgstr ""
-#: misc/mke2fs.c:2148
+#: misc/mke2fs.c:2146
msgid "while setting blocksize; too small for device\n"
msgstr ""
-#: misc/mke2fs.c:2153
+#: misc/mke2fs.c:2151
#, c-format
msgid ""
"Warning: specified blocksize %d is less than device physical sectorsize %d\n"
msgstr ""
-#: misc/mke2fs.c:2177
+#: misc/mke2fs.c:2175
#, 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:2191
+#: misc/mke2fs.c:2189
#, 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:2213
+#: misc/mke2fs.c:2211
msgid "fs_types for mke2fs.conf resolution: "
msgstr ""
-#: misc/mke2fs.c:2220
+#: misc/mke2fs.c:2218
msgid "Filesystem features not supported with revision 0 filesystems\n"
msgstr ""
-#: misc/mke2fs.c:2228
+#: misc/mke2fs.c:2226
msgid "Sparse superblocks not supported with revision 0 filesystems\n"
msgstr ""
-#: misc/mke2fs.c:2238
+#: misc/mke2fs.c:2236
msgid "Journals not supported with revision 0 filesystems\n"
msgstr ""
-#: misc/mke2fs.c:2251
+#: misc/mke2fs.c:2249
#, c-format
msgid "invalid reserved blocks percent - %lf"
msgstr ""
-#: misc/mke2fs.c:2268
+#: misc/mke2fs.c:2266
msgid ""
"Extents MUST be enabled for a 64-bit filesystem. Pass -O extents to "
"rectify.\n"
msgstr ""
-#: misc/mke2fs.c:2288
+#: misc/mke2fs.c:2286
msgid "The cluster size may not be smaller than the block size.\n"
msgstr ""
-#: misc/mke2fs.c:2294
+#: misc/mke2fs.c:2292
msgid "specifying a cluster size requires the bigalloc feature"
msgstr ""
-#: misc/mke2fs.c:2314
+#: misc/mke2fs.c:2312
#, c-format
msgid "warning: Unable to get device geometry for %s\n"
msgstr ""
-#: misc/mke2fs.c:2317
+#: misc/mke2fs.c:2315
#, c-format
msgid "%s alignment is offset by %lu bytes.\n"
msgstr ""
-#: misc/mke2fs.c:2319
+#: misc/mke2fs.c:2317
#, c-format
msgid ""
"This may result in very poor performance, (re)-partitioning suggested.\n"
msgstr ""
-#: misc/mke2fs.c:2340
+#: misc/mke2fs.c:2338
#, c-format
msgid "%d-byte blocks too big for system (max %d)"
msgstr ""
-#: misc/mke2fs.c:2344
+#: misc/mke2fs.c:2342
#, c-format
msgid ""
"Warning: %d-byte blocks too big for system (max %d), forced to continue\n"
msgstr ""
-#: misc/mke2fs.c:2352
+#: misc/mke2fs.c:2350
#, c-format
msgid ""
"Suggestion: Use Linux kernel >= 3.18 for improved stability of the metadata "
"and journal checksum features.\n"
msgstr ""
-#: misc/mke2fs.c:2398
+#: misc/mke2fs.c:2396
#, c-format
msgid "Unknown filename encoding from profile: %s"
msgstr ""
-#: misc/mke2fs.c:2409
+#: misc/mke2fs.c:2407
#, c-format
msgid "Unknown encoding flags from profile: %s"
msgstr ""
-#: misc/mke2fs.c:2434
+#: misc/mke2fs.c:2432
#, c-format
msgid ""
"\n"
@@ -5652,28 +5657,28 @@ msgid ""
"\n"
msgstr ""
-#: misc/mke2fs.c:2449
+#: misc/mke2fs.c:2447
#, c-format
msgid "%d byte inodes are too small for project quota"
msgstr ""
-#: misc/mke2fs.c:2465
+#: misc/mke2fs.c:2463
msgid ""
"The encrypt and casefold features are not compatible.\n"
"They can not be both enabled simultaneously.\n"
msgstr ""
-#: misc/mke2fs.c:2480
+#: misc/mke2fs.c:2478
msgid "Can't support bigalloc feature without extents feature"
msgstr ""
-#: misc/mke2fs.c:2487
+#: misc/mke2fs.c:2485
msgid ""
"The resize_inode and meta_bg features are not compatible.\n"
"They can not be both enabled simultaneously.\n"
msgstr ""
-#: misc/mke2fs.c:2495
+#: misc/mke2fs.c:2493
msgid ""
"\n"
"Warning: the bigalloc feature is still under development\n"
@@ -5681,39 +5686,39 @@ msgid ""
"\n"
msgstr ""
-#: misc/mke2fs.c:2507
+#: misc/mke2fs.c:2505
msgid "reserved online resize blocks not supported on non-sparse filesystem"
msgstr ""
-#: misc/mke2fs.c:2516
+#: misc/mke2fs.c:2514
msgid "blocks per group count out of range"
msgstr ""
-#: misc/mke2fs.c:2538
+#: misc/mke2fs.c:2536
msgid "Flex_bg feature not enabled, so flex_bg size may not be specified"
msgstr ""
-#: misc/mke2fs.c:2550
+#: misc/mke2fs.c:2548
#, c-format
msgid "invalid inode size %d (min %d/max %d)"
msgstr ""
-#: misc/mke2fs.c:2565
+#: misc/mke2fs.c:2563
#, c-format
msgid "%d byte inodes are too small for inline data; specify larger size"
msgstr ""
-#: misc/mke2fs.c:2580
+#: misc/mke2fs.c:2578
#, c-format
msgid "too many inodes (%llu), raise inode ratio?"
msgstr ""
-#: misc/mke2fs.c:2587
+#: misc/mke2fs.c:2585
#, c-format
msgid "too many inodes (%llu), specify < 2^32 inodes"
msgstr ""
-#: misc/mke2fs.c:2601
+#: misc/mke2fs.c:2599
#, c-format
msgid ""
"inode_size (%u) * inodes_count (%u) too big for a\n"
@@ -5721,153 +5726,153 @@ msgid ""
"\tor lower inode count (-N).\n"
msgstr ""
-#: misc/mke2fs.c:2788
+#: misc/mke2fs.c:2786
msgid "Discarding device blocks: "
msgstr ""
-#: misc/mke2fs.c:2804
+#: misc/mke2fs.c:2802
msgid "failed - "
msgstr ""
-#: misc/mke2fs.c:2863
+#: misc/mke2fs.c:2861
msgid "while initializing quota context"
msgstr ""
-#: misc/mke2fs.c:2870
+#: misc/mke2fs.c:2868
msgid "while writing quota inodes"
msgstr ""
-#: misc/mke2fs.c:2895
+#: misc/mke2fs.c:2893
#, c-format
msgid "bad error behavior in profile - %s"
msgstr ""
-#: misc/mke2fs.c:2971
+#: misc/mke2fs.c:2969
msgid "in malloc for android_sparse_params"
msgstr ""
-#: misc/mke2fs.c:2985
+#: misc/mke2fs.c:2983
msgid "while setting up superblock"
msgstr ""
-#: misc/mke2fs.c:3001
+#: misc/mke2fs.c:2999
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:3008
+#: misc/mke2fs.c:3006
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:3016
+#: misc/mke2fs.c:3014
msgid "The metadata_csum_seed feature requires the metadata_csum feature.\n"
msgstr ""
-#: misc/mke2fs.c:3040
+#: misc/mke2fs.c:3038
msgid "Discard succeeded and will return 0s - skipping inode table wipe\n"
msgstr ""
-#: misc/mke2fs.c:3139
+#: misc/mke2fs.c:3137
#, c-format
msgid "unknown os - %s"
msgstr ""
-#: misc/mke2fs.c:3202
+#: misc/mke2fs.c:3200
msgid "Allocating group tables: "
msgstr ""
-#: misc/mke2fs.c:3210
+#: misc/mke2fs.c:3208
msgid "while trying to allocate filesystem tables"
msgstr ""
-#: misc/mke2fs.c:3219
+#: misc/mke2fs.c:3217
msgid ""
"\n"
"\twhile converting subcluster bitmap"
msgstr ""
-#: misc/mke2fs.c:3225
+#: misc/mke2fs.c:3223
#, c-format
msgid "%s may be further corrupted by superblock rewrite\n"
msgstr ""
-#: misc/mke2fs.c:3266
+#: misc/mke2fs.c:3264
#, c-format
msgid "while zeroing block %llu at end of filesystem"
msgstr ""
-#: misc/mke2fs.c:3279
+#: misc/mke2fs.c:3277
msgid "while reserving blocks for online resize"
msgstr ""
-#: misc/mke2fs.c:3291 misc/tune2fs.c:1504
+#: misc/mke2fs.c:3289 misc/tune2fs.c:1504
msgid "journal"
msgstr ""
-#: misc/mke2fs.c:3303
+#: misc/mke2fs.c:3301
#, c-format
msgid "Adding journal to device %s: "
msgstr ""
-#: misc/mke2fs.c:3310
+#: misc/mke2fs.c:3308
#, c-format
msgid ""
"\n"
"\twhile trying to add journal to device %s"
msgstr ""
-#: misc/mke2fs.c:3315 misc/mke2fs.c:3344 misc/mke2fs.c:3382
+#: misc/mke2fs.c:3313 misc/mke2fs.c:3342 misc/mke2fs.c:3380
#: misc/mk_hugefiles.c:600 misc/tune2fs.c:1533 misc/tune2fs.c:1552
msgid "done\n"
msgstr ""
-#: misc/mke2fs.c:3321
+#: misc/mke2fs.c:3319
msgid "Skipping journal creation in super-only mode\n"
msgstr ""
-#: misc/mke2fs.c:3331
+#: misc/mke2fs.c:3329
#, c-format
msgid "Creating journal (%u blocks): "
msgstr ""
-#: misc/mke2fs.c:3340
+#: misc/mke2fs.c:3338
msgid ""
"\n"
"\twhile trying to create journal"
msgstr ""
-#: misc/mke2fs.c:3352 misc/tune2fs.c:1133
+#: misc/mke2fs.c:3350 misc/tune2fs.c:1133
msgid ""
"\n"
"Error while enabling multiple mount protection feature."
msgstr ""
-#: misc/mke2fs.c:3357
+#: misc/mke2fs.c:3355
#, c-format
msgid "Multiple mount protection is enabled with update interval %d seconds.\n"
msgstr ""
-#: misc/mke2fs.c:3373
+#: misc/mke2fs.c:3371
msgid "Copying files into the device: "
msgstr ""
-#: misc/mke2fs.c:3379
+#: misc/mke2fs.c:3377
msgid "while populating file system"
msgstr ""
-#: misc/mke2fs.c:3386
+#: misc/mke2fs.c:3384
msgid "Writing superblocks and filesystem accounting information: "
msgstr ""
-#: misc/mke2fs.c:3393
+#: misc/mke2fs.c:3391
msgid "while writing out and closing file system"
msgstr ""
-#: misc/mke2fs.c:3396
+#: misc/mke2fs.c:3394
msgid ""
"done\n"
"\n"
@@ -6443,7 +6448,7 @@ msgstr ""
msgid "Resizing inodes could take some time."
msgstr ""
-#: misc/tune2fs.c:3010
+#: misc/tune2fs.c:3009
#, c-format
msgid ""
"Warning: The journal is dirty. You may wish to replay the journal like:\n"
@@ -6454,153 +6459,153 @@ msgid ""
"by journal recovery.\n"
msgstr ""
-#: misc/tune2fs.c:3021
+#: misc/tune2fs.c:3020
#, c-format
msgid "Recovering journal.\n"
msgstr ""
-#: misc/tune2fs.c:3040
+#: misc/tune2fs.c:3039
#, c-format
msgid "Setting maximal mount count to %d\n"
msgstr ""
-#: misc/tune2fs.c:3046
+#: misc/tune2fs.c:3045
#, c-format
msgid "Setting current mount count to %d\n"
msgstr ""
-#: misc/tune2fs.c:3051
+#: misc/tune2fs.c:3050
#, c-format
msgid "Setting error behavior to %d\n"
msgstr ""
-#: misc/tune2fs.c:3056
+#: misc/tune2fs.c:3055
#, c-format
msgid "Setting reserved blocks gid to %lu\n"
msgstr ""
-#: misc/tune2fs.c:3061
+#: misc/tune2fs.c:3060
#, c-format
msgid "interval between checks is too big (%lu)"
msgstr ""
-#: misc/tune2fs.c:3068
+#: misc/tune2fs.c:3067
#, c-format
msgid "Setting interval between checks to %lu seconds\n"
msgstr ""
-#: misc/tune2fs.c:3075
+#: misc/tune2fs.c:3074
#, c-format
msgid "Setting reserved blocks percentage to %g%% (%llu blocks)\n"
msgstr ""
-#: misc/tune2fs.c:3081
+#: misc/tune2fs.c:3080
#, c-format
msgid "reserved blocks count is too big (%llu)"
msgstr ""
-#: misc/tune2fs.c:3088
+#: misc/tune2fs.c:3087
#, c-format
msgid "Setting reserved blocks count to %llu\n"
msgstr ""
-#: misc/tune2fs.c:3093
+#: misc/tune2fs.c:3092
msgid ""
"\n"
"The filesystem already has sparse superblocks.\n"
msgstr ""
-#: misc/tune2fs.c:3096
+#: misc/tune2fs.c:3095
msgid ""
"\n"
"Setting the sparse superblock flag not supported\n"
"for filesystems with the meta_bg feature enabled.\n"
msgstr ""
-#: misc/tune2fs.c:3106
+#: misc/tune2fs.c:3105
#, c-format
msgid ""
"\n"
"Sparse superblock flag set. %s"
msgstr ""
-#: misc/tune2fs.c:3111
+#: misc/tune2fs.c:3110
msgid ""
"\n"
"Clearing the sparse superblock flag not supported.\n"
msgstr ""
-#: misc/tune2fs.c:3119
+#: misc/tune2fs.c:3118
#, c-format
msgid "Setting time filesystem last checked to %s\n"
msgstr ""
-#: misc/tune2fs.c:3125
+#: misc/tune2fs.c:3124
#, c-format
msgid "Setting reserved blocks uid to %lu\n"
msgstr ""
-#: misc/tune2fs.c:3157
+#: misc/tune2fs.c:3156
msgid "Error in using clear_mmp. It must be used with -f\n"
msgstr ""
-#: misc/tune2fs.c:3175
+#: misc/tune2fs.c:3174
msgid ""
"The quota feature may only be changed when the filesystem is unmounted.\n"
msgstr ""
-#: misc/tune2fs.c:3193
+#: misc/tune2fs.c:3192
msgid "Setting the UUID on this filesystem could take some time."
msgstr ""
-#: misc/tune2fs.c:3208
+#: misc/tune2fs.c:3207
msgid "The UUID may only be changed when the filesystem is unmounted.\n"
msgstr ""
-#: misc/tune2fs.c:3211
+#: misc/tune2fs.c:3210
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:3241
+#: misc/tune2fs.c:3240
msgid "Invalid UUID format\n"
msgstr ""
-#: misc/tune2fs.c:3257
+#: misc/tune2fs.c:3256
msgid "Need to update journal superblock.\n"
msgstr ""
-#: misc/tune2fs.c:3279
+#: misc/tune2fs.c:3278
msgid "The inode size may only be changed when the filesystem is unmounted.\n"
msgstr ""
-#: misc/tune2fs.c:3286
+#: misc/tune2fs.c:3285
msgid ""
"Changing the inode size not supported for filesystems with the flex_bg\n"
"feature enabled.\n"
msgstr ""
-#: misc/tune2fs.c:3304
+#: misc/tune2fs.c:3303
#, c-format
msgid "Setting inode size %lu\n"
msgstr ""
-#: misc/tune2fs.c:3308
+#: misc/tune2fs.c:3307
msgid "Failed to change inode size\n"
msgstr ""
-#: misc/tune2fs.c:3322
+#: misc/tune2fs.c:3321
#, c-format
msgid "Setting stride size to %d\n"
msgstr ""
-#: misc/tune2fs.c:3327
+#: misc/tune2fs.c:3326
#, c-format
msgid "Setting stripe width to %d\n"
msgstr ""
-#: misc/tune2fs.c:3334
+#: misc/tune2fs.c:3333
#, c-format
msgid "Setting extended default mount options to '%s'\n"
msgstr ""
@@ -7099,7 +7104,7 @@ msgid "Should never happen: resize inode corrupt!\n"
msgstr ""
#: lib/ext2fs/ext2_err.c:11
-msgid "EXT2FS Library version 1.45.5"
+msgid "EXT2FS Library version 1.45.6"
msgstr ""
#: lib/ext2fs/ext2_err.c:12
@@ -7814,6 +7819,10 @@ msgstr ""
msgid "Inode containing extended attribute value is corrupted"
msgstr ""
+#: lib/ext2fs/ext2_err.c:190
+msgid "Group descriptors not loaded"
+msgstr ""
+
#: lib/support/prof_err.c:11
msgid "Profile version 0.0"
msgstr ""
@@ -7938,68 +7947,68 @@ msgstr ""
msgid "Bad magic value in profile_file_data_t"
msgstr ""
-#: lib/support/plausible.c:118
+#: lib/support/plausible.c:114
#, c-format
-msgid "\tlast mounted on %s on %s"
+msgid "\tlast mounted on %.*s on %s"
msgstr ""
-#: lib/support/plausible.c:121
+#: lib/support/plausible.c:117
#, c-format
msgid "\tlast mounted on %s"
msgstr ""
-#: lib/support/plausible.c:124
+#: lib/support/plausible.c:120
#, c-format
msgid "\tcreated on %s"
msgstr ""
-#: lib/support/plausible.c:127
+#: lib/support/plausible.c:123
#, c-format
msgid "\tlast modified on %s"
msgstr ""
-#: lib/support/plausible.c:161
+#: lib/support/plausible.c:157
#, c-format
msgid "Found a %s partition table in %s\n"
msgstr ""
-#: 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 ""
-#: lib/support/plausible.c:199
+#: lib/support/plausible.c:195
#, c-format
msgid "Creating regular file %s\n"
msgstr ""
-#: lib/support/plausible.c:202
+#: lib/support/plausible.c:198
#, c-format
msgid "Could not open %s: %s\n"
msgstr ""
-#: lib/support/plausible.c:205
+#: lib/support/plausible.c:201
msgid ""
"\n"
"The device apparently does not exist; did you specify it correctly?\n"
msgstr ""
-#: lib/support/plausible.c:227
+#: lib/support/plausible.c:223
#, c-format
msgid "%s is not a block special device.\n"
msgstr ""
-#: lib/support/plausible.c:249
+#: lib/support/plausible.c:245
#, c-format
msgid "%s contains a %s file system labelled '%s'\n"
msgstr ""
-#: lib/support/plausible.c:252
+#: lib/support/plausible.c:248
#, c-format
msgid "%s contains a %s file system\n"
msgstr ""
-#: lib/support/plausible.c:276
+#: lib/support/plausible.c:272
#, c-format
msgid "%s contains `%s' data\n"
msgstr ""
diff --git a/po/ms.po b/po/ms.po
index ebee449cc..8944ea0d8 100644
--- a/po/ms.po
+++ b/po/ms.po
@@ -1,7 +1,7 @@
# e2fsprogs Bahasa Melayu (Malay) (ms).
-# Copyright (C) 2008, 2009, 2015, 2018, 2019 Theodore Tso (msgids)
+# Copyright (C) 2008, 2009, 2015, 2018, 2019, 2020 Theodore Tso (msgids)
# This file is distributed under the same license as the e2fsprogs package.
-# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2008, 2009, 2015, 2018, 2019.
+# Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>, 2008, 2009, 2015, 2018, 2019, 2020.
#
#. The strings in e2fsck's problem.c can be very hard to translate,
#. since the strings are expanded in two different ways. First of all,
@@ -77,7 +77,7 @@ msgstr ""
"Project-Id-Version: e2fsprogs 1.45.3\n"
"Report-Msgid-Bugs-To: tytso@alum.mit.edu\n"
"POT-Creation-Date: 2019-07-14 20:56-0400\n"
-"PO-Revision-Date: 2019-12-27 12:44+0800\n"
+"PO-Revision-Date: 2020-03-18 13:02+0800\n"
"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
@@ -86,7 +86,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Poedit 2.2.4\n"
+"X-Generator: Poedit 2.3\n"
#: e2fsck/badblocks.c:23 misc/mke2fs.c:220
#, c-format
@@ -132,10 +132,8 @@ msgid "Warning: illegal block %u found in bad block inode. Cleared.\n"
msgstr "Amaran: blok tidak sah %u terdapat di dalam blok inode buruk. Dibersihkan.\n"
#: e2fsck/dirinfo.c:331
-#, fuzzy
-#| msgid "while reading root inode"
msgid "while freeing dir_info tdb file"
-msgstr "Ralat apabila membaca fail."
+msgstr "ketika membebaskan fail dir_info tdb"
#: e2fsck/ehandler.c:55
#, c-format
@@ -170,7 +168,7 @@ msgstr "Ralat membaca blok %lu (%s) ketika %s. "
#: e2fsck/emptydir.c:57
#, fuzzy
msgid "empty dirblocks"
-msgstr "kosong"
+msgstr "Makro adalah kosong"
#: e2fsck/emptydir.c:62
#, fuzzy
@@ -205,7 +203,7 @@ msgstr "fail kosong biasa"
#: e2fsck/flushb.c:35
#, fuzzy, c-format
msgid "Usage: %s disk\n"
-msgstr "Penggunaan: %s [PILIHAN]\n"
+msgstr "Penggunaan: %s [-r] [-t]\n"
#: e2fsck/flushb.c:64
#, c-format
@@ -265,7 +263,7 @@ msgstr "%s: fail terlalu pendek untuk menjadi fail gmon\n"
#: e2fsck/journal.c:972 misc/fuse2fs.c:3792
#, fuzzy, c-format
msgid "%s: recovering journal\n"
-msgstr "ketika mendapatkan semula jurnal ext3 bagi %s"
+msgstr "%s adalah bukan peranti jurnal.\n"
#: e2fsck/journal.c:974
#, c-format
@@ -353,7 +351,7 @@ msgstr ""
#: e2fsck/message.c:133
#, fuzzy
msgid "llost+found"
-msgstr "\"%s\" tidak dijumpai"
+msgstr "/@l tidak dijumpai."
#: e2fsck/message.c:134
#, fuzzy
@@ -373,9 +371,8 @@ msgid "oorphaned"
msgstr ""
#: e2fsck/message.c:138
-#, fuzzy
msgid "pproblem in"
-msgstr "Sedang Diguna"
+msgstr "pproblem dalam"
#: e2fsck/message.c:139
msgid "qquota"
@@ -384,7 +381,7 @@ msgstr ""
#: e2fsck/message.c:140
#, fuzzy
msgid "rroot @i"
-msgstr "@u @z @i %i. "
+msgstr "<i>(tiada cadangan)</i>"
#: e2fsck/message.c:141
#, fuzzy
@@ -475,7 +472,7 @@ msgstr "direktori"
#: e2fsck/message.c:331
#, fuzzy
msgid "character device"
-msgstr "peranti tidak sah %s %s"
+msgstr "aksara tidak sah"
#: e2fsck/message.c:333
#, fuzzy
@@ -485,7 +482,7 @@ msgstr "%s adalah bukan peranti khas.\n"
#: e2fsck/message.c:335
#, fuzzy
msgid "named pipe"
-msgstr "fail dinamakan"
+msgstr "(paip)"
#: e2fsck/message.c:337
msgid "symbolic link"
@@ -532,7 +529,7 @@ msgstr "pengguna"
#: e2fsck/message.c:485
#, fuzzy
msgid "group"
-msgstr "tak dapat menukar ke kumpulan null"
+msgstr "Pemerihal kumpulan kelihatan buruk..."
#: e2fsck/message.c:488
msgid "project"
@@ -580,7 +577,7 @@ msgstr "membaca direktori %s"
#: e2fsck/pass1.c:1224
#, fuzzy
msgid "in-use inode map"
-msgstr "Tidak dapat memetakan nama \"%s\" ke menu\n"
+msgstr "Guna%"
#: e2fsck/pass1.c:1235
#, fuzzy
@@ -595,13 +592,13 @@ msgstr "fail kosong biasa"
#: e2fsck/pass1.c:1254 misc/e2image.c:1282
#, fuzzy
msgid "in-use block map"
-msgstr "Tidak dapat memetakan nama \"%s\" ke menu\n"
+msgstr "Peta terjemahan: sintaks tidak betul"
#: e2fsck/pass1.c:1263
#, fuzzy
#| msgid "meta-data blocks"
msgid "metadata block map"
-msgstr "Tidak dapat memetakan nama \"%s\" ke menu\n"
+msgstr "Peta terjemahan: sintaks tidak betul"
#: e2fsck/pass1.c:1325
#, fuzzy
@@ -635,7 +632,7 @@ msgstr "ketika menetapkan inod blok buruk"
#: e2fsck/pass1.c:2239
#, fuzzy
msgid "imagic inode map"
-msgstr "Tidak dapat memetakan nama \"%s\" ke menu\n"
+msgstr "Peta terjemahan: sintaks tidak betul"
#: e2fsck/pass1.c:2270
msgid "multiply claimed block map"
@@ -658,7 +655,7 @@ msgstr " Bitmap block di"
#: e2fsck/pass1.c:4066
#, fuzzy
msgid "inode bitmap"
-msgstr ", Bitmap inode di"
+msgstr "ketika menulis inod bitmap"
#: e2fsck/pass1.c:4072
#, fuzzy
@@ -680,7 +677,7 @@ msgstr ""
#: e2fsck/pass3.c:77
#, fuzzy
msgid "inode done bitmap"
-msgstr ", Bitmap inode di"
+msgstr "ketika menulis inod bitmap"
#: e2fsck/pass3.c:86
#, fuzzy
@@ -695,17 +692,17 @@ msgstr "Ulangan 3: Memeriksa sambungan @d\n"
#: e2fsck/pass3.c:344
#, fuzzy
msgid "inode loop detection bitmap"
-msgstr ", Bitmap inode di"
+msgstr "ketika menulis inod bitmap"
#: e2fsck/pass4.c:277
#, fuzzy
msgid "Pass 4"
-msgstr "Katalaluan tidak diketahui?!?"
+msgstr "--menunggu-- (lalu %d)\n"
#: e2fsck/pass5.c:79
#, fuzzy
msgid "Pass 5"
-msgstr "Katalaluan tidak diketahui?!?"
+msgstr "--menunggu-- (lalu %d)\n"
#: e2fsck/pass5.c:102
msgid "check_inode_bitmap_checksum: Memory allocation error"
@@ -752,7 +749,7 @@ msgstr "ketika mencipta /lost+found"
#: e2fsck/problem.c:59
#, fuzzy
msgid "Create"
-msgstr "tidak dapat mencipta paip"
+msgstr "tak dapat memcipta fail biasa %s"
#: e2fsck/problem.c:60
msgid "Salvage"
@@ -930,15 +927,13 @@ msgstr ""
#. @-expanded: block bitmap for group %g is not in group. (block %b)\n
#: e2fsck/problem.c:115
-#, fuzzy
msgid "@b @B for @g %g is not in @g. (@b %b)\n"
-msgstr "%s adalah nama hos yang tidak sah"
+msgstr "@b @B untuk @g %g tiada didalam @g. (@b %b)\n"
#. @-expanded: inode bitmap for group %g is not in group. (block %b)\n
#: e2fsck/problem.c:119
-#, fuzzy
msgid "@i @B for @g %g is not in @g. (@b %b)\n"
-msgstr "%s adalah nama hos yang tidak sah"
+msgstr "@i @B untuk @g %g tiada didalam @g. (@b %b)\n"
#. @-expanded: inode table for group %g is not in group. (block %b)\n
#. @-expanded: WARNING: SEVERE DATA LOSS POSSIBLE.\n
@@ -997,9 +992,8 @@ msgstr ""
#. @-expanded: superblock first_data_block = %b, should have been %c\n
#: e2fsck/problem.c:160
-#, fuzzy
msgid "@S first_data_@b = %b, should have been %c\n"
-msgstr " Semua data anda yang dipilih telah"
+msgstr "@S first_data_@b = %b, sepatutnya adalah %c\n"
#. @-expanded: filesystem did not have a UUID; generating one.\n
#. @-expanded: \n
@@ -1135,7 +1129,7 @@ msgstr "Fail Telah Ada dalam Senarai"
#: e2fsck/problem.c:281
#, fuzzy, no-c-format
msgid "@I @o @i %i in @S.\n"
-msgstr "@i %i (%Q) adalah @I FIFO.\n"
+msgstr "@A baru @d @b untuk @i %i (%s): %m\n"
#. @-expanded: illegal inode %i in orphaned inode list.\n
#: e2fsck/problem.c:287
@@ -1190,7 +1184,7 @@ msgstr ""
#: e2fsck/problem.c:325
#, fuzzy
msgid "Run @j anyway"
-msgstr "mke2fs dipaksa juga.\n"
+msgstr "ketika cuba untuk melaksana '%s'"
#. @-expanded: Recovery flag not set in backup superblock, so running journal anyway.\n
#: e2fsck/problem.c:330
@@ -1223,7 +1217,7 @@ msgstr ""
#: e2fsck/problem.c:352
#, fuzzy
msgid "Resize @i not valid. "
-msgstr "Tidak dapat mengubah saiz tetingkap suntingan"
+msgstr "ketika cuba untuk mengulangsaiz %s"
#. @-expanded: superblock last mount time (%t,\n
#. @-expanded: \tnow = %T) is in the future.\n
@@ -1401,7 +1395,7 @@ msgstr ""
#: e2fsck/problem.c:512
#, fuzzy
msgid "Invalid %U @q @i %i. "
-msgstr "@u @z @i %i. "
+msgstr "@i %i (%Q) adalah @I FIFO.\n"
#. @-expanded: superblock would have too many inodes (%N).\n
#: e2fsck/problem.c:517
@@ -1454,7 +1448,7 @@ msgstr ""
#: e2fsck/problem.c:562
#, fuzzy, no-c-format
msgid "@i %i is a @z @d. "
-msgstr "@u @z @i %i. "
+msgstr "/@l adalah bukan sejenis @d (ino=%i)\n"
#. @-expanded: group %g's block bitmap at %b conflicts with some other fs block.\n
#: e2fsck/problem.c:567
@@ -1614,7 +1608,7 @@ msgstr "&Cari Bantuan"
msgid "@A @b buffer for relocating %s\n"
msgstr ""
"\n"
-"Buffer tidak ditulis ke %s: %s\n"
+"Buffer ditulis ke %s\n"
#. @-expanded: Relocating group %g's %s from %b to %c...\n
#: e2fsck/problem.c:702
@@ -2289,7 +2283,9 @@ msgstr ""
#: e2fsck/problem.c:1344
#, fuzzy, no-c-format
msgid "Couldn't clone file: %m\n"
-msgstr "Tidak dapat membuka fail profil"
+msgstr ""
+"Tidak dapat membaiki induk untuk @i %i: %m\n"
+"\n"
#. @-expanded: Pass 1E: Optimizing extent trees\n
#: e2fsck/problem.c:1350
@@ -2308,7 +2304,7 @@ msgstr "Gagal untuk mengoptima direktori %q (%d): %m"
#, fuzzy
#| msgid "Optimizing directories: "
msgid "Optimizing @x trees: "
-msgstr "\t\tX: "
+msgstr "Mengoptimakan direktori"
#: e2fsck/problem.c:1376
msgid "Internal error: max extent tree depth too large (%b; expected=%c).\n"
@@ -2354,7 +2350,7 @@ msgstr ""
#: e2fsck/problem.c:1414
#, fuzzy
msgid "@E @L to '.' "
-msgstr "@E adalah salinan '.' @e.\n"
+msgstr "/@l tidak dijumpai."
#. @-expanded: entry '%Dn' in %p (%i) points to inode (%Di) located in a bad block.\n
#: e2fsck/problem.c:1419
@@ -2498,7 +2494,7 @@ msgstr ""
#: e2fsck/problem.c:1550
#, fuzzy, no-c-format
msgid "@A icount structure: %m\n"
-msgstr "Tidak dapat mengembang /@l: %m\n"
+msgstr "Jenis beg struktur PKCS tidak diketahui."
#. @-expanded: Error iterating over directory blocks: %m\n
#: e2fsck/problem.c:1556
@@ -2952,7 +2948,7 @@ msgstr ""
#: e2fsck/problem.c:1992
#, fuzzy
msgid "@a @i %i ref count is %N, @s %n. "
-msgstr "i_frag @F %N, @s sifar.\n"
+msgstr "i_fsize @F %N, @s sifar.\n"
#. @-expanded: directory exceeds max links, but no DIR_NLINK feature in superblock.\n
#: e2fsck/problem.c:1997
@@ -3099,9 +3095,7 @@ msgstr "DIABAIKAN"
#: e2fsck/quota.c:30 e2fsck/quota.c:37 e2fsck/quota.c:50 e2fsck/quota.c:59
#, fuzzy
msgid "in move_quota_inode"
-msgstr ""
-"\n"
-" Jadual inode di"
+msgstr "tak dapat pindahkan %s ke %s"
#: e2fsck/scantest.c:79
#, c-format
@@ -3222,7 +3216,7 @@ msgstr[0] "ketika menetapkan inod blok buruk"
#, fuzzy, c-format
msgid "%12u large file\n"
msgid_plural "%12u large files\n"
-msgstr[0] "%12u fifo\n"
+msgstr[0] "%s adalah terlalu besar"
#: e2fsck/unix.c:202
#, fuzzy, c-format
@@ -3232,19 +3226,19 @@ msgid ""
msgid_plural ""
"\n"
"%12u regular files\n"
-msgstr[0] "fail biasa"
+msgstr[0] "fail kosong biasa"
#: e2fsck/unix.c:204
#, fuzzy, c-format
msgid "%12u directory\n"
msgid_plural "%12u directories\n"
-msgstr[0] "%12u fifo\n"
+msgstr[0] "direktori"
#: e2fsck/unix.c:206
#, fuzzy, c-format
msgid "%12u character device file\n"
msgid_plural "%12u character device files\n"
-msgstr[0] "Fail \"%s\" adalah sebuah fail peranti"
+msgstr[0] "fail khas aksara"
#: e2fsck/unix.c:209
#, fuzzy, c-format
@@ -3262,7 +3256,7 @@ msgstr[0] "%12u fifo\n"
#, fuzzy, c-format
msgid "%12u link\n"
msgid_plural "%12u links\n"
-msgstr[0] "%12u fifo\n"
+msgstr[0] "Pautan ke %s\n"
#: e2fsck/unix.c:215
#, fuzzy, c-format
@@ -3280,13 +3274,13 @@ msgstr[0] "pautan simbolik"
#, fuzzy, c-format
msgid "%12u socket\n"
msgid_plural "%12u sockets\n"
-msgstr[0] "%12u fifo\n"
+msgstr[0] "soket"
#: e2fsck/unix.c:225
#, fuzzy, c-format
msgid "%12u file\n"
msgid_plural "%12u files\n"
-msgstr[0] "%12u fifo\n"
+msgstr[0] "Fail:"
#: e2fsck/unix.c:238 misc/badblocks.c:1002 misc/tune2fs.c:2986 misc/util.c:129
#: resize/main.c:354
@@ -3297,7 +3291,7 @@ msgstr "ketika menentukan sama ada %s telah dilekapkan."
#: e2fsck/unix.c:259
#, fuzzy, c-format
msgid "Warning! %s is mounted.\n"
-msgstr "\tterakhir dilekapkan pada %s pada %s"
+msgstr "\tterakhir dilekapkan pada %s"
#: e2fsck/unix.c:262
#, fuzzy, c-format
@@ -3314,7 +3308,7 @@ msgstr "%s dilekapkan;"
#, fuzzy, c-format
#| msgid "%s is mounted. "
msgid "%s is in use.\n"
-msgstr "opsyen `-%s' sudah luput; guna `-%c %.*s%.*s%s'"
+msgstr "Guna%"
#: e2fsck/unix.c:272
msgid ""
@@ -3408,7 +3402,7 @@ msgstr "Versi EA tidak sah.\n"
#, fuzzy
#| msgid "Invalid resize parameter: %s\n"
msgid "Invalid readahead buffer size.\n"
-msgstr "saiz blok tidak sah - %s"
+msgstr "Tidak dapat memperoleh saiz buffer paip"
#: e2fsck/unix.c:757
#, c-format
@@ -3498,7 +3492,7 @@ msgstr ""
msgid ""
"E2FSCK_JBD_DEBUG \"%s\" not an integer\n"
"\n"
-msgstr "`%s' adalah bukan integer positif yang sah"
+msgstr "integer diluar julat: %s"
#: e2fsck/unix.c:1151
#, fuzzy, c-format
@@ -3516,7 +3510,7 @@ msgstr ""
#: e2fsck/unix.c:1259 e2fsck/unix.c:1264
#, fuzzy
msgid "while checking MMP block"
-msgstr "ketika menulis bitmap blok"
+msgstr "ketika memeriksa kewarasan blok inode buruk"
#: e2fsck/unix.c:1266
#, c-format
@@ -3528,7 +3522,7 @@ msgstr ""
#: e2fsck/unix.c:1282
#, fuzzy
msgid "while reading MMP block"
-msgstr "ketika menulis bitmap blok"
+msgstr "Ralat apabila membaca fail."
#: 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
@@ -3637,7 +3631,7 @@ msgstr ""
#: e2fsck/unix.c:1749
#, fuzzy, c-format
msgid "while checking journal for %s"
-msgstr "ketika mendapatkan semula jurnal ext3 bagi %s"
+msgstr "ketika mengosongkan inod jurnal"
#: e2fsck/unix.c:1752
#, fuzzy
@@ -3664,13 +3658,13 @@ msgstr "Superblok jurnal tidak dijumpai!\n"
#, fuzzy, c-format
#| msgid "Journal removed\n"
msgid "Journal corrupted in %s\n"
-msgstr "jurnal"
+msgstr "Menambah jurnal ke peranti %s:"
#: e2fsck/unix.c:1789
#, fuzzy, c-format
#| msgid "while recovering ext3 journal of %s"
msgid "while recovering journal of %s"
-msgstr "ketika mendapatkan semula jurnal ext3 bagi %s"
+msgstr "ketika membaca superblok jurnal"
#: e2fsck/unix.c:1811
#, c-format
@@ -3755,7 +3749,7 @@ msgstr ""
#, fuzzy, c-format
#| msgid "%s: ***** REBOOT LINUX *****\n"
msgid "%s: ***** REBOOT SYSTEM *****\n"
-msgstr "%s: ***** ULANGBOOT LINUX *****\n"
+msgstr "(dan ulangboot selepas itu!)\n"
#: e2fsck/unix.c:2050 e2fsck/util.c:77
#, c-format
@@ -3794,7 +3788,7 @@ msgstr "Tiada"
#: e2fsck/util.c:223
#, fuzzy
msgid " (y/n)"
-msgstr "Teruskan juga? (y,t)"
+msgstr "\t\tY: "
#: e2fsck/util.c:246
msgid "cancelled!\n"
@@ -3896,7 +3890,7 @@ msgstr "masa lepas: %6.3f\n"
#: e2fsck/util.c:495 e2fsck/util.c:509
#, fuzzy, c-format
msgid "while reading inode %lu in %s"
-msgstr "Ralat membaca blok %lu (%s) ketika %s. "
+msgstr "ketika membaca inod jurnal"
#: e2fsck/util.c:523 e2fsck/util.c:536
#, fuzzy, c-format
@@ -3910,7 +3904,7 @@ msgstr ""
#: misc/badblocks.c:75
#, fuzzy
msgid "done \n"
-msgstr "selesai \n"
+msgstr "selesai \n"
#: misc/badblocks.c:100
#, c-format
@@ -3941,7 +3935,7 @@ msgstr "Gagal untuk mendapatkan data rawak."
#: misc/badblocks.c:355
#, fuzzy
msgid "Testing with pattern 0x"
-msgstr "Corak"
+msgstr "Tiada corak carian semasa"
#: misc/badblocks.c:387 misc/badblocks.c:460
msgid "during seek"
@@ -4097,7 +4091,7 @@ msgstr "ketika membaca dalam senarai blok buruk dari fail"
#: misc/badblocks.c:1305
#, fuzzy
msgid "input file - bad format"
-msgstr "fail masukan mengecil"
+msgstr "%s: fail input adalah fail output"
#: misc/badblocks.c:1313 misc/badblocks.c:1322
msgid "while adding to in-memory bad block list"
@@ -4203,7 +4197,7 @@ msgstr "ketika menulis jadual inod"
#: misc/create_inode.c:152 misc/create_inode.c:176
#, fuzzy, c-format
msgid "while listing attributes of \"%s\""
-msgstr "tak dapat menyenaraikan direktori tersedia-tersenarai: %s"
+msgstr "gagal mendapatkan atribut bagi %s"
#: misc/create_inode.c:163
#, fuzzy, c-format
@@ -4243,7 +4237,7 @@ msgstr "ketika mengumpukkan penimbal"
#: misc/create_inode.c:294
#, fuzzy, c-format
msgid "while creating inode \"%s\""
-msgstr "ketika mencipta direktori root"
+msgstr "Mencipta inode jurnal:"
#: misc/create_inode.c:360
#, fuzzy, c-format
@@ -4277,29 +4271,29 @@ msgstr ""
#, fuzzy, c-format
#| msgid "while creating root dir"
msgid "while scanning directory \"%s\""
-msgstr "ketika menetapkan versi pada %s"
+msgstr "ketika cuba untuk memadam %s"
#: misc/create_inode.c:825
#, fuzzy, c-format
#| msgid "while trying to stat %s"
msgid "while lstat \"%s\""
-msgstr "tak dapat lstat %s"
+msgstr "ketika membuka %s"
#: misc/create_inode.c:875
#, fuzzy, c-format
msgid "while creating special file \"%s\""
-msgstr "Mencipta fail biasa %s\n"
+msgstr "tak boleh mencipta fail istimewa %s"
#: misc/create_inode.c:884
#, fuzzy
msgid "malloc failed"
-msgstr "malloc() gagal. Tidak dapat memperuntukkan memori yang cukup."
+msgstr "Gagal"
#: misc/create_inode.c:892
#, fuzzy, c-format
#| msgid "while trying to resize %s"
msgid "while trying to read link \"%s\""
-msgstr "ketika cuba untuk memadam %s"
+msgstr "tak dapat membaca pautan simbolik %s"
#: misc/create_inode.c:899
msgid "symlink increased in size between lstat() and readlink()"
@@ -4313,7 +4307,7 @@ msgstr "ketika menulis jadual inod"
#: misc/create_inode.c:921
#, fuzzy, c-format
msgid "while writing file \"%s\""
-msgstr "Ralat menulis fail sementara: %s"
+msgstr "Ralat menulis fail salinan %s: %s"
#: misc/create_inode.c:934
#, fuzzy, c-format
@@ -4431,7 +4425,7 @@ msgstr ""
#, fuzzy
#| msgid ", Inode bitmap at "
msgid " Inode bitmap at "
-msgstr ", Bitmap inode di"
+msgstr "ketika menulis inod bitmap"
#: misc/dumpe2fs.c:273
msgid ""
@@ -4478,12 +4472,12 @@ msgstr "ketika membaca inod jurnal"
#: misc/dumpe2fs.c:379
#, fuzzy
msgid "while opening journal inode"
-msgstr "ketika mengosongkan inod jurnal"
+msgstr "ketika membaca inod jurnal"
#: misc/dumpe2fs.c:385
#, fuzzy
msgid "while reading journal super block"
-msgstr "ketika membaca superblok jurnal"
+msgstr "ketika membaca inod jurnal"
#: misc/dumpe2fs.c:392
#, fuzzy
@@ -4573,7 +4567,7 @@ msgstr ""
#: misc/e2image.c:110
#, fuzzy, c-format
msgid " %s -I device image-file\n"
-msgstr "_Kerangka pada fail imej:"
+msgstr "\"%s\" adalah sebuah fail peranti"
#: misc/e2image.c:111
#, c-format
@@ -4599,7 +4593,7 @@ msgstr "ketika menulis bitmap blok"
#: misc/e2image.c:198
#, fuzzy
msgid "error in generic_write()"
-msgstr "Penghurai ASN1: Ralat menghurai generik."
+msgstr "ralat menulis"
#: misc/e2image.c:215
msgid "Error: header size is bigger than wrt_size\n"
@@ -4639,7 +4633,7 @@ msgstr ""
#: misc/e2image.c:568
#, fuzzy, c-format
msgid "%llu / %llu blocks (%d%%)"
-msgstr "inod (%llu) mesti kurang dari %u"
+msgstr "inode (%llu) mesti kurang dari %u"
#: misc/e2image.c:599 misc/e2image.c:639
#, fuzzy
@@ -4774,7 +4768,7 @@ msgstr ""
#: misc/e2image.c:1596
#, fuzzy
msgid "checking if mounted"
-msgstr " Dilekapkan pada\n"
+msgstr "Dilekapkan pada"
#: misc/e2image.c:1603
msgid ""
@@ -4791,22 +4785,22 @@ msgstr ""
#: misc/e2image.c:1663
#, fuzzy
msgid "Can not stat output\n"
-msgstr "ketika cuba untuk stat %s"
+msgstr "Keluaran:\n"
#: misc/e2image.c:1673
#, fuzzy, c-format
msgid "Image (%s) is compressed\n"
-msgstr "Imej"
+msgstr "Terdapat ralat memuatkan gambar bulan: %s"
#: misc/e2image.c:1676
#, fuzzy, c-format
msgid "Image (%s) is encrypted\n"
-msgstr "_Kerangka pada fail imej:"
+msgstr "Terdapat ralat memuatkan gambar bulan: %s"
#: misc/e2image.c:1679
#, fuzzy, c-format
msgid "Image (%s) is corrupted\n"
-msgstr "_Kerangka pada fail imej:"
+msgstr "Terdapat ralat memuatkan gambar bulan: %s"
#: misc/e2image.c:1683
#, c-format
@@ -4858,7 +4852,7 @@ msgstr "e2label: ralat membaca superblok\n"
#: misc/e2label.c:72
#, fuzzy, c-format
msgid "e2label: not an ext2 filesystem\n"
-msgstr "Sistem fail "
+msgstr "sistemfail"
#: misc/e2label.c:97 misc/tune2fs.c:3117
#, c-format
@@ -4927,7 +4921,7 @@ msgstr ""
#: misc/e2undo.c:340
#, fuzzy, c-format
msgid "illegal offset - %s"
-msgstr "%s: opsyen tidak dibenarkan -- %c\n"
+msgstr "%s: pilihan salah -- %c\n"
#: misc/e2undo.c:364
#, c-format
@@ -4980,7 +4974,7 @@ msgstr ""
#, fuzzy, c-format
#| msgid "Error while determining whether %s is mounted.\n"
msgid "Error while determining whether %s is mounted."
-msgstr "Ralat ketika menentukan sama ada %s telah dilekapkan.\n"
+msgstr "ketika menentukan sama ada %s telah dilekapkan."
#: misc/e2undo.c:439
msgid "e2undo should only be run on unmounted filesystems"
@@ -5100,7 +5094,7 @@ msgstr ""
msgid ""
"\n"
"%11Lu: finished with errno %d\n"
-msgstr "Program tempatan [%d] selesai."
+msgstr "Selesai dengan %s (status keluar %d)\n"
#: misc/fsck.c:343
#, c-format
@@ -5249,7 +5243,7 @@ msgstr ""
#, fuzzy, c-format
#| msgid "Usage: %s [-RVadlv] [files...]\n"
msgid "Usage: %s [-RVadlpv] [files...]\n"
-msgstr "Penggunaan: %s [-RVadlv] [fail...]\n"
+msgstr "Penggunaan: %s [PILIHAN]... FAIL\n"
#: misc/lsattr.c:86
#, c-format
@@ -5428,7 +5422,7 @@ msgstr "Label sistemfail=%s\n"
#: misc/mke2fs.c:681
#, fuzzy, c-format
msgid "OS type: %s\n"
-msgstr "Jenis OS:"
+msgstr "OS tidak diketahui - %s"
#: misc/mke2fs.c:683
#, c-format
@@ -5453,7 +5447,7 @@ msgstr ""
#: misc/mke2fs.c:694
#, fuzzy, c-format
msgid "%u inodes, %llu blocks\n"
-msgstr "inod (%llu) mesti kurang dari %u"
+msgstr "inode (%llu) mesti kurang dari %u"
#: misc/mke2fs.c:696
#, c-format
@@ -5513,7 +5507,7 @@ msgstr ""
#: misc/mke2fs.c:822
#, fuzzy, c-format
msgid "%s requires '-O 64bit'\n"
-msgstr "Pilihan \"%s\" memerlukan hujah"
+msgstr "%s: pilihan `%s' memerlukan hujah\n"
#: misc/mke2fs.c:828
#, c-format
@@ -5544,7 +5538,7 @@ msgstr "jarakmasa `%s' tidak sah"
#, fuzzy, c-format
#| msgid "Invalid superblock parameter: %s\n"
msgid "Invalid # of backup superblocks: %s\n"
-msgstr "tak dapat backup %s"
+msgstr "%s: Tak dapat backup fail ini"
#: misc/mke2fs.c:920
#, c-format
@@ -5572,7 +5566,7 @@ msgstr ""
#: misc/mke2fs.c:1015 misc/mke2fs.c:1024
#, fuzzy, c-format
msgid "Invalid root_owner: '%s'\n"
-msgstr "Pemilik tidak sah"
+msgstr "Ralat mencipta root @d (%s): %m\n"
#: misc/mke2fs.c:1069
#, fuzzy, c-format
@@ -5691,7 +5685,7 @@ msgstr ""
#: misc/mke2fs.c:1661
#, fuzzy, c-format
msgid "invalid cluster size - %s"
-msgstr "saiz pecahan tidak sah - %s"
+msgstr "saiz blok tidak sah - %s"
#: misc/mke2fs.c:1674
msgid "'-R' is deprecated, use '-E' instead"
@@ -6047,7 +6041,7 @@ msgstr " Blok bebas: "
#: misc/mke2fs.c:2804
#, fuzzy
msgid "failed - "
-msgstr "GAGAL"
+msgstr "Gagal"
#: misc/mke2fs.c:2863
#, fuzzy
@@ -6182,7 +6176,7 @@ msgstr "Mengosongkan peranti jurnal:"
#: misc/mke2fs.c:3379
#, fuzzy
msgid "while populating file system"
-msgstr "Ralat apabila membaca fail."
+msgstr "Abai fail tetapan sistem"
#: misc/mke2fs.c:3386
msgid "Writing superblocks and filesystem accounting information: "
@@ -6214,7 +6208,7 @@ msgstr ""
#: misc/mk_hugefiles.c:583
#, fuzzy
msgid "Huge files will be zero'ed\n"
-msgstr " %d fail,"
+msgstr "Ke Fail"
#: misc/mk_hugefiles.c:584
#, fuzzy, c-format
@@ -6366,7 +6360,7 @@ msgstr "enable/disable"
#: misc/tune2fs.c:497
#, fuzzy, c-format
msgid "' to disable 64-bit mode.\n"
-msgstr "enable/disable"
+msgstr "MOD"
#: misc/tune2fs.c:1035
msgid ""
@@ -6433,7 +6427,7 @@ msgstr ""
#: misc/tune2fs.c:1174
#, fuzzy
msgid "while reading MMP block."
-msgstr "ketika menulis bitmap blok"
+msgstr "Ralat apabila membaca fail."
#: misc/tune2fs.c:1206
msgid ""
@@ -6699,7 +6693,7 @@ msgstr ""
#: misc/tune2fs.c:2622
#, fuzzy
msgid "Failed to read inode bitmap\n"
-msgstr ", Bitmap inode di"
+msgstr "ketika menulis inod bitmap"
#: misc/tune2fs.c:2627
#, fuzzy
@@ -6780,7 +6774,7 @@ msgstr ""
#: misc/tune2fs.c:3009
#, fuzzy, c-format
msgid "Recovering journal.\n"
-msgstr "ketika mendapatkan semula jurnal ext3 bagi %s"
+msgstr "jurnal"
#: misc/tune2fs.c:3028
#, c-format
@@ -6911,7 +6905,7 @@ msgstr "Menetapkan saiz inod %lu\n"
#: misc/tune2fs.c:3296
#, fuzzy
msgid "Failed to change inode size\n"
-msgstr "saiz inode tidak sah - %s"
+msgstr "gagal menukar hakmilik %s ke %s\n"
#: misc/tune2fs.c:3310
#, c-format
@@ -7040,12 +7034,12 @@ msgstr "Sijil buruk"
#: misc/uuidd.c:173
#, fuzzy
msgid "connect"
-msgstr "IDENT: connect() gagal: %s."
+msgstr "IDENT: connect() gagal"
#: misc/uuidd.c:192
#, fuzzy
msgid "write"
-msgstr "Tidak dapat menulis salinan: %s"
+msgstr "Tidak dapat menulis diluar daripada %s"
#: misc/uuidd.c:200
#, fuzzy
@@ -7055,7 +7049,7 @@ msgstr "Kiraan Perkataan"
#: misc/uuidd.c:206
#, fuzzy
msgid "bad response length"
-msgstr "\t\t\tKekangan Panjang Laluan: %d\n"
+msgstr "panjang pita tidak sah"
#: misc/uuidd.c:271
#, c-format
@@ -7090,7 +7084,7 @@ msgstr ""
#: misc/uuidd.c:381
#, fuzzy, c-format
msgid "Generated time UUID: %s\n"
-msgstr "tak memperolehi setem masa bagi %s"
+msgstr "masa dalam %s: %ld.%06ld (%ld%%)\n"
#: misc/uuidd.c:391
#, c-format
@@ -7111,7 +7105,7 @@ msgstr "Format UUID tidak sah\n"
#: misc/uuidd.c:433
#, fuzzy, c-format
msgid "Invalid operation %d\n"
-msgstr "nilai $ tidak sah: %d"
+msgstr "Nyahbuat tindakan terakhir"
#: misc/uuidd.c:477 misc/uuidd.c:499
#, fuzzy, c-format
@@ -7232,7 +7226,7 @@ msgstr ""
#: resize/main.c:507
#, fuzzy, c-format
msgid "Invalid new size: %s\n"
-msgstr "saiz inode tidak sah - %s"
+msgstr "saiz blok tidak sah - %s"
#: resize/main.c:526
msgid "New size too large to be expressed in 32 bits\n"
@@ -7297,12 +7291,12 @@ msgstr "Sistemfail telah mempunyai jurnal.\n"
#: resize/main.c:613
#, fuzzy, c-format
msgid "Converting the filesystem to 64-bit.\n"
-msgstr "Sistem fail "
+msgstr "sistemfail"
#: resize/main.c:615
#, fuzzy, c-format
msgid "Converting the filesystem to 32-bit.\n"
-msgstr "Sistem fail "
+msgstr "sistemfail"
#: resize/main.c:617
#, c-format
@@ -7404,7 +7398,7 @@ msgstr ""
#, fuzzy, c-format
#| msgid "inodes (%llu) must be less than %u"
msgid "inodes (%llu) must be less than %u\n"
-msgstr "inod (%llu) mesti kurang dari %u"
+msgstr "inode (%llu) mesti kurang dari %u"
#: resize/resize2fs.c:1038
msgid "reserved blocks"
@@ -7550,12 +7544,12 @@ msgstr ""
#: lib/ext2fs/ext2_err.c:38
#, fuzzy
msgid "Can't write an inode bitmap"
-msgstr ", Bitmap inode di"
+msgstr "Tidak dapat menulis diluar daripada %s"
#: lib/ext2fs/ext2_err.c:39
#, fuzzy
msgid "Can't read an inode bitmap"
-msgstr ", Bitmap inode di"
+msgstr "ketika menulis inod bitmap"
#: lib/ext2fs/ext2_err.c:40
#, fuzzy
@@ -7570,9 +7564,7 @@ msgstr " Bitmap block di"
#: lib/ext2fs/ext2_err.c:42
#, fuzzy
msgid "Can't write an inode table"
-msgstr ""
-"\n"
-" Jadual inode di"
+msgstr "Tidak dapat menulis diluar daripada %s"
#: lib/ext2fs/ext2_err.c:43
#, fuzzy
@@ -7606,12 +7598,12 @@ msgstr ""
#: lib/ext2fs/ext2_err.c:49
#, fuzzy
msgid "No free space in the directory"
-msgstr "ruang (i.e., ` ')"
+msgstr "direktori"
#: lib/ext2fs/ext2_err.c:50
#, fuzzy
msgid "Inode bitmap not loaded"
-msgstr ", Bitmap inode di"
+msgstr "ketika menulis inod bitmap"
#: lib/ext2fs/ext2_err.c:51
#, fuzzy
@@ -7776,7 +7768,7 @@ msgstr "Terlalu banyak ralat, keluar"
#: lib/ext2fs/ext2_err.c:87
#, fuzzy
msgid "File not found by ext2_lookup"
-msgstr "Ralat ditemui dalam fail .nanorc"
+msgstr "/@l tidak dijumpai."
#: lib/ext2fs/ext2_err.c:88
#, fuzzy
@@ -7791,7 +7783,7 @@ msgstr "Menulis bitmap blok"
#: lib/ext2fs/ext2_err.c:90
#, fuzzy
msgid "Ext2 directory already exists"
-msgstr "Seksyen telah wujud"
+msgstr "%s wujud tapi ianya bukan direktori"
#: lib/ext2fs/ext2_err.c:91
msgid "Unimplemented ext2 library function"
@@ -7800,7 +7792,7 @@ msgstr ""
#: lib/ext2fs/ext2_err.c:92
#, fuzzy
msgid "User cancel requested"
-msgstr "pengguna"
+msgstr "Batal"
#: lib/ext2fs/ext2_err.c:93
#, fuzzy
@@ -7862,7 +7854,7 @@ msgstr " Penghurai kumpulan di"
#: lib/ext2fs/ext2_err.c:105
#, fuzzy
msgid "Resize inode is corrupt"
-msgstr "Tidak dapat mengubah saiz tetingkap bawah"
+msgstr "ketika cuba untuk mengulangsaiz %s"
#: lib/ext2fs/ext2_err.c:106
msgid "Tried to set block bmap with missing indirect block"
@@ -7871,22 +7863,22 @@ msgstr ""
#: lib/ext2fs/ext2_err.c:107
#, fuzzy
msgid "TDB: Success"
-msgstr "tdb_fetch %s gagal\n"
+msgstr "Berjaya."
#: lib/ext2fs/ext2_err.c:108
#, fuzzy
msgid "TDB: Corrupt database"
-msgstr "tdb_fetch %s gagal\n"
+msgstr "Pengkalan data tidak dinyatakan"
#: lib/ext2fs/ext2_err.c:109
#, fuzzy
msgid "TDB: IO Error"
-msgstr "tdb_open %s gagal\n"
+msgstr "ralat"
#: lib/ext2fs/ext2_err.c:110
#, fuzzy
msgid "TDB: Locking error"
-msgstr "tdb_open %s gagal\n"
+msgstr "Ralat decode"
#: lib/ext2fs/ext2_err.c:111
#, fuzzy
@@ -7896,7 +7888,7 @@ msgstr "nano tidak cukup memori!"
#: lib/ext2fs/ext2_err.c:112
#, fuzzy
msgid "TDB: Record exists"
-msgstr "tdb_open %s gagal\n"
+msgstr "Rekod melimpah"
#: lib/ext2fs/ext2_err.c:113
msgid "TDB: Lock exists on other keys"
@@ -7915,7 +7907,7 @@ msgstr "pengguna %s tidak wujud"
#: lib/ext2fs/ext2_err.c:116
#, fuzzy
msgid "TDB: Write not permitted"
-msgstr "tdb_fetch %s gagal\n"
+msgstr "Tidak dapat menulis diluar daripada %s"
#: lib/ext2fs/ext2_err.c:117
#, fuzzy
@@ -8018,7 +8010,7 @@ msgstr "# Loggokan extent:\n"
#: lib/ext2fs/ext2_err.c:138
#, fuzzy
msgid "No 'down' extent"
-msgstr "Turun"
+msgstr "Skrol Bawah"
#: lib/ext2fs/ext2_err.c:139
#, fuzzy
@@ -8050,7 +8042,7 @@ msgstr ""
#: lib/ext2fs/ext2_err.c:145
#, fuzzy
msgid "Extent length is invalid"
-msgstr "panjang konteks `%s' tidak sah"
+msgstr "Panjang stride tidak sah"
#: lib/ext2fs/ext2_err.c:146
msgid "I/O Channel does not support 64-bit block numbers"
@@ -8067,7 +8059,7 @@ msgstr ""
#: lib/ext2fs/ext2_err.c:149
#, fuzzy
msgid "MMP: invalid magic number"
-msgstr "jumlah hujah tidak sah"
+msgstr "nombor versi tidak sah `%s'"
#: lib/ext2fs/ext2_err.c:150
msgid "MMP: device currently active"
@@ -8139,7 +8131,7 @@ msgstr "Perkara yang sama bagi hujah pilihan.\n"
#: lib/ext2fs/ext2_err.c:166
#, fuzzy
msgid "Ext2 file already exists"
-msgstr "Seksyen telah wujud"
+msgstr "Fail `%s' telah pun dibaca.\n"
#: lib/ext2fs/ext2_err.c:167
#, fuzzy
@@ -8208,33 +8200,27 @@ msgstr ""
#: lib/ext2fs/ext2_err.c:182
#, fuzzy
msgid "Journal flags inconsistent"
-msgstr "jurnal"
+msgstr "ketika membaca penanda pada %s"
#: lib/ext2fs/ext2_err.c:183
-#, fuzzy
msgid "Undo file corrupt"
-msgstr "Nyahbuat"
+msgstr "Undur fail yang rosak"
#: lib/ext2fs/ext2_err.c:184
-#, fuzzy
msgid "Wrong undo file for this filesystem"
-msgstr "Penggunaan: %s <fail transaksi> <sistemfail>\n"
+msgstr "Fail undur yang salah untuk sistem fail ini"
#: lib/ext2fs/ext2_err.c:185
-#, fuzzy
msgid "File system is corrupted"
-msgstr ""
-"\n"
-"%s: ***** SISTEM FAIL TELAH DIUBAHSUAI *****\n"
+msgstr "Sistem fail rosak"
#: lib/ext2fs/ext2_err.c:186
msgid "Bad CRC detected in file system"
msgstr ""
#: lib/ext2fs/ext2_err.c:187
-#, fuzzy
msgid "The journal superblock is corrupt"
-msgstr "ketika membaca superblok jurnal"
+msgstr "Superblock jurnal ini rosak"
#: lib/ext2fs/ext2_err.c:188
msgid "Inode is corrupted"
@@ -8298,7 +8284,7 @@ msgstr ""
#: lib/support/prof_err.c:24
msgid "Profile section header not at top level"
-msgstr ""
+msgstr "Profail seksyen pengepala tidak di peringkat tertinggi"
#: lib/support/prof_err.c:25
msgid "Syntax error in profile section header"
diff --git a/resize/Android.bp b/resize/Android.bp
index d55e24c21..8acdcf620 100644
--- a/resize/Android.bp
+++ b/resize/Android.bp
@@ -1,10 +1,16 @@
// Copyright 2017 The Android Open Source Project
-cc_binary {
- name: "resize2fs",
- host_supported: true,
- defaults: ["e2fsprogs-defaults"],
+resize2fs_libs = [
+ "libext2fs",
+ "libext2_com_err",
+ "libext2_e2p",
+ "libext2_uuid",
+ "libext2_blkid",
+]
+cc_defaults {
+ name: "resize2fs-defaults",
+ defaults: ["e2fsprogs-defaults"],
srcs: [
"extent.c",
"resize2fs.c",
@@ -13,12 +19,32 @@ cc_binary {
"sim_progress.c",
"resource_track.c",
],
- shared_libs: [
- "libext2fs",
- "libext2_com_err",
- "libext2_e2p",
- "libext2_uuid",
- "libext2_blkid",
- ],
+}
+
+cc_binary {
+ name: "resize2fs",
+ host_supported: true,
+ defaults: ["resize2fs-defaults"],
+
+ // Host binaries can be compiled statically to be re-used in other environments.
+ // For android binaries, we keep shared libraries to keep the binary size smaller.
+ target: {
+ host: {
+ static_libs: resize2fs_libs,
+ },
+ android: {
+ shared_libs: resize2fs_libs,
+ },
+ },
system_shared_libs: ["libc", "libdl"],
}
+
+cc_binary {
+ name: "resize2fs_ramdisk",
+ stem: "resize2fs",
+ static_executable: true,
+ ramdisk: true,
+ defaults: ["resize2fs-defaults"],
+ system_shared_libs: [],
+ static_libs: resize2fs_libs,
+}
diff --git a/util/android_types.h b/util/android_types.h
index a8d7cff1f..5f05903da 100644
--- a/util/android_types.h
+++ b/util/android_types.h
@@ -4,8 +4,8 @@
* also defined the types that we need.
*/
#if (!defined(_LINUX_TYPES_H) && !defined(_BLKID_TYPES_H) && \
- !defined(_EXT2_TYPES_H))
-#define _EXT2_TYPES_H
+ !defined(_EXT2_TYPES_H) && !defined(_UUID_TYPES_H))
+#define _LINUX_TYPES_H
typedef unsigned char __u8;
typedef __signed__ char __s8;
diff --git a/util/gen-android-files b/util/gen-android-files
index 937496bca..cab4e8d4b 100755
--- a/util/gen-android-files
+++ b/util/gen-android-files
@@ -37,9 +37,16 @@ rm -f $MK_CMDS
cp lib/blkid/blkid.h.in lib/blkid/blkid.h
cp lib/uuid/uuid.h.in lib/uuid/uuid.h
+
cp util/android_types.h lib/ext2fs/ext2_types.h
cp util/android_types.h lib/blkid/blkid_types.h
cp util/android_types.h lib/uuid/uuid_types.h
+# Copied header files having exactly same content results in debug output
+# differences on RBE. Hence modify the #define's appropriately.
+sed -i 's/#define _LINUX_TYPES_H/#define _BLKID_TYPES_H/g' lib/blkid/blkid_types.h
+sed -i 's/#define _LINUX_TYPES_H/#define _EXT2_TYPES_H/g' lib/ext2fs/ext2_types.h
+sed -i 's/#define _LINUX_TYPES_H/#define _UUID_TYPES_H/g' lib/uuid/uuid_types.h
+
cp util/android_config.h lib/config.h
cp misc/e2freefrag.c debugfs/
cp e2fsck/recovery.c e2fsck/revoke.c debugfs/
diff --git a/version.h b/version.h
index da06950e0..48ff9b695 100644
--- a/version.h
+++ b/version.h
@@ -8,4 +8,4 @@
*/
#define E2FSPROGS_VERSION "1.46-WIP"
-#define E2FSPROGS_DATE "09-Oct-2019"
+#define E2FSPROGS_DATE "20-Mar-2020"